My understanding is that the semantics of the following shape is that every individual related to a ex:Work through ex:subject must be a member of ALL of the classes listed. Am I wrong to think this?
sh:property [
sh:path ex:subject ;
sh:target ex:Work ;
sh:class ex:Instance ;
sh:class ex:Item ;
sh:class ex:Temporal ;
sh:class ex:Work ;
sh:class ex:Event ;
sh:class ex:Language ;
sh:class ex:Concept ;
sh:class ex:Location ;
sh:class ex:Agent ;
] .
Based on the examples I've seen, using sh:in seems to be reserved for listing individuals. Am I wrong to think this? For example is it permitted to construct the following shape using sh:in for classes?
sh:property [
sh:path ex:subject ;
sh:target ex:Work ;
sh:in ( ex:Work ex:Instance ex:Item ex:Temporal ex:Event ex:Language ex:Concept ex:Location ex:Agent ) ;
] .
My use cases are to be able to say in a dataset only these types of things can be the subject of a work AND to build a form that narrows the types of things that can be the subject of a ex:Work.
Any help to understand how to say these types of constraints using SHACL would be greatly appreciated.
Thanks,
Steven
------------
Steven Folsom
Metadata Specialist
Cornell University Library
http://orcid.org/0000-0003-3427-5769
http://vivo.cornell.edu/individual/sf433
@sf433
On Sep 18, 2017, at 8:46 PM, Steven Folsom <sf...@cornell.edu> wrote:My understanding is that the semantics of the following shape is that every individual related to a ex:Work through ex:subject must be a member of ALL of the classes listed. Am I wrong to think this?
sh:property [
sh:path ex:subject ;
sh:target ex:Work ;
sh:class ex:Instance ;
sh:class ex:Item ;
sh:class ex:Temporal ;
sh:class ex:Work ;
sh:class ex:Event ;
sh:class ex:Language ;
sh:class ex:Concept ;
sh:class ex:Location ;
sh:class ex:Agent ;
] .
Based on the examples I've seen, using sh:in seems to be reserved for listing individuals. Am I wrong to think this? For example is it permitted to construct the following shape using sh:in for classes?
sh:property [
sh:path ex:subject ;
sh:target ex:Work ;
sh:in ( ex:Work ex:Instance ex:Item ex:Temporal ex:Event ex:Language ex:Concept ex:Location ex:Agent ) ;] .
My use cases are to be able to say in a dataset only these types of things can be the subject of a work AND to build a form that narrows the types of things that can be the subject of a ex:Work.
Any help to understand how to say these types of constraints using SHACL would be greatly appreciated.
Thanks,
Steven
------------
Steven Folsom
Metadata Specialist
Cornell University Library
http://orcid.org/0000-0003-3427-5769
http://vivo.cornell.edu/individual/sf433
@sf433
--
You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to topbraid-user...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.