You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I noticed an error when checking if an ontology complies with the OWL 2 EL profile. The error occurs, when a datatype is defined. Defining your own datatypes is allowed in EL but one is not allowed to use it as a data range (DL Profiles 2.2.4 ).
This minimal example shows the issue:
Processing this ontology by the EL profiler OWL2ELProfile() returns a violation although it is in the profile as :mydatatype is never used as a data range.
I think the root of the problem is in ProfileVisitor l.203, where checking if a datatype is allowed in EL is mapped to checking if it is an allowed data range. This is fine if the datatype occurs outside a datatype definition but not if it is inside of it. However, this context is lost, when the function is called from the corresponding function in StructureWalker.
For reproduction, here is a minimal program to reproduce this issue:
OWLOntologyDocumentSource source = new FileDocumentSource(ontFile, new FunctionalSyntaxDocumentFormat());
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
ont = manager.loadOntologyFromOntologyDocument(source);
OWLProfileReport profileReport = new OWL2ELProfile().checkOntology(ont);
List<OWLProfileViolation> violations = profileReport.getViolations();
The text was updated successfully, but these errors were encountered:
I noticed an error when checking if an ontology complies with the OWL 2 EL profile. The error occurs, when a datatype is defined. Defining your own datatypes is allowed in EL but one is not allowed to use it as a data range (DL Profiles 2.2.4 ).
This minimal example shows the issue:
Processing this ontology by the EL profiler
OWL2ELProfile()
returns a violation although it is in the profile as:mydatatype
is never used as a data range.I think the root of the problem is in ProfileVisitor l.203, where checking if a datatype is allowed in EL is mapped to checking if it is an allowed data range. This is fine if the datatype occurs outside a datatype definition but not if it is inside of it. However, this context is lost, when the function is called from the corresponding function in StructureWalker.
For reproduction, here is a minimal program to reproduce this issue:
The text was updated successfully, but these errors were encountered: