Reasoner generates "too many" parent/super class assertions
The PaNET ontology github repo contains the generated PaNET.owl
files.
Although this is arguably wrong, it provides a way to gauge whether the script is providing the expected output.
Ignoring insignificant differences, the script is including more axioms that are included in the source/PaNET.owl
in the git repo. In particular, the script includes parent-of-parent classes; i.e., subClassOf assertions are transitive; however, (oddly) the file source/PaNET.owl
is missing these parent-of-parent assertions.
Here is a randomly chosen term from github's source/PaNET.owl
(after converting to Turtle):
<http://purl.org/pan-science/PaNET/PaNET00211>
rdf:type owl:Class ;
rdfs:subClassOf <http://purl.org/pan-science/PaNET/PaNET00003> ;
rdfs:label "nonlinear interaction" .
Here is the same term, as generated by the script:
<http://purl.org/pan-science/PaNET/PaNET00211>
rdf:type owl:Class ;
rdfs:subClassOf <http://purl.org/pan-science/PaNET/PaNET00001> ;
rdfs:subClassOf <http://purl.org/pan-science/PaNET/PaNET00003> ;
rdfs:label "nonlinear interaction" .
Note how the script-generated version contains the rdfs:subClassOf <http://purl.org/pan-science/PaNET/PaNET00001>
assertion. This follows from the rdfs:subClassOf <http://purl.org/pan-science/PaNET/PaNET00003>
assertion.
It is relatively easy to configure the robot reason
command to omit these: just change the --include-indirect true
to --include-indirect false
. However, the individuals (in sources/PaNET.owl
in github) currently assert their full class hierarchy. Disabling the indirect assertions eliminates those assertions for the data elements. Updating the script to specify --include-indirect false
would result in the individuals not having their full class hierarchy asserted, and so would make the script-generated output (PaNET.owl
file) different from the github version, but in a different way.
To further complicate the issue, the individuals are going to be removed. Once achieved, setting the --include-indirect false
option in the script would result in it generating output that's equivalent to what would (then) be included in git.
On the other hand, it seems wrong that the source/PaNET.owl
file does not include the indirect axioms. In the absence of any strong contra-motivation, I would say having --include-indirect true
is the correct choice.