- 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