- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Thu, 04 Jun 2015 13:43:33 -0700
- To: RDF Data Shapes Working Group <public-data-shapes-wg@w3.org>
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 This is a follow-up to the discussion on the teleconference today. In my view there are two different (but related) things: 1/ The sort of constraints (scoped constraints?) that occur in shapes that have a scope (either an explicit scope as in the SPIN-related proposals or an implicit universal scope as in the various versions of ShEx). These constraints work off a focus node, which is a node in the graph being validated. A shape that requires all people to have a single string name has a constraint of this kind, perhaps written as [ sh:predicate foaf:name ; sh:valueType xsd:string ] It is not possible to evaluate this constraint without a focus node. 2/ The sort of constraints (unscoped constraints) that occur in shapes that enforce properties of the graph as a whole. (If scope expressions are allowed then this sort of constraint is likely to be quite unusual and natural examples are hard to come up with.) These constraints do not use a focus node, and there may be no focus node to provide for them. A shape that requires the graph to have exactly two triples in it would have a constraint of this kind, perhaps written as SELECT ?no WHERE { { SELECT (COUNT(*) as ?no) WHERE {?a ?b ?c .} } FILTER ( ?no != 2 ) } This constraint has no use for a filter node. The two kinds of constraints look and act quite differently so I think that they need to be different kinds of things in SHACL, whether or not they are both called different kinds of constraints. Alternatively, it might be possible to simply not have the second kind of constraint at all, but then there should be a determination that nothing important has been lost. peter -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJVcLh1AAoJECjN6+QThfjzHloIAKs3DljFP1WPv5dGMem19Bjs Dn4NDwUU7zYETTFnQkCGaNXKDzwNtR6Cvru6BjE2k3zYPAeBk0CQMco2GwcB7NAG bhrbdfbApCm8CMSBlMPrQSpqtMkXfntAUHdetM/xtIfT/UiYZjsweeT2tXurltaW MG8UIzn6WIbj8e7xT8VmRgvXiyfwPGg/oF+2b69ConBUmrTFqg0Vbvt+7Xg/qDOB zA/pm9oCCtDyCTfATx1NV6hXI/d8u0ldQ16Q1oIsu4nhpZh+W0EZBcyoA4qAKShZ N5AIo5c3/fckClHqXRVcDXBOb32f5tFX21dzsBqDXzDK6scDOWkjeeT9/8+rkbw= =k2z6 -----END PGP SIGNATURE-----
Received on Thursday, 4 June 2015 20:44:08 UTC