This is my function to create ontology used OWL-API:
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
IRI ontologyIRI = IRI.create("
http://hh/", "");
OWLOntology ontology = manager.createOntology(ontologyIRI);
OWLDataFactory factory = manager.getOWLDataFactory();
PrefixManager pm = new DefaultPrefixManager(null, null,
ontologyIRI.toString());
OWLClass sr = factory.getOWLClass(":SR", pm);
//create class *SR*
OWLClass ob = factory.getOWLClass(":Object", pm);
//create class *Object*
OWLNamedIndividual vold = factory.getOWLNamedIndividual(":vold",
pm); //create individual *vold*
OWLNamedIndividual sr1 = factory.getOWLNamedIndividual(":sr1", pm);
//create individual *sr1*
OWLObjectProperty hasObject =
factory.getOWLObjectProperty(":hasObject", pm);
OWLObjectPropertyAssertionAxiom propertyAssertion = factory
.getOWLObjectPropertyAssertionAxiom(hasObject, sr1, vold);
//create property *hasObject*
...
OWLClassAssertionAxiom classAssertion =
factory.getOWLClassAssertionAxiom(ob, vold);
OWLClassAssertionAxiom classAssertion1 =
factory.getOWLClassAssertionAxiom(sr, sr1);
...
manager.saveOntology(ontology,
IRI.create((new File("D:\\owl_example\\8.owl").toURI())));
This is my owl file which created by code .
<?xml version="1.0"?>
<rdf:RDF xmlns="
http://hh/"
xml:base="
http://hh/"
xmlns:hh="
http://hh/"
xmlns:rdf="
http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:owl="
http://www.w3.org/2002/07/owl#"
xmlns:xml="
http://www.w3.org/XML/1998/namespace"
xmlns:xsd="
http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="
http://www.w3.org/2000/01/rdf-schema#">
<owl:Ontology rdf:about="
http://hh/"/>
....
<owl:ObjectProperty rdf:about="
http://hh/hasObject"/>
...
<owl:NamedIndividual rdf:about="
http://hh/sr1">
<rdf:type rdf:resource="
http://hh/SR"/>
<hasObject rdf:resource="
http://hh/vold"/>
</owl:NamedIndividual>
<owl:NamedIndividual rdf:about="
http://hh/vold">
<rdf:type rdf:resource="
http://hh/Object"/>
</owl:NamedIndividual>
</rdf:RDF>
This is my SWRL code:
try {
OWLOntologyManager ontologyManager =
OWLManager.createOWLOntologyManager();
OWLOntology ontology =
ontologyManager.loadOntologyFromOntologyDocument(file);
SQWRLQueryEngine queryEngine =
SWRLAPIFactory.createSQWRLQueryEngine(ontology);
SQWRLResult result = queryEngine.runSQWRLQuery("q1",
"SR(?s)^hasObject(?s,vold)
-> sqwrl:select(?s)");
if (result.next())
System.out.println("Name: " + result.getLiteral("x"));
}
catch (OWLOntologyCreationException e) {....}
I got the error as follows:
Error starting application: Error creating query engine Drools. Exception:
java.lang.NoSuchMethodError. Message:
org.semanticweb.owlapi.model.OWLDocumentFormat.isPrefixOWLOntologyFormat()Z
Please help me. Thanks advance.
--
View this message in context:
http://protege-project.136.n4.nabble.com/Use-SWRL-and-get-Error-creating-query-engine-Drools-tp4668569.html
Sent from the Protege Developer mailing list archive at
Nabble.com.
_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev