Closed TallTed closed 11 months ago
Where have you seen this, @TallTed ? The intention of the tool is definitely to set the multiple domains to a union; see, for example:
cred:termsOfUse a rdfs:Property ;
rdfs:domain [ owl:unionOf (cred:VerifiableCredential cred:VerifiablePresentation) ] ;
rdfs:range cred:TermsOfUse ;
rdfs:label "Terms of use" ;
rdfs:isDefinedBy <https://www.w3.org/TR/vc-data-model-2.0/#defn-termsOfUse>, <https://w3.org/2018/credentials#> ;
vs:term_status "reserved" ;
.
in https://w3c.github.io/vc-data-model/vocab/credentials/v2/vocabulary.ttl. Multiple ranges in the yml file yield intersections, but that is a different matter.
rdfs:domain [ owl:unionOf (cred:VerifiableCredential cred:VerifiablePresentation) ]
OK, the above does what you described (union) via the blank node object of the rdfs:domain
predicate.
This end result is not obvious when looking at the YAML domain
statements.
Elsewhere, you expressed some reluctance to "introduce OWL ontology statements on the vocabulary" ... but that's necessary for the above, as expressed.
So are we, or are aren't we, relying on OWL ontology statements?
rdfs:domain [ owl:unionOf (cred:VerifiableCredential cred:VerifiablePresentation) ]
OK, the above does what you described (union) via the blank node object of the
rdfs:domain
predicate.This end result is not obvious when looking at the YAML
domain
statements.
True, and I should have probably documented it in the Readme of yml2vocab. It somehow made sense that several domain references mean a union, several range references mean an intersection...
I have added a paragraph to the Readme.
Elsewhere, you expressed some reluctance to "introduce OWL ontology statements on the vocabulary" ... but that's necessary for the above, as expressed.
So are we, or are aren't we, relying on OWL ontology statements?
Touché :-) There are cases, like this one, where we really need a way to express things and RDFS is simply too poor. Actually, if you look at the TTL file, for example, there is also use of owl's object and datatype properties, deprecated properties... things that are useful to document and RDFS is simply unable to do.
I think my comment above refers to a complexity level. If an OWL statement can be 'handled' by some rule level reasoning (say, OWL-RL) then it can be expected that many triple stores, sparql engines, etc, can handle the statement if they do any kind of reasoning in the first place. If we get to statements that rely on more complex OWL-DL, let alone OWL-Full reasoning, then we should keep away from those.
That being said: can we close this issue, @TallTed ? I do not think there is any real action to be taken here...
That being said: can we close this issue, @TallTed ? I do not think there is any real action to be taken here...
Yes, I think my questions have been answered satisfactorily. Anything else I spot can be fresh issues/PRs.
_Originally posted by @TallTed in https://github.com/w3c/vc-data-integrity/pull/184#discussion_r1313366141_
According to @iherman in https://github.com/w3c/vc-data-model/issues/1262#issuecomment-1695821941
Note that
expires rdfs:domain Proof, VerificationMethod
does not setrdfs:domain
to the union ofProof
andVerificationMethod
, but rather to their intersection; that is, any entity with the propertyexpires
must be both aProof
and aVerificationMethod
.For the apparently intended union, where an entity with the property
expires
could be either aProof
or aVerificationMethod
,rdfs:domain
must be changed toschema:domainIncludes
.Suggested change domain:
Comment by @msporny msporny 3 days ago