Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
owl_reasoners_via_owlapi [2013/02/04 12:13] – created tenorthowl_reasoners_via_owlapi [2014/08/08 09:35] (current) admin
Line 1: Line 1:
-Conventional OWL reasoners like Pellet or HermiT are interfaced via the OWL APIThe interface currently supports reasoning about the class ontology, especially the computation of inferred subclassesThe interface code is contained in the package knowrob_common in the module knowrob_owlapi+====== Integration of OWL reasoners via OWLAPI ====== 
 +\\ 
 +**Note: This page describes experimental code that has not been used in a whilePlease try it at your own risk.** 
 +\\
  
-There is a convenience predicate for calling the subclass-of relation which initializes the OWLAPI interface, copies the current class taxonomy from KnowRob, instantiates the reasoners and returns the inferred subclasses: +Conventional OWL reasoners like Pellet or HermiT are interfaced via the OWL API. The interface currently supports reasoning about the class ontology, especially the computation of inferred subclasses. The interface code is contained in the package //knowrob_common// in the module //knowrob_owlapi//There is a convenience predicate for calling the subclass-of relation which initializes the OWLAPI interface, copies the current class taxonomy from KnowRob, instantiates the reasoners and returns the inferred subclasses:
- +
- ?- owlapi_subclass_of(Sub, Super)+
  
 +  ?- owlapi_subclass_of(Sub, Super)
  
 For other inference tasks or more fine-grained control over the interface, one can also call the interface predicates directly For other inference tasks or more fine-grained control over the interface, one can also call the interface predicates directly
  
- % initialize, load test data +  % initialize, load test data 
- owl_parse('owl/knowrob_owlapi_test.owl', false, false, true), consult('prolog/owlapi.pl'). +  owl_parse('owl/knowrob_owlapi_test.owl', false, false, true), consult('prolog/owlapi.pl'). 
-  +   
- % create OWLAPI interfaces: ontology manager, data factory, create empty ontology +  % create OWLAPI interfaces: ontology manager, data factory, create empty ontology 
- owlapi_manager(OWLManager), owlapi_datafactory(OWLManager, DataFactory), owlapi_new_ontology('http://ias.cs.tum.edu/kb/knowrob.owl', OWLManager, OWLOntology). +  owlapi_manager(OWLManager), 
-  +  owlapi_datafactory(OWLManager, DataFactory),  
- % copy class taxonomy to the OWLAPI ontology +  owlapi_new_ontology('http://ias.cs.tum.edu/kb/knowrob.owl', OWLManager, OWLOntology). 
- findall(Res, add_to_ontology($OWLManager, $DataFactory, $OWLOntology, Res), _ResS). +    
-  +  % copy class taxonomy to the OWLAPI ontology 
- % create a reasoner based on the current ontology +  findall(Res, add_to_ontology($OWLManager, $DataFactory, $OWLOntology, Res), _ResS). 
- owlapi_reasoner_hermit($OWLOntology, Reasoner). +    
-  +  % create a reasoner based on the current ontology 
- % compute subclasses using the reasoner +  owlapi_reasoner_hermit($OWLOntology, Reasoner). 
- owlapi_subClassOf(Sub, 'http://ias.cs.tum.edu/kb/knowrob_owlapi_test.owl#CreateLiquid'). +   
- +  % compute subclasses using the reasoner 
 +  owlapi_subClassOf(Sub, 'http://ias.cs.tum.edu/kb/knowrob_owlapi_test.owl#CreateLiquid').
  
  
- owl_parse('owl/knowrob_owlapi_test.owl', false, false, true), consult('prolog/owlapi.pl'). +  owl_parse('owl/knowrob_owlapi_test.owl', false, false, true), consult('prolog/owlapi.pl'). 
-  +    
- owlapi_manager(OWLManager), owlapi_datafactory(OWLManager, DataFactory), owlapi_new_ontology('http://ias.cs.tum.edu/kb/knowrob.owl', OWLManager, OWLOntology). +  owlapi_manager(OWLManager),  
-  +  owlapi_datafactory(OWLManager, DataFactory),  
- findall(Res, add_to_ontology($OWLManager, $DataFactory, $OWLOntology, Res), _ResS). +  owlapi_new_ontology('http://ias.cs.tum.edu/kb/knowrob.owl', OWLManager, OWLOntology). 
-  +   
- owlapi_reasoner_hermit($OWLOntology, Reasoner). +  findall(Res, add_to_ontology($OWLManager, $DataFactory, $OWLOntology, Res), _ResS). 
-  +   
- owlapi_subClassOf(Sub, 'http://ias.cs.tum.edu/kb/knowrob_owlapi_test.owl#CreateLiquid').+  owlapi_reasoner_hermit($OWLOntology, Reasoner). 
 +   
 +  owlapi_subClassOf(Sub, 'http://ias.cs.tum.edu/kb/knowrob_owlapi_test.owl#CreateLiquid').