diff --git a/shacl12-core/index.html b/shacl12-core/index.html index 750ac581..d0aa6e18 100644 --- a/shacl12-core/index.html +++ b/shacl12-core/index.html @@ -3539,11 +3539,18 @@

sh:nodeKind

sh:nodeKind - The node kind (IRI, blank node, literal or combinations of these) of all value nodes. - The values of sh:nodeKind in a shape are one of the following six instances of the class sh:NodeKind: - sh:BlankNode, sh:IRI, sh:Literal - sh:BlankNodeOrIRI, sh:BlankNodeOrLiteral and sh:IRIOrLiteral. + The node kind (IRI, blank node, literal, triple term, or combination of these) of all value nodes. A shape has at most one value for sh:nodeKind. + The value of sh:nodeKind in a shape is either an IRI or a blank node that is a well-formed SHACL list where all members are IRIs. +

+ + If the values of sh:nodeKind are IRIs, then the values of sh:nodeKind in a shape are one of the following seven instances of the class sh:NodeKind: + sh:BlankNode, sh:IRI, sh:Literal + sh:BlankNodeOrIRI, sh:BlankNodeOrLiteral, sh:IRIOrLiteral, and sh:TripleTerm. +

+ If the values of sh:nodeKind are well-formed SHACL lists, then members of those lists in a shape are one of the following four instances of the class sh:NodeKind: + sh:BlankNode, sh:IRI, sh:Literal, and sh:TripleTerm. +
@@ -3551,12 +3558,17 @@

sh:nodeKind

TEXTUAL DEFINITION
Let $nodeKind be a parameter value for sh:nodeKind. + Let $nodeKinds be a set of IRIs so that + when $nodeKind is an IRI then the set only consists of exactly that IRI, + and when $nodeKind is a blank node SHACL list then the set consists of + exactly the members of the list.

For each value node - that does not match $nodeKind, + that matches none of the $nodeKinds, there is a validation result with the value node as sh:value. Any IRI matches only sh:IRI, sh:BlankNodeOrIRI and sh:IRIOrLiteral. Any blank node matches only sh:BlankNode, sh:BlankNodeOrIRI and sh:BlankNodeOrLiteral. Any literal matches only sh:Literal, sh:BlankNodeOrLiteral and sh:IRIOrLiteral. + Any triple term matches only sh:TripleTerm.

The remainder of this section is informative.

@@ -3589,7 +3601,7 @@

sh:nodeKind

ex:Bob ex:knows ex:Alice . - ex:Alice ex:knows "Bob" . +ex:Alice ex:knows "Bob" .
{
@@ -3605,6 +3617,67 @@ 

sh:nodeKind

} } ] +}
+
+
+ +

+ The following example illustrates the list-based syntax, meaning that all values of ex:knows + need to be IRIs or blank nodes, at any subject. +

+