thank you for your work on owlcpp. I try to use it for high frequent ABox
reasoning (topic related to robotics). Therefore I need to
a) load the ontology
b) clean ABox
c) add new instance, data-property and object-property assertion axioms
d) classify / realize via fact++
e) retrieve all individuals with the inferred assertions
f ) return to b)
a) and d) are covered by the tutorial article and work. I don't get b), c) and e) working. Could you show an example for them ? I'm using owlcpp v0.3.4 on Windows 7 x64, msvc10.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Are there example of usage of FaCT++ for inferred triple retreiving ?
I saw the Kernel class. But I don't know exactly how to retreive inferred triple after ontology submission.
My ontology is consistent and all classes are satisfiables. FaCT++ have generated some axioms.
Best regards,
Yves
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
thank you for pointing me to the this direction. I don't know much about the conversion of triples to axioms and worked with OWL API and Pellet before. I already tried some of the methods you mentioned. Some aspects were not clear to me, like the insertion of data properties.
After reading https://www.w3.org/TR/owl-mapping-to-rdf/#Parsing_of_Axioms I reckon that there is more to do (e.g. :x rdf:type owl:DatatypeProperty) to generate the desired axioms later. Currently it's hard to proof the correctness of the ontology after alteration, because there is no possibility to write the graph back to rdf/xml (and check with Protege).
However, based on you comment it makes more sense to me to not add individuals and their props as triples that I convert to axioms later, but create the axioms directly with the ReasoningKernel API.
Thank you a lot.
regards,
Stephan
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello Mikhail,
thank you for your work on owlcpp. I try to use it for high frequent ABox
reasoning (topic related to robotics). Therefore I need to
a) load the ontology
b) clean ABox
c) add new instance, data-property and object-property assertion axioms
d) classify / realize via fact++
e) retrieve all individuals with the inferred assertions
f ) return to b)
a) and d) are covered by the tutorial article and work. I don't get b), c) and e) working. Could you show an example for them ? I'm using owlcpp v0.3.4 on Windows 7 x64, msvc10.
Hi,
is there no way to accomplish this or is there already a documentation somewhere that I've missed ? I would really appreciate any help on this topic.
Hello Stephan,
You can do b and c either by using owlcpp::Triple_store API (triples) or FaCT++ ReasoningKernel API (axioms).
If you use Triple_store, see find_triple(), insert(), and erase() methods.
For retrieving inferred individuals you will have to use the ReasoningKernel API (FaCT++-src-v1.6.4/src/Kernel/Kernel.h).
Best
Mikhail
Hi Mikhail,
Are there example of usage of FaCT++ for inferred triple retreiving ?
I saw the Kernel class. But I don't know exactly how to retreive inferred triple after ontology submission.
My ontology is consistent and all classes are satisfiables. FaCT++ have generated some axioms.
Best regards,
Yves
Hello Mikhail,
thank you for pointing me to the this direction. I don't know much about the conversion of triples to axioms and worked with OWL API and Pellet before. I already tried some of the methods you mentioned. Some aspects were not clear to me, like the insertion of data properties.
I tried this:
owlcpp::Node_id subj = store.insert_node_iri(ontoPrefix + "#"+ peter);
owlcpp::Node_id pred = store.insert_node_iri(ontoPrefix + "#"+ hasAge);
owlcpp::Node_id obj = store.insert_node_iri("5^^xsd:integer"); // syntax correct ?
After reading https://www.w3.org/TR/owl-mapping-to-rdf/#Parsing_of_Axioms I reckon that there is more to do (e.g. :x rdf:type owl:DatatypeProperty) to generate the desired axioms later. Currently it's hard to proof the correctness of the ontology after alteration, because there is no possibility to write the graph back to rdf/xml (and check with Protege).
However, based on you comment it makes more sense to me to not add individuals and their props as triples that I convert to axioms later, but create the axioms directly with the ReasoningKernel API.
Thank you a lot.
regards,
Stephan