Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
jmkeil opened this issue Aug 18, 2023 · 6 comments
Open

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

jmkeil opened this issue Aug 18, 2023 · 6 comments

Comments

@jmkeil
Copy link
Contributor

jmkeil commented Aug 18, 2023

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
Copy link
Contributor Author

jmkeil commented Aug 18, 2023

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

@HajoRijgersberg
Copy link
Owner

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! :)

@jmkeil jmkeil changed the title Make OM compliant to OWL 2 QL or OWL 2 RL Make OM compliant to OWL 2 EL, OWL 2 QL or OWL 2 RL Aug 21, 2023
@jmkeil
Copy link
Contributor Author

jmkeil commented Aug 21, 2023

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

@jmkeil
Copy link
Contributor Author

jmkeil commented Aug 24, 2023

I added an overview of violations per profile.

@HajoRijgersberg
Copy link
Owner

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?

@jmkeil
Copy link
Contributor Author

jmkeil commented Aug 28, 2023

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants