- From: Radostin Nanov <radostin.nanov@ontotext.com>
- Date: Thu, 4 Jun 2020 11:00:22 +0300
- To: public-shacl@w3.org
- Message-ID: <3da94c5a-ddc8-abd2-13c9-b80b0be1bb23@ontotext.com>
Hello!
We are looking at SHACL lists, such as:
|sh:path rdf:type ;
sh:in (foaf:Person, dbo:Person) ;
|
The question is what is the best way to make this more inclusive. As
specified, this would check the type for a given object is either
foaf:Person or dbo:Person (or both/none). However, it is possible that
the same object may have other types which we do not want to validate.
For example, dbo:Actor.
At the moment, we use a combination of sh:or and sh:hasValue for this:
|sh:path rdf:type ;
sh:or ( [ sh:hasValue foaf:Person] [ sh:hasValue dbo:Person ] ) ;|
This is significantly more verbose, and repetitive. Is there a better
way? One example that has been suggested internally was:
|sh:property [
sh:path rdf:type ;
sh:in (foaf:Person, dbo:Person) ;
]
sh:ignoredProperties (rdf:type)
|
However, ignoredProperties is used for a completely different thing and
I don't believe it is a valid option at all. Is this something better
left for DASH, for example by defining dash:valueIn that takes a list
and is open?
Thanks,
Radostin Nanov | Ontotext Software Developer
||
||
Received on Friday, 5 June 2020 19:08:14 UTC