unibz-core / Scior

Identification of ontological categories for OWL ontologies.
https://purl.org/scior
Apache License 2.0
3 stars 1 forks source link

Ordering of the rules' execution causes unnecessary inconsistencies #39

Open pedropaulofb opened 1 year ago

pedropaulofb commented 1 year ago

Is your feature request related to a problem? Please describe.

The order in which the rules are called may cause unnecessary inconsistencies (i.e., a valid result could have been got, but it was not because another rule generated an invalid situation). This is true specially for the OWAf world assumption.

Describe the solution you'd like

Scior could implement a stack of modifications. Every time a type is asserted to a class, a stack is created and checked if it results in a consistent result. If it results in an invalid result, the rule that originated the stack is jumped and another one is performed.

Describe alternatives you've considered

Probably just adjusting the implementation to first execute rules that assert higher-level types (e.g., not leaf classifications) must be enough to solve most of the cases.

Additional context The most complete solution will require a great computational effort (memory and processing).