swrlapi-drools-engine
swrlapi-drools-engine copied to clipboard
Error starting application: Error creating query engine Drools
package swrlApi;
import org.semanticweb.owlapi.apibinding.OWLManager; import org.semanticweb.owlapi.model.OWLOntology; import org.semanticweb.owlapi.model.OWLOntologyCreationException; import org.semanticweb.owlapi.model.OWLOntologyManager; import org.swrlapi.builtins.AbstractSWRLBuiltInLibrary;
import org.swrlapi.builtins.SWRLBuiltInLibraryManager; import org.swrlapi.factory.SWRLAPIFactory; import org.swrlapi.parser.SWRLParseException; import org.swrlapi.sqwrl.SQWRLQueryEngine; import org.swrlapi.sqwrl.SQWRLResult; import org.swrlapi.sqwrl.exceptions.SQWRLException;
import java.io.File; import java.util.Optional;
public class APIEXAMPLE {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
// Create an OWL ontology using the OWLAPI
OWLOntologyManager ontologyManager = OWLManager.createOWLOntologyManager();
OWLOntology ontology= ontologyManager.loadOntologyFromOntologyDocument(new File("./src/ontology.txt"));
System.out.println("Loaded ontology: " + ontology);
// Create SQWRL query engine using the SWRLAPI
SQWRLQueryEngine queryEngine = SWRLAPIFactory.createSQWRLQueryEngine(ontology);
SQWRLResult result = queryEngine.runSQWRLQuery("Q1",
"Person(?p) ^ hasName(?p, ?name) ^ hasSalary(?p, ?salary)" +
" -> sqwrl:select(?name, ?salary)");
// Process the results of the SQWRL query
while (result.next()) {
System.out.println("Name: " + result.getLiteral("name").getString());
System.out.println("Salary: " + result.getLiteral("salary").getInteger());
// Process the SQWRL result
}
} catch (OWLOntologyCreationException e) {
System.err.println("Error creating OWL ontology: " + e.getMessage());
System.exit(-1);
} catch (SWRLParseException e) {
System.err.println("Error parsing SWRL rule or SQWRL query: " + e.getMessage());
System.exit(-1);
} catch (SQWRLException e) {
System.err.println("Error running SWRL rule or SQWRL query: " + e.getMessage());
System.exit(-1);
} catch (RuntimeException e) {
System.err.println("Error starting application: " + e.getMessage());
System.exit(-1);
}
}
}
Error starting application: Error creating query engine Drools. Exception: org.swrlapi.exceptions.SWRLAPIException. Message: Could not loadExternalSWRLBuiltInLibraries class loader