diff --git a/shacl12-core/index.html b/shacl12-core/index.html index 666223db..f9a6a2c0 100644 --- a/shacl12-core/index.html +++ b/shacl12-core/index.html @@ -3125,7 +3125,7 @@
- The condition specified by sh:class
is that each value node is a SHACL instance of a given type.
+ The condition specified by sh:class
is that each value node is a SHACL instance of the given type(s).
Constraint Component IRI: sh:ClassConstraintComponent
@@ -3141,7 +3141,8 @@
sh:class
sh:class
in a shape are IRIs.
+ The values of sh:class
in a shape are either IRIs
+ or blank nodes that are well-formed SHACL lists where all members are IRIs.
$class
be a parameter value for sh:class
.
+ Let classes
be a set of IRIs so that
+ when $class
is an IRI then the set only consists of exactly that IRI,
+ and when $class
is a blank node SHACL list then the set consists of
+ exactly the members of the list.$class
in the data graph,
+ that is either a literal, or a non-literal that is not a SHACL instance of any of the classes
in the data graph,
there is a validation result with the value node as sh:value
.
The remainder of this section is informative.
Note that multiple values for sh:class
are interpreted as a conjunction,
- i.e. the values need to be SHACL instances of all of them.
+ i.e., the values need to be SHACL instances of all of them.
+ Use lists for union semantics.
+ The following example illustrates the list-based syntax for sh:class
,
+ meaning that the values of the property ex:pet
must be either cats or dogs.
+
sh:datatype
xsd:integer
).
- The values of sh:datatype
in a shape are IRIs.
+ The allowed datatype(s) of all value nodes (e.g., xsd:integer
).
A shape has at most one value for sh:datatype
.
+ The value of sh:datatype
in a shape is either an IRI
+ or a blank node that is a well-formed SHACL list where all members are IRIs.
$datatype
be a parameter value for sh:datatype
.
+ Let datatypes
be a set of IRIs so that
+ when $datatype
is an IRI then the set only consists of exactly that IRI,
+ and when $datatype
is a blank node SHACL list then the set consists of
+ exactly the members of the list.$datatype
,
- there is a validation result with the value node as sh:value
.
+ that is not a literal, or is a literal with a datatype that matches none of the datatypes
,
+ there is a validation result with the value node as sh:value
.The remainder of this section is informative.
The values of sh:datatype
are typically datatypes, such as xsd:string
.
- Note that using rdf:langString
as value of sh:datatype
can be used to test if value nodes have a language tag.