diff --git a/html/tutorial2/MyApp.java b/html/tutorial2/MyApp.java index 95006cd25bc9be5fa8597acc634f70a0c2c3c1af..1862ba6f24fd2ca85fb1757a3b30b20052e49f5c 100644 --- a/html/tutorial2/MyApp.java +++ b/html/tutorial2/MyApp.java @@ -38,6 +38,7 @@ import fr.inrialpes.exmo.align.impl.URIAlignment; import fr.inrialpes.exmo.align.impl.BasicAlignment; import fr.inrialpes.exmo.align.impl.method.StringDistAlignment; import fr.inrialpes.exmo.align.impl.renderer.OWLAxiomsRendererVisitor; +import fr.inrialpes.exmo.align.util.NullStream; import fr.inrialpes.exmo.align.parser.AlignmentParser; // Jena @@ -96,6 +97,7 @@ import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.InputStream; import java.io.FileInputStream; +import java.io.PrintStream; import java.io.FileNotFoundException; import java.io.ByteArrayInputStream; import java.io.StringReader; @@ -296,6 +298,8 @@ public class MyApp { OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); Reasoner reasoner = new Reasoner( manager ); + //Does not seem to work + //System.setErr( new PrintStream( new NullStream() ) ); // Load the ontology try { OWLOntology ontology = manager.loadOntology( URI.create( "file://"+tempOntoFileName ) ); @@ -303,16 +307,16 @@ public class MyApp { } catch (OWLOntologyCreationException ooce) { ooce.printStackTrace(); } // get the instances of a class - OWLClass person = manager.getOWLDataFactory().getOWLClass( URI.create( "http://alignapi.gforge.inria.fr/tutorial2/ontology1.owl#Estudiante" ) ); - Set instances = reasoner.getIndividuals( person, false ); - System.err.println("Pellet(Merged): There are "+instances.size()+" students "+person.getURI()); + OWLClass estud = manager.getOWLDataFactory().getOWLClass( URI.create( "http://alignapi.gforge.inria.fr/tutorial2/ontology1.owl#Estudiante" ) ); + Set instances = reasoner.getIndividuals( estud, false ); + System.err.println("Pellet(Merged): There are "+instances.size()+" students "+estud.getURI()); - testSubClass( manager, reasoner, person, manager.getOWLDataFactory().getOWLClass( URI.create( "http://alignapi.gforge.inria.fr/tutorial2/ontology2.owl#Person" ) ) ); - testSubClass( manager, reasoner, person, manager.getOWLDataFactory().getOWLClass( URI.create( "http://alignapi.gforge.inria.fr/tutorial2/ontology2.owl#Student" ) ) ); + testSubClass( manager, reasoner, estud, manager.getOWLDataFactory().getOWLClass( URI.create( "http://alignapi.gforge.inria.fr/tutorial2/ontology2.owl#Person" ) ) ); + testSubClass( manager, reasoner, estud, manager.getOWLDataFactory().getOWLClass( URI.create( "http://alignapi.gforge.inria.fr/tutorial2/ontology2.owl#Student" ) ) ); // Variant 2: reasoning with distributed semantics (IDDL) // test consistency of aligned ontologies - IDDLReasoner dreasoner = new IDDLReasoner( Semantics.IDDL ); + IDDLReasoner dreasoner = new IDDLReasoner( Semantics.DL ); dreasoner.addOntology( uri1 ); dreasoner.addOntology( uri2 ); dreasoner.addAlignment( al ); @@ -324,7 +328,7 @@ public class MyApp { try { al2.init( uri1, uri2 ); // add the cell - //al2.addAlignCell( c2.getObject1(), c2.getObject2(), c2.getRelation().getRelation(), 1. ); + al2.addAlignCell( estud, manager.getOWLDataFactory().getOWLClass( URI.create( "http://alignapi.gforge.inria.fr/tutorial2/ontology2.owl#Student" ) ), "=", 1. ); } catch (AlignmentException ae) { ae.printStackTrace(); } dreasoner.isEntailed( al2 ); } else { diff --git a/html/tutorial2/index.html b/html/tutorial2/index.html index 7da5f389154e787a834f0c2760ce99046fca0a78..1b155b03a37c068dcae173e2a699bd652984915a 100644 --- a/html/tutorial2/index.html +++ b/html/tutorial2/index.html @@ -104,7 +104,7 @@ $ javac -classpath ../../lib/align.jar:../../lib/procalign.jar:../../lib/jena/je </div> and run by: <div class="fragment"> -$ java -classpath .:../../lib/align.jar:../../lib/procalign.jar:../../lib/jena/jena.jar:../../lib/jena/arq.jar:../../lib/iddl/iddl.jar:../../lib/pellet/pellet.jar:../../lib/ontosim/ontosim.jar:../../lib/log4j/commons-logging.jar:../../lib/log4j/log4j.jar:../../lib/xerces/xercesImpl.jar:../../lib/jena/iri.jar:../../lib/jena/icu4j_3_4.jar:../../lib/jena/concurrent.jar MyApp +$ java -classpath .:../../lib/align.jar:../../lib/procalign.jar:../../lib/jena/jena.jar:../../lib/jena/arq.jar:../../lib/iddl/iddl.jar:../../lib/pellet/pellet.jar:../../lib/ontosim/ontosim.jar:../../lib/log4j/commons-logging.jar:../../lib/log4j/log4j.jar:../../lib/xerces/xercesImpl.jar:../../lib/jena/iri.jar:../../lib/jena/icu4j_3_4.jar:../../lib/jena/concurrent.jar:../../lib/pellet/relaxngDatatype.jar:../../lib/pellet/xsdlib.jar MyApp </div> The long list of jar is boring, but at list it is explicit and you should be safe with this one. @@ -179,7 +179,8 @@ and, if none is found, computes one. al = ObjectAlignment.toObjectAlignment((URIAlignment)alu); </pre> </div> -<div class="explain" id="qu2"><p>:</p> +<div class="explain" id="qu2"><p>Just create an instance of + AlignmentProcess and call it:</p> <pre> // (Sol2) Match the ontologies with a local algorithm if ( al == null ){ // Unfortunatelly no alignment was available @@ -308,8 +309,26 @@ ontologies instead of the merged one. ResultSetFormatter.out(System.out, results, query); </pre> </div> -<div class="explain" id="qu8"><p>Not yet available</p> +<div class="explain" id="qu8"> +<p>Create Reasoner instance and load the merged ontologies:</p> <pre> + OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); + Reasoner reasoner = new Reasoner( manager ); + try { + OWLOntology ontology = manager.loadOntology( URI.create( "file://"+tempOntoFileName ) ); + reasoner.loadOntology( ontology ); + } catch (OWLOntologyCreationException ooce) { ooce.printStackTrace(); } +</pre> +<p>Get the instances of "Estudiantes":</p> +<pre> + OWLClass estud = manager.getOWLDataFactory().getOWLClass( URI.create( "http://alignapi.gforge.inria.fr/tutorial2/ontology1.owl#Estudiante" ) ); + Set instances = reasoner.getIndividuals( estud, false ); + System.err.println("Pellet(Merged): There are "+instances.size()+" students "+estud.getURI()); +</pre> +<p>Some subsumption tests:</p> +<pre> + testSubClass( manager, reasoner, estud, manager.getOWLDataFactory().getOWLClass( URI.create( "http://alignapi.gforge.inria.fr/tutorial2/ontology2.owl#Person" ) ) ); + testSubClass( manager, reasoner, estud, manager.getOWLDataFactory().getOWLClass( URI.create( "http://alignapi.gforge.inria.fr/tutorial2/ontology2.owl#Student" ) ) ); </pre> </div>