OM icon indicating copy to clipboard operation
OM copied to clipboard

Make OM compliant to OWL 2 EL, OWL 2 QL or OWL 2 RL

Open jmkeil opened this issue 1 year ago • 6 comments

This issue is a follow up of #33. This issue assumes #78 to get accepted.

To make OM better usable with reasoners, it should comply to OWL 2 EL, OWL 2 QL or OWL 2 RL.

One can use robot validate-profile to check violations of the profiles:

  • robot validate-profile --profile EL --input om-2.0.rdf
  • robot validate-profile --profile QL --input om-2.0.rdf
  • robot validate-profile --profile RL --input om-2.0.rdf

All three currently return many violations. A first step would be to categorize them to get an overview about the changes required. That would enable a decision, which of the profiles (if any) is an acceptable compromise.

Violation OWL 2 EL OWL 2 QL OWL 2 RL Related Issues
Axiom type not allowed in profile [FunctionalDataProperty - 2 -
Axiom type not allowed in profile [FunctionalObjectProperty 3 3 -
Class expressions not allowed in profile: DataExactCardinality 3 - -
Class expressions not allowed in profile: ObjectAllValuesFrom 400 - -
Class expressions not allowed in profile: ObjectExactCardinality 115 - -
Class expressions not allowed in profile: ObjectUnionOf 56 - - #84
Use of ObjectOneOf with multiple individuals ObjectOneOf 84 - - #84, #85
Use of data range not in profile: xsd:float 215 215 - #42
Use of non-equivalent class expression in position that requires an equivalent class expression: ObjectIntersectionOf - - 59
Use of non-equivalent class expression in position that requires an equivalent class expression: ObjectOneOf - - 129 #84, #85
Use of non-equivalent class expression in position that requires an equivalent class expression: ObjectUnionOf - - 42
Use of non-subclass expression in position that requires a subclass expression: ObjectHasValue - 1 -
Use of non-subclass expression in position that requires a subclass expression: ObjectIntersectionOf - 59 -
Use of non-subclass expression in position that requires a subclass expression: ObjectOneOf - 129 - #84, #85
Use of non-subclass expression in position that requires a subclass expression: ObjectUnionOf - 42 - #84
Use of non-superclass expression in position that requires a superclass expression: ObjectAllValuesFrom - 169 7
Use of non-superclass expression in position that requires a superclass expression: ObjectHasValue - 138 -
Use of non-superclass expression in position that requires a superclass expression: ObjectUnionOf - 8 8 #84
Use of non-superclass expression in position that requires a superclass expression: owl:Thing - - 6

Sorted results of the profile validations:

Edit: Added OWL 2 EL as third option, to not exclude them to early. Edit2: Add issue type table and validation results. Edit3: Link issues

jmkeil avatar Aug 18 '23 12:08 jmkeil

As there might be many similar changes required that could be automatized, I would recommend to first do #80.

jmkeil avatar Aug 18 '23 13:08 jmkeil

Thanx, Jan Martin! A very important issue to consider. I will first have to learn more about QL and RL, since I haven't heard of these before. To be continued, looking forward to further collaboration with you in this! :)

HajoRijgersberg avatar Aug 19 '23 11:08 HajoRijgersberg

Maybe, the EL profile should also be considered in such an investigation, to not exclude them to early.

jmkeil avatar Aug 21 '23 07:08 jmkeil

I added an overview of violations per profile.

jmkeil avatar Aug 24 '23 13:08 jmkeil

Thanx again! I have just taken a first deeper look at your table above. Just for my understanding, have some of the violations been handled in the mean time (and should consequently the table consequently be updated) or does the table (already) represent the status after the adaptations?

HajoRijgersberg avatar Aug 25 '23 09:08 HajoRijgersberg

The table reflects the current status (73a500301f41f100edf7115717cb44e07cae0dbb) of the ontology, after the OWL 2 DL fix.

jmkeil avatar Aug 28 '23 08:08 jmkeil