W3C home > Mailing lists > Public > public-data-shapes-wg@w3.org > January 2017

Re: shapes-ISSUE-220 (what is a shape): defining shapes in a shapes graph [SHACL - Core]

From: Holger Knublauch <holger@topquadrant.com>
Date: Thu, 26 Jan 2017 10:44:48 +1000
To: public-data-shapes-wg@w3.org
Message-ID: <a42be89d-d5ba-b30b-59d2-e7c5198db4ea@topquadrant.com>
As also discussed yesterday, I have added a paragraph right after the 
definition of "shape" in 2.1 explaining how this definition relates to 
well-formed shapes. This paragraph also links to a new section on 
"Finding Shapes in a Graph" with the patterns that can be used to 
distinguish shapes from other nodes.

Note that these are informative because they are only required by a 
(hypothetical) group of applications such as UI tools, each of which may 
have different rules. For example some tools may rely on targets but 
others call shapes directly, by other means. Validation (which is our 
focus in the spec) does not need a formal definition of these rules, and 
making them a formal requirement invites new challenges on corner cases. 
So why complicate things further.

https://github.com/w3c/data-shapes/commit/b2e47ae36f77cbcbd538f0ac5d04958149ff5fcd

Corrections or additions are welcome.

I hope this addresses this ticket.

Holger


On 26/01/2017 8:15, RDF Data Shapes Working Group Issue Tracker wrote:
> shapes-ISSUE-220 (what is a shape): defining shapes in a shapes graph [SHACL - Core]
>
> http://www.w3.org/2014/data-shapes/track/issues/220
>
> Raised by: Dimitris Kontokostas
> On product: SHACL - Core
>
> The current editor's draft (as of today) defines the following:
>
>   - A shape is an IRI or blank node in the shapes graph.
>   - sh:Shape is the SHACL superclass of those two shape types in the SHACL vocabulary. Its subclasses sh:NodeShape and sh:PropertyShape can be used to represent node and property shapes, respectively.
>   - A node shape is a shape in the shapes graph that is not the subject of a triple with sh:path as its predicate.
>   - A property shape must be the subject of a triple that has sh:path as its predicate. A node that has more than one value for sh:path is ill-formed. Each value of sh:path must be a well-formed SHACL property path.
>
> with the current definition, every non-literal node in a shapes graph is a shape. if a node has a value for sh:path the node is a property shape and all other nodes are node shapes.
> This provides no standardised way of identifying the shapes in a shapes graph.
>
> The recent editors draft as well as the latest WD (as of August 14th) had this well defined. The new spec introduced by Holger removed this definition.
>
>
>
Received on Thursday, 26 January 2017 00:45:26 UTC

This archive was generated by hypermail 2.3.1 : Thursday, 26 January 2017 00:45:26 UTC