- From: Iovka Boneva <iovka.boneva@univ-lille1.fr>
- Date: Mon, 18 May 2015 20:53:15 +0200
- To: "Peter F. Patel-Schneider" <pfpschneider@gmail.com>
- CC: RDF Data Shapes Working Group <public-data-shapes-wg@w3.org>
Dear Peter, dear all, The ShEx proposal is being continuously improved, taking into account what is pointed out to be missing. The version from May 8 indeed looks very different. This is however due more to a refactoring than to significant change to the semantics. A new version will be available later today, with only small changes w.r.t. the version from May 8. In what follows, I explain the differences between the new version to come in few hours, and the one from before May 8. I apologise for the short time left for inspection. Summary of changes (details below). ** Added features 1. Negation on shapes 2. Negation on triple constraints 3. Exclusive choice 4. Multiplicity on full expressions ** Modification in the semantics The new features 1., 2. and 3. require taking negation into account. There are two main modifications. a) there is a syntactic restriction, called well-defined shapes, that forbids negation to appear mixed with recursion. This guarantees that the semantics is well defined b) a typing is now defined as a map that associates with the nodes of the graph either shape names (e.g. T), or negated shape names (e.g. !T) Moreover, we have c) a slight extension of openness ** Refactoring We previously introduced first a simple version, and then added inverse constraints in a separate section, and also complex types in a separate version. Now everything is defined at once. This makes the definitions longer. Also, the definition [Triple matches constraint] changed a bit, this is in order to take c) into account. Hope these explanations help. Iovka ************************* **** More detailed explanations In the examples, all missing cardinalities are [1;1] 1. Negation on shapes ex:p !@T # property ex:p leads to a node that does not satisfy shape T ex:p !(@T1 or @T2 or @T3) # property ex:p leads to a node that satisfies none of T1, T2, T3 ex:p !(@T1 and @T2 and @T3) # similar to previous, with conjunction 2. Negation on triple constraints ! ex:p @T # there is no property ex:p that leads to node satisfying shape T. Note that this is "semantic sugar", it was already possible with the previous semantics written ex:p @T [0;0] (i.e. asking for 0 cardinality) 3. Exclusive choice We now have two choice operators - some-of : non exclusive choice (previously called disjunction) - one-of : exclusive choice 4. Multiplicity on full expressions (ex:p @T | ex:q @S)[2;4] # there are between 2 and 4 out-going edges, each of which is either ex:p to T, or ex:q to S Regarding b) Note that negated shape names appear only for so called negated shapes, these are the shapes for which it is necessary to test whether a node does not satisfy that shape. In theory we require that every node in the graph has either type T or type !T, for all negated shape T. This however can be weakened and required only for the appropriate nodes, we kept it like this in order not to complicate further the semantics. Regarding c) By default, open shapes allow all properties not mentioned in the shape definition to occur freely (w/o any restriction). We also added so called included properties (for openness), which are properties that occur in the shape definition, but we also allow to occur outside, as soon as the target node does not satisfy the constraint from the shape. This is useful for instance with rdf:type. For example S -> open {rdf:type} rdf:type ex:Animal says that one rdf:type property is required, going to ex:Animal, and any other rdf:type properties are required. In the previous version, the included properties were only handled for properties involved in value constraint (as in the example above, ex:Animal is a fixed value for the rdf:type property). With the new version, we can also include open properties associated with shapes in the type definition. For example: S -> open {ex:p} ex:p @T meaning that one ex:p to T is required, and other ex:p are allowed if they lead to a node that does not satisfy T (this uses negation). Le lun. 18 mai 2015 16:07:04 CEST, Peter F. Patel-Schneider a écrit : > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > On 8 May, there were what appear to be significant changes made to Core > SHACL Semantics http://w3c.github.io/data-shapes/semantics/ > > I find it very unfortunate that these changes were not announced to the > working group. It is going to be difficult to have informed discussion of > this proposal tomorrow. > > peter > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2 > > iQEcBAEBCAAGBQJVWfIIAAoJECjN6+QThfjzCXgH/jKA/yzKYLHCFC6GytYsuN42 > L2oZmEhsD+6c1pQxGwUpLTZYdjkU2+EVVn0xKrD8Cx/V9fylYToUcDr6hv4N3356 > xL0kPmelgLYyLxahv7I4F6CK9mOt+252YecPY0cB3oT/lOFtV9lnvIbilwNDumOw > 8aL95AODyera6Ri3sR3fUitHhD1GudWx1EO3TU7QZvBZGsgT+LCFB7zqiditcEIa > WCfW2+1ZKH/xi7eM6qYT5/ukr5gKMm0PzKXQiE8R7wVTJLb0r110NZQhvdlNsbVw > P5Xs2uLndf29lbF0wzr5JUpGD+sp1inVrQOtAZd9xjCCm5NH/k1ZVxu0chpefZ4= > =0N67 > -----END PGP SIGNATURE----- > -- Iovka Boneva Associate professor (MdC) Université de Lille http://www.cristal.univ-lille.fr/~boneva/ +33 6 95 75 70 25 Please note that I read my mails twice a day at 9:00 and 13:00 (CET) For urgent matters, please contact me by phone
Received on Monday, 18 May 2015 18:53:49 UTC