A sh:PropertyShape could be inferered from the fact that a property, with multiple attributes, is specified for a given NodeShape, or a separate sh:PropertyShape could be provided explicitly.
ex:ExampleNodeShapeWithPropertyShapes
a sh:NodeShape ;
sh:property [
sh:path ex:email ;
sh:name "e-mail" ;
sh:description "We need at least one email value" ;
sh:minCount 1 ;
] ;
sh:property [
sh:path (ex:knows ex:email) ;
sh:name "Friend's e-mail" ;
sh:description "We need at least one email for everyone you know" ;
sh:minCount 1 ;
] .
ex:ExamplePropertyShape
a sh:PropertyShape ;
sh:path ex:email ;
sh:description "We need at least one email value" ;
sh:minCount 1 .
Code should resolve both of them to a common syntax for further use.
See: https://www.w3.org/TR/shacl/#property-shapes
A
sh:PropertyShape
could be inferered from the fact that aproperty
, with multiple attributes, is specified for a givenNodeShape
, or a separatesh:PropertyShape
could be provided explicitly.Code should resolve both of them to a common syntax for further use.