On 2021-09-22 10:35 am, Maatary Okouya wrote:
1 - Does that mean that fundamentally, the list of shape in an sh:Or
or sh:And is heterogenous ? That is, it may contain both propertyShape
and NodeShape at the same time ?
Yes, may contain any shape.
2 - This bring me to the question of how to read this ?
>>>>
ex:ExampleAndShape a sh:NodeShape ;
sh:targetNode ex:ValidInstance, ex:InvalidInstance ;
sh:and (
ex:SuperShape
[
sh:path ex:property ;
sh:maxCount 1 ;
] ) .
>>>>
2-1 - With respect to s:SuperShape: is it saying that
ex:ExampleAndShap rdfs:SubClassOf ex:SuperShape ?
No, not rdfs:subClassOf. This is just talking about shapes. But it would
be equivalent to using
ex:ExampleAndShape
sh:node ex:SuperShape ;
In general, sh:and is not needed and can be substituted with multiple
sh:node constraints, or sh:property.
2-2 - With respect to
[
sh:path ex:property ;
sh:maxCount 1 ;
]
is it saying
ex:ExampleAndShape *has the propertyshape i.e. sh:property*
[
sh:path ex:property ;
sh:maxCount 1 ;
]
It means that the target nodes must conform to the given property shape,
i.e. have at most one value of ex:property.
Yes, this could alternatively be written using sh:property, as I
mentioned above sh:and is redundant and was only added for symmetry reasons.
There are subtle differences though in how validation errors would be
reported between sh:property and sh:and. With sh:and you would only get
a single violation, while with sh:property it would report each
individual property violation separately.
OTOH sh:or is of course not redundant.
Holger
???
On Wednesday, September 22, 2021 at 1:01:59 AM UTC+1 Holger Knublauch
wrote:
On 2021-09-22 9:54 am, Maatary Okouya wrote:
Taken from the specification:
>>>
A node shape is a shape
<https://www.w3.org/TR/shacl/#dfn-shape> in the shapes graph
<https://www.w3.org/TR/shacl/#dfn-shapes-graph> that is not the
subject <https://www.w3.org/TR/shacl/#dfn-subject> of a triple
<https://www.w3.org/TR/shacl/#dfn-rdf-triple> with *sh:path* as
its predicate <https://www.w3.org/TR/shacl/#dfn-predicate>. SHACL
instances
<https://www.w3.org/TR/shacl/#dfn-shacl-instance> of sh:NodeShape cannot
have a value <https://www.w3.org/TR/shacl/#dfn-value> for the
property sh:path.
>>>
Yet when talking Or Constraint or And Constraint, that takes list
of shapes, we find example like what follow:
>>>>
ex:SuperShape a sh:NodeShape ;
sh:property [ sh:path ex:property ; sh:minCount 1 ; ] .
ex:ExampleAndShape a sh:NodeShape ;
sh:targetNode ex:ValidInstance, ex:InvalidInstance ;
sh:and (
ex:SuperShape
[
sh:path ex:property ;
sh:maxCount 1 ;
] ) .
>>>>
With the following explanation
>>>
The following example illustrates the use of sh:and in a shape to
specify the condition that certain focus nodes have exactly one
value of ex:property. This is achieved via the conjunction of a
separate named shape (ex:SuperShape) which specifies the minimum
count, and a *blank node shape* that additionally specifies the
maximum count. As shown here, sh:and can be used to implement a
specialization mechanism between shapes.
>>>>
How on earth is this a Blank Node shape if it is the subject of
an sh:path, am I missing something ?
It should be a "blank property shape". I have recorded a bug
report to the spec's Errata:
https://github.com/w3c/data-shapes/issues/140
<https://github.com/w3c/data-shapes/issues/140>
Note the error is in an informative block of text, so it doesn't
change implementations.
Thanks for pointing this out
Holger
```
[
sh:path ex:property ;
sh:maxCount 1 ;
]
```
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/topbraid-users/a36d9325-ff9a-4329-86a3-64a463798b1dn%40googlegroups.com
<https://groups.google.com/d/msgid/topbraid-users/a36d9325-ff9a-4329-86a3-64a463798b1dn%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
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 [email protected]
<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/topbraid-users/5ff52c6b-ca27-4a18-b0d6-a5e7795a48bfn%40googlegroups.com
<https://groups.google.com/d/msgid/topbraid-users/5ff52c6b-ca27-4a18-b0d6-a5e7795a48bfn%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/topbraid-users/f16fbb13-39a3-6bfb-daa9-dd5ea0c7b98d%40topquadrant.com.