Closed b-gehrke closed 4 months ago
Could you check if the ontology you provided is syntactically correct? When I try to run the translation for this ontology, I get an error message:
: org.semanticweb.owlapi.io.UnparsableOntologyException: Problem parsing file:/C:/Users/Simon%20Fl▒gel/Desktop/python-gavel-owl/unsat_object_allvaluesfrom.omn
Could not parse ontology. Either a suitable parser could not be found, or parsing failed. See parser logs below for explanation
On the other hand, the ontology loads fine in Protegé, so maybe I am missing something?
Which version of the OWL API do you use? I use a GCI for the minimum working example, but GCIs are only supported in version 5 (at the moment). You can instead use EquivalentClasses
. It produces the same error:
Prefix: : <https://example.com/>
Ontology:
Class: A
Class: B
ObjectProperty: r
Class: A EquivalentTo: r only B
Consider the following Ontology
O
:Translating
O
to FOL leads to an unsatisfiable theory (one can infer that∀x(thing(x))
). The problem appears to be the mapping of ObjectAllValuesFrom. InO
it is translated to∀x([∀y(R(x,y) → B(y)] → A(y))
. Martin and Fabian figured that it should be∀x({thing(x)∧[∀y(R(x,y) → B(y)]} → A(y))
and hence the formal mapping should be changed from∀x([R]^p_x → [A]^x)
toowl:Thing(p) ∧ ∀x([R]^p_x → [A]^x)
.The same is probably true for DataAllValuesFrom.