swrlapi-drools-engine icon indicating copy to clipboard operation
swrlapi-drools-engine copied to clipboard

Error starting application: Error creating query engine Drools

Open MRNaqvi opened this issue 4 years ago • 0 comments

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

MRNaqvi avatar Mar 21 '20 18:03 MRNaqvi