- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Wed, 25 Feb 2015 09:19:52 -0800
- To: Iovka Boneva <iovka.boneva@univ-lille1.fr>, public-data-shapes-wg@w3.org
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Using a universal type and concatenation to soak up extra edges is a neat idea.
However, there are still quite a few differences between the account of
Shape Expressions in the W3C submission at
http://www.w3.org/Submission/2014/03/ and the account of Shape Expressions
in www.grappa.univ-lille3.fr/~staworko/papers/staworko-icdt15a.pdf There
are really two very different languages here. I have a message on some of
the differences in preparation.
peter
PS: In http://www.w3.org/2013/ShEx/Primer.html the OrRule is an exclusive or.
On 02/24/2015 08:46 AM, Iovka Boneva wrote:
> Le 24/02/2015 16:02, Peter F. Patel-Schneider a écrit :
>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
>>
>>
>>
>> On 02/24/2015 04:32 AM, Iovka Boneva wrote:
>>> Le mar. 24 févr. 2015 02:02:02 CET, Peter F. Patel-Schneider a écrit
>>> :
>>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
>>>>
>>>> Just a preliminary response to get at a particular part of one
>>>> example.
>>>>
>>>> On 02/23/2015 07:25 AM, Iovka Boneva wrote:
>>>>
>>>>>
>>>>> Le sam. 21 févr. 2015 23:27:52 CET, Peter F. Patel-Schneider a
>>>>> écrit :
>> [...]
>>>>>> There are ever trickier situations involving recursive shapes.
>>>>>> For example, consider the two mutually recursive shapes <S> { (
>>>>>> ex:p @<S> | ex:p @<T> ) } <T> { ( ex:p @<T> | ex:p @<S> ) }
>>>>>> (something is in <S> if it has an ex:p fillers and either all
>>>>>> its ex:p fillers are in <S> or its ex:p fillers are in <T> but
>>>>>> not both, and similarly for <T>). It is unclear as to which
>>>>>> nodes should have shape <S> or <T> in the graph ex:a ex:p ex:b
>>>>>> . ex:b ex:p ex:a .
>>>>>>
>>>>>
>>>>> With our semantics and considering /closed/ shapes, the shape
>>>>>
>>>>> <S> { ( ex:p @<S> | ex:p @<T> ) }
>>>>>
>>>>> intuitively says that a <S> typed node should have exactly one
>>>>> outgoing ex:p, that leads either to <S> or to <T> node. This
>>>>> however does not forbid the target node to have both <S> and <T>;
>>>>> we exclude any form of negative constraints.
>>>>>
>>>>> There are 9 valid typings, associating with ex:a and ex:b, in
>>>>> this order, the sets of shapes: {<S>} {<S>} {<S>} {<T>} {<S>}
>>>>> {<S>,<T>} {<T>} {<S>} {<T>} {<T>} etc. actually all combinations
>>>>> in the Cartesian product { {<S>}, {<T>}, {<S>,<T>} } X { {<S>},
>>>>> {<T>}, {<S>,<T>} } The unique maximal typing is <S>,<T> for both
>>>>> ex:a and ex:b.
>>>>
>>>> Huh?
>>>>
>>>> If ex:b is of type {<S>,<T>} then <ex:a> should not be <S> or in
>>>> <T> because both arms of the exclusive or disjunct are true. The
>>>> literature that I have read on shape expressions is very clear that
>>>> exclusive or is the meaning of the | construct - see
>>>> http://www.w3.org/Submission/2014/SUBM-shex-primer-20140602/ for
>>>> example.
>>>>
>>> Indeed, there is a difference between our semantics and the one on
>>> the page you site. The reason for that is basically that we started
>>> our work on a previous version of shapes, in which the Or was not
>>> exclusive. e.g. http://www.w3.org/2013/ShEx/Primer.html
>>>
>>> If the user cases require Xor, then we can think of extending the
>>> semantics. I would however not advise to introduce the possibility
>>> to check whether a node *does not satisfy* a given shape. Some form
>>> of exclusiveness can be expressed with closed shapes, or even with a
>>> 'controlled' version of open shapes. Indeed, with closed shapes, a
>>> node would match
>>>
>>> <S> { ( ex:p @<S> | ex:p @<T> ) }
>>>
>>> if it has exactly one ex:p outgoing property. The 'controlled'
>>> version of /open/ shape would enforce that the shapes are 'open' only
>>> on the labels not mentioned in the shape. So, the latter shape would
>>> be satisfied by nodes that have exactly one outgoing ex:p, and any
>>> other outgoing edges which label is different from ex:p.
>> I don't remember having seen any open or controlled open treatment in
>> this semantics. It appears to me that there would have to be a
>> complete rewrite of the semantics for this.
> Open shapes are obtained by using the universal type, discussed on p. 23
> of the full version of the paper http://arxiv.org/pdf/1404.1270v2 We only
> considered deterministic shapes there because in that section we were
> interested in efficient validation, but open shapes are perfectly
> definable for non-deterministic shapes.
>
> There is no need of rewriting of the syntax, open shapes fit perfectly
> the remaining of the paper.
>
> Lemma 8.6 states uniqueness and minimality of the typing, with well
> identified conditions, that I think fit quite well the user cases in
> which validation is performed starting from some identified root nodes
> (captured by the notion of pre-typing).
>>> I believe that such controlled open semantics allows to talk about
>>> what is expected to be in the graph, including cardinality
>>> constraints for all properties that were mentioned, and in the same
>>> time allows to have in the graph all other triples which predicates
>>> are outside of the 'domain' of interest. Additionally, it has a well
>>> defined declarative semantics.
>> Where?
> As I said before, basically p. 23 as addition of the semantics defined
> before in the same paper.
>
> Iovka
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAEBAgAGBQJU7gQ3AAoJECjN6+QThfjzcA0H+QEOwdBnV89+ZNrahe1nZmx+
yvppEA1ss9Z4+PGwFVbZq3xgXsUYNZRxiHXPiILMexFahr4g0EOWIkKVoqg+z/XG
YaQwmnM6ubP/Vj3jwlqZwbKrc4kzrpMZ8f82MG/YXpZRGyWwC0pzphOW+2nNY+VI
ROkMPV760yCnX/5kUJ0oZgKXg6XJfo3EX2C6tD4Lj/mC6KnTzfmS2anaPNWwzDJW
nqiVSsQT+oNH0gqLZeH/FnCGJeO1Q3p9ZQx7yQTU0M8KxwnnIHJU5d96ARnoD606
HwnnnKQJGVMMIyKvIqKuX0VsFwDOGuSSH46xOSXCGgGAw/psbfHXqwJ89KWPPXY=
=vxKG
-----END PGP SIGNATURE-----
Received on Wednesday, 25 February 2015 17:20:22 UTC