This issue addresses an issue where the reasoner fails to properly validate ontologies when the ontology IRI contains integer values within the domain or path. The issue appears to specifically affect scenarios where the IRI includes an integer, leading to unexpected behavior in some reasoners, such as failing to detect violations of functional data properties.
Details:
Problem: Ontologies with IRIs that contain integers, particularly in the domain or subpath (e.g., http://www.semanticweb.org/sample/1/sample), may not be correctly validated by certain reasoners. This issue was observed with functional data properties where multiple values were not flagged as errors, despite the properties being marked as functional.
Cause: While the exact cause is not fully understood, it appears that reasoners might have trouble parsing or processing IRIs that include numeric segments in certain positions. This could be due to internal parsing logic or a conflict with how numeric values are treated within the IRI.
Solution: To address this, the recommendation is to avoid using numeric segments in the domain or critical path portions of the IRI. For instance, instead of http://www.semanticweb.org/sample/1/sample, use [http://www.semanticweb.org/sample/sample] . Additionally, the underlying reasoner and OWL API might need updates to better handle such cases without failure.
Steps to Reproduce:
Create an ontology with an IRI that contains an integer in the domain or path, such as http://www.semanticweb.org/sample/1/sample.
Define a class with a functional data property and assign multiple values of different types (e.g., an integer and a string) to this property.
Run the reasoner and observe that the expected validation error (multiple values for a functional property) is not flagged.
Proposed Changes:
Update documentation to recommend avoiding numeric segments in IRIs, particularly in the domain or path portions.
Investigate and potentially update reasoner or OWL API logic to handle numeric IRIs more robustly.
Impact:
This change will help ensure that reasoners correctly validate ontologies, even when IRIs contain numeric segments, thereby avoiding silent failures in validation. It also provides guidance to users to avoid potential pitfalls with their ontology IRIs.
Testing:
Ontologies with and without numeric IRIs should be tested to ensure consistent and correct validation behavior.
Consider adding test cases specifically designed to include numeric IRIs and verify that they are handled appropriately by reasoners.
Additional Notes:
It would be helpful to understand if this issue is specific to certain reasoners or if it affects the OWL API more broadly.
User feedback suggests that this problem can lead to undetected issues in ontologies, which may cause significant downstream effects.
https://github.com/user-attachments/assets/8ab4048d-e60b-4d08-b8cd-6795ac31faf3
Protégé version: 5.6.4 PELLET Reasoner: 2.2.0 OWL API RDF Library: 3.3.. Os: MacOS Summary:
This issue addresses an issue where the reasoner fails to properly validate ontologies when the ontology IRI contains integer values within the domain or path. The issue appears to specifically affect scenarios where the IRI includes an integer, leading to unexpected behavior in some reasoners, such as failing to detect violations of functional data properties.
Details:
Steps to Reproduce:
Proposed Changes:
Impact:
This change will help ensure that reasoners correctly validate ontologies, even when IRIs contain numeric segments, thereby avoiding silent failures in validation. It also provides guidance to users to avoid potential pitfalls with their ontology IRIs.
Testing:
Additional Notes:
Ontology example is attached sample.owx.zip