owlcs / ont-api

ONT-API (OWL-API over Apache Jena)
44 stars 5 forks source link

Open question to OWL community: project feedbacks #28

Closed sszuev closed 3 years ago

sszuev commented 3 years ago

If you are reading this issue, you are probably know what ONTAPI is: it is an alternative OWLAPI implementation, which (I believe) has comparable performance and memory consumption. But according to my observations (on github projects), sometimes people are using ONTAPI as a simple conversion tool only, or even after a while since beginning of use ONTAPI, they decide to give up it in favor of the default implementation. This seems strange, and it would be very valuable to know the reasons of such decisions. So, if there is a lack of performance you faced, or something else, it would be nice to have some feedback on it (as a response on this issue or as a new issue whatever). Then, perhaps, we can try to fix these cases.

Silence cannot be a driving force in the open source world. Thanks in advance.

zafarale commented 3 years ago

It may not be the right place to ask this question, please excuse me for being bold;

GIven Model M and Ontology O I am trying find solution where i can validate if M complies O such that for

''' a:Model rdf:type owl:Class .

a:Book rdf:type owl:Class ; rdfs:subClassOf a:Model .

a:uid rdf:type owl:DatatypeProperty ; rdfs:domain a:Model ; rdfs:range [ rdf:type rdfs:Datatype ; owl:onDatatype xsd:unsignedLong ; owl:withRestrictions ( [ xsd:minExclusive "0"^^xsd:unsignedLong] ) ] . '''

i want to be validate if rdf entity is subclass of Model and has uid, I am using Jena and trying to use OWLReasoner to validate which doesnt really help.

sszuev commented 3 years ago

This is really offtopic, and I'm going to hide or delete your question (along with this answer), sorry.

I started this issue in order to improve the quality of the project, but your question does not contribute to that idea, even on the contrary. Github is not a Q/A service, please for such kind of questions use some other resource (e.g. https://stackoverflow.com). But note that for SO the question is not perfectly worded (as I understand it): you need, at least, some code snippets to demonstrate attempts to solve the problem.

As for the question, you can use OWLAPI interfaces to determine if an entity (OWLClass) has super class and has data-property assertion, I see no problem here. You can also do the same thing using Jena, or ONT-API jena-based (see OntModel) interfaces. Both types of reasoners (jena rule-based and OWLAPI) must also be supported. But the nature of them are different - jena-reasoners are dynamic, while OWL-API reasoners are not.