Open ckindermann opened 2 weeks ago
On second thought, this is not a bug in LDTab. But the decision on how SWRL rules are encoded in LDTab is important for wiring.{clj,rs} because we use OWL Functional Syntax to translate between syntaxes.
There is no 'correct' decision. The OWL spec doesn't include SWRL rules - meaning there is no W3C standard for SWRL rules in OWL Functional Syntax. All we have is a paper that defines a syntax for (DL Safe) SWRL rules in OWL and an implementation of this syntax in the OWL API (even this is not 100% true because there are differences between the grammar presented in the paper and the actual implementation...).
We discussed this on a call on 2024-10-29. My (mostly uninformed) opinion is to go with the RDF representation.
Annotations on SWRL rules do not end up in the
annotation
column because we translate SWRL rules as normal RDF. Since SWRL rules are grouped using an 'existential' blank node (meaning a blank node that doesn't get collapsed in LDTab), wesubject
in LDTabrdf:type
as thepredicate
in LDTab (in this caseswrl:Imp
-- this is done in an attempt to indicate what an existential blank node points to)object
in LDTab.For example:
gets translated into the following JSON object:
However, the representation of SWRL rules in OWL Functional Syntax would mark the
rdfs:comment
as an annotation:So, we need to decide whether LDTab should translate SWRL rules in a way that doesn't correspond to the standard RDF translation.