-
Notifications
You must be signed in to change notification settings - Fork 311
Open
Description
I encountered the problem that a valid OWL DL ontology can be classified as not belonging to the profile if language tags are used. The following is a minimal example, defining a single data relation:
Prefix(:=<http://www.example.org/reasonerTester#>)
Ontology(
Declaration(DataProperty(:dataprop))
Declaration(NamedIndividual(:a))
DataPropertyAssertion(:dataprop :a "some string"@en)
)
Using the class OWL2DLProfile(), I wrongly get a violation report for the OWL DL profile. The issue seems to be that the object of the data relation is parsed as rdfs:langString in OWLLiteralImplPlain (line 44). However, this type of string is not allowed according to the OWL DL standard.
I am not sure if this is a problem of incorrect parsing or conflicting standards. The RDF standard (3.3; third element) sounds like the parsing is correct.
For reproduction, here is a minimal program that demonstrates the behavior:
OWLOntologyDocumentSource source = new FileDocumentSource(ontFile, new FunctionalSyntaxDocumentFormat());
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
ont = manager.loadOntologyFromOntologyDocument(source);
OWLProfileReport profileReport = new OWL2DLProfile().checkOntology(ont);
List<OWLProfileViolation> violations = profileReport.getViolations();
Metadata
Metadata
Assignees
Labels
No labels