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.

Reply via email to