on classes and expected type

The SHACL document mentions "instance" in several contexts.

By far the most common is "SHACL instance" which is defined in the
terminology section.

The other mentions are:

"2016-10-12: Generalized sh:message so that it can also be used in constraint
(instances) (ISSUE-178)"

"Expected Type
In a shapes graph, the non-lieral values of a property or a property path
can have an expected type. These nodes are treated as RDFS instances of
specific classes, even when these nodes are not SHACL instances of these
classes."

"The values of sh:nodeKind must be one of the following six instances of the
class sh:NodeKind: sh:BlankNode, sh:IRI and sh:Literal as well as the
following values that represent combinations of the former three,
i.e. either-or: sh:BlankNodeOrIRI, sh:BlankNodeOrLiteral and
sh:IRIOrLiteral."

"From the example instances, ex:Berg will lead to constraint violations for
all of its labels."

"These IRIs are often declared as an instance of owl:Ontology, but this is
not required."

Each of these appear to be either imprecise or useless.


There are several places where expected type is used for something other
than shapes.

"sh:PropertyConstraint is the class of property constraints. The objects of
triples with sh:property as predicate have sh:PropertyConstraint as expected
type."

There is no definition of what it means to be the class of property
constraints so there is no requirement that having sh:PropertyConstraint as
expected type makes a node a property constraint.

"The values of sh:sparql have the expected type sh:SPARQLConstraint which is
an rdfs:subClassOf sh:Constraint and is the class of all SPARQL-based
constraints."

Same problem as above.

"The objects of triples with sh:parameter as predicate have sh:Parameter as
expected type." [Twice]

Similar problem as above with the addition that no connection between
sh:Parameter and parameters is given.

Peter F. Patel-Schneider
Nuance Communications

Received on Thursday, 13 October 2016 12:43:17 UTC