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

[BUG] Reasoner fails to validate when integer is present in ontology IRI #49

Open
rusdobr opened this issue Aug 20, 2024 · 0 comments
Open

Comments

@rusdobr
Copy link

rusdobr commented Aug 20, 2024

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:

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.

Ontology example is attached
sample.owx.zip

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

1 participant