Closed ignazio1977 closed 4 years ago
I can confirm that this PR removes the Error's when I load resources locally. I ran FaCT++ and dumping out the inferred axioms right now. I'll update here with outcome. I'll also go ahead and run robot once that's done.
I'll note that there are still loads of instances of illegal punning which we should deal with. I'm talking hundreds, if not thousands of instances.
I've found another forty or fifty thanks to @smrgeoinfo review, I'll update the PR accordingly. I'll also add a check in my testcase to see if there's anyother that can be spotted automatically.
Thank you @ignazio1977!!!
Any comments here folks?
@ignazio1977 some persisting instances of punning
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/rangeOf in punning not allowed [ObjectProperty: rangeOf, DataProperty: rangeOf]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasUpperQuantity in punning not allowed [DataProperty: hasUpperQuantity, ObjectProperty: hasUpperQuantity]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasLowerQuantity in punning not allowed [DataProperty: hasLowerQuantity, ObjectProperty: hasLowerQuantity]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasQuantity in punning not allowed [DataProperty: hasQuantity, ObjectProperty: hasQuantity]
... and some additional warnings
Annotation property domain axiom turned to object property domain after parsing. This could introduce errors if the original domain was an anonymous expression: http://sweetontology.net/humanKnowledgeDomain/KnowledgeDomain is the new domain.
Annotation property domain axiom turned to object property domain after parsing. This could introduce errors if the original domain was an anonymous expression: http://sweetontology.net/propOrdinal/Impact is the new domain.
Annotation property domain axiom turned to data property domain after parsing. This could introduce errors if the original domain was an anonymous expression: http://sweetontology.net/matrBiomass/Species is the new domain.
Annotation property domain axiom turned to object property domain after parsing. This could introduce errors if the original domain was an anonymous expression: http://sweetontology.net/matrBiomass/Species is the new domain.
Annotation property domain axiom turned to object property domain after parsing. This could introduce errors if the original domain was an anonymous expression: http://sweetontology.net/phenSystem/Decrease is the new domain.
Annotation property domain axiom turned to object property domain after parsing. This could introduce errors if the original domain was an anonymous expression: http://sweetontology.net/phenSystem/Increase is the new domain.
Annotation property domain axiom turned to object property domain after parsing. This could introduce errors if the original domain was an anonymous expression: http://sweetontology.net/matr/ChemicalSubstance is the new domain.
This is such an improvement. Thank you for looking into the issues.
Yes, these are the ones I've mentioned on the latest open issue, these are not accidental duplicate declarations but actual punning in the ontology which I cannot resolve. A domain expert needs to take a look and decide whether these should be data or object properties.
Is there a trivial way to see the corresponding usage of those properties? (That is, have you already made a separate document listing them?) Or should I just use Protege?
I'll do a search and let you know.
From looking at the usage, these properties are referred to as data properties only inside the same ontology, and their range is set to a class not to a datatype or data range, so I'd conclude they are just mistyped in the ontology and can be easily rectified. I'll add a commit.
The warning about domain changing can maybe be fixed, but given that the ranges are not anonymous it's not a serious warning.
Fantastic @ignazio1977 thank you. You should have received a link to join the committers roster as well :)
Some errors due to cyclic dependencies in relaMath imports closure and OWLAPI bugs. Workaround is to add the missing declarations.
Other punning errors due to typing some properties as annotation properties, possibly a leftover of early OWLAPI bugs or missing dependencies when the ontologies were first created. Amended by ensuring properties always have the same type in all their declarations.