Open VladimirAlexiev opened 2 months ago
I agree that RDFS-Plus might not be well defined, and we should make sure that we know which one we should support. There is primary two aims:
The minimum support is:
What we would need to considerer:
@Sveino What vocabulary you use and what reasoning you want (need for particular use cases) are different things.
Class, ObjectProperty, DatatypeProperty
don't imply any reasoning FunctionalProperty, InverseFunctionalProperty
imply "sameAs", not constraints.TransitiveProperty
is often useful, but it also makes sense to distinguish a "step" prop vs its transitive closure. An example are broader
vs broaderTransitive
in SKOSsameAs
might be useful if different parties mint different URLs about the same thing, but it also adds complications.
IMHO the better way is to mandate specific/reproducible URLs, eg based on EICmakes sense to distinguish a "step" prop vs its transitive closure.
Unfortunately RDF doesn't make a distinction between direct and inferred rdfs:subClassOf
and rdf:type
.
The CIM class hierarchy is deep and includes many abstract classes. To fetch the specific (directly asserted) type of a power system resource, queries will need to use database-specific extensions. As per https://github.com/w3c/sparql-dev/issues/124:
sesame:directType
urn:x-hp-direct-predicate:http_//www.w3.org/1999/02/22-rdf-syntax-ns#
I bet vendors will not jump with joy at this complication.
This is an example that "there is such thing as TOO MUCH reasoning": one should always consider the specific consequences of using specific reasoning.
@Sveino talks of "RDFSPlus" and the repo refers to http://mlwiki.org/index.php/RDFS-Plus, but
So instead, let's specify explicitly what reasoning is needed by CIM.
rdfs:subClassOf
owl:inverseOf
SymmetricProperty ?
inverseOf
is aSymmetricProperty
. Having Symmetric reasoning will facilitate inverse reasoning, even ifinverseOf
is stated on only one direction.This defect appears only for
dcat:Dataset.publisher - dcat:Dataset.Resource11
:Symmetric reasoning is a subset of inverse reasoning (symmetric props are self-inverses), so we can accomplish the same if we just have this axiom:
Nothing else
rdfs:domain
: AFAIK no CIM node is instantiated without class, and subClassOf will infer all relevant superclasses Please confirmrdfs:range
:rdfs:domain
FunctionalProperty, InverseFunctionalProperty
: https://github.com/Sveino/Inst4CIM-KG/issues/30owl:sameAs
from these prop assertions.