On representation and typing

Section 1.1: "A shape is represented by a node in a shapes graph that is
typically a SHACL instance of sh:Shape."

A shape *is* a node in a shapes graph, not *is represented by*, at
least according to quite a bit of wording later in the document, e.g.,
"A filter is a shape in a shapes graph".

Similarly for "A valid SHACL property path p is represented by an IRI or a
blank node".


Section 1.1: "A shape is represented by a node in a shapes graph that is
typically a SHACL instance of sh:Shape."

Section 2: "Shapes are SHACL instances of sh:Shape"

These contradict each other.

Various places: "The rdf:type of [...] shapes can be omitted."

Not without making them not be SHACL instances of sh:Shape.


"Additional types of constraints can be added using SHACL Full as
SPARQL-based constraints or SPARQL-based constraint components. "

So SHACL Full can be used to add a new type of constraint disjoint from
property and focus node constraints?

Are constraint components constraints?


"sh:PropertyConstraint is the class of property constraints. A SHACL
processor treats all values of sh:property as property constraints. Thus,
the values of sh:property do not require the rdf:type sh:PropertyConstraint
triple."

"sh:SPARQLConstraint is an rdfs:subClassOf sh:Constraint and is the class of
all SPARQL-based constraints."

"sh:ConstraintComponent is the class of all constraint components."

"The class of" is not defined.


"Property constraints are linked from a shape with the property
sh:property."

Here the object of a sh:property triple is a property constraint.

"constraints that operate on value sets, such as sh:hasValue and sh:equals"

Here the constraint appears to be the predicate of a triple.


Peter F. Patel-Schneider
Nuance Communications

Received on Monday, 26 September 2016 06:41:31 UTC