- From: Iovka Boneva <iovka.boneva@univ-lille1.fr>
- Date: Mon, 26 May 2014 16:20:51 +0200
- To: "public-rdf-shapes@w3.org" <public-rdf-shapes@w3.org>
- Message-ID: <53834DC3.5050804@univ-lille1.fr>
Hi Olivier,
I agree that this definition is probably the most natural: negate the
boolean value.
However, it does not hold for one of the examples
1) forbid a and be to appear cojointly
<XXX>{
.... ,
^ (:a xsd:string, :b xsd:string) ,
....
}
With this definition, 2 a's and 1 b would be accepted.
I think that property is expressed rather by
^ ( :a xsd:string+, :b xsd:string+) ,
(although I don't remember whether the Kleene + is part of the syntax).
Iovka
Le 26/05/2014 12:48, Olivier Rossel a écrit :
> Hi Iovka,
>
> This is indeed a non-trivial topic, with rough edges.
>
> My initial idea is to try to match what is after the ^
> and then negate the boolean result.
>
> So for example:
> <XXX>{
> (:a xsd:string | :b xsd:string)
> }
>
> would match these triples:
> :x :a "a".
>
> or these ones:
> :x :b "b".
>
> So negating it like that:
> <XXX>{
> ^ (:a xsd:string | :b xsd:string)
> }
>
> simply make these triples to FAIL the validation.
>
>
>
> So going back to your examples:
> 1) forbid a and be to appear cojointly
>
> <XXX>{
> .... ,
> ^ (:a xsd:string, :b xsd:string) ,
> ...
> }
>
> 2) forbid any a's and b's
> <XXX>{
> .... ,
> ^ :a xsd:string,
> ^ :b xsd:string,
> ....
> }
>
> 3) forbid two a's and one b
> <XXX>{
> .... ,
> ^ (:a xsd:string{2}, :b xsd:string),
> ....
> }
>
> 4) accept any combination except when two a's and one b
> <XXX>{
> .... ,
> (:a xsd:string*, :b xsd:string*) ^ (:a xsd:string{2}, :b xsd:string),
> ....
> }
>
> (note that there is no , to separate the two statements).
>
> These are honestly very rough examples.
> May be we should get in touch with people who have worked
> on the implementation of negation in SPARQL 1.1
> They probably have very precise idea of the rough edges of negation.
>
>
>
>
>
>
>
>
>
>
> On Mon, May 26, 2014 at 12:22 PM, Iovka Boneva
> <iovka.boneva@univ-lille1.fr <mailto:iovka.boneva@univ-lille1.fr>> wrote:
>
> Dear Olivier,
>
> Regarding negation, one of the difficulties is in defining clear
> and intuitive semantics. For instance, take
> <XXX> {
> ^ (:a xsd:string | :b xsd:string)
> }
> What does it mean ? What is forbidden for the properties of an
> XXX-typed node ?
> - forbids a and be to appear cojointly ?
> - forbids any a's and b's ?
> - what about two a's and one b ? is it forbidden or not ?
> - what about two a's and two b's ?
>
> What did you mean in your example ?
>
> Best regards,
> Iovka
>
>
> Le 26/05/2014 11:25, Olivier Rossel a écrit :
>> For my information:
>>
>> Will it be possible to negate a group?
>> Something (roughly) like:
>> <XXX> {
>> ^ (:p1 rdf:Resource | :p2 xsd:string)
>> }
>>
>> Will it also be possible to negate a valueReference to a shape value?
>> <XXX> {
>> ^ (:p3 @<YYY>)
>> }
>>
>> Will I be able to say something like:
>> <XXX> {
>> ^ :p3 @<YYY> ,
>> ^ (:p3 xsd:string | :p3 xsd:dateTime)
>> }
>>
>>
>> On Mon, May 26, 2014 at 11:04 AM, Dam, Jesse van
>> <jesse.vandam@wur.nl <mailto:jesse.vandam@wur.nl>> wrote:
>>
>> Hi Alasdair and other,
>>
>> I would like to make you aware that is there is also my
>> javscript based validation set, however this uses the
>> SHEX/RDF representation instead of the SHEXc format.
>> For the definition of the Shex/RDF in itself see
>> https://www.w3.org/2001/sw/wiki/ShEx/RDF_serialization. Self
>> validation succeeds and any test case is first validated
>> before tested.
>>
>> The not operator is not implemented here yet, but I will add
>> that this week.
>>
>> Here you can find https://github.com/jessevdam/shextest/ the
>> complete set. It is completely coded in javascript. You can
>> start the webserver using ruby(uses sinatra) and go to
>> localhost:4567.
>>
>> The validation is bit different form to other validators and
>> some test cases are failing as I try to find discussion point
>> to improve SHEX. See the discussion page on
>> https://www.w3.org/2001/sw/wiki/ShEx/CurrentDiscussion for
>> the current most important discussion points. This test
>> script contains a definition for a start element, however the
>> final form of this is yet determined and will be part of a
>> future discussion.
>>
>> This and next week I will try to include a parser for the
>> ShexC format.
>>
>> Greetz Jesse
>>
>>
>> ________________________________
>> Van: Gray, Alasdair J G [A.J.G.Gray@hw.ac.uk
>> <mailto:A.J.G.Gray@hw.ac.uk>]
>> Verzonden: maandag 26 mei 2014 10:12
>> Aan: Jose Emilio Labra Gayo
>> CC: Eric Prud'hommeaux; public-rdf-shapes@w3.org
>> <mailto:public-rdf-shapes@w3.org>
>> Onderwerp: Re: ShEx negation of edge path
>>
>>
>> On 24 May 2014, at 06:46, Jose Emilio Labra Gayo
>> <jelabra@gmail.com
>> <mailto:jelabra@gmail.com><mailto:jelabra@gmail.com
>> <mailto:jelabra@gmail.com>>> wrote:
>>
>> On Fri, May 23, 2014 at 5:05 PM, Gray, Alasdair J G
>> <A.J.G.Gray@hw.ac.uk
>> <mailto:A.J.G.Gray@hw.ac.uk><mailto:A.J.G.Gray@hw.ac.uk
>> <mailto:A.J.G.Gray@hw.ac.uk>>> wrote:
>> Hi Eric, All,
>>
>> I want to be able to express the constraint that a certain
>> resource in an RDF document should not have certain a property.
>>
>> Specifically, I want to express that the follow triple is not
>> permitted because ex:resource is not permitted to have an
>> ex:invalidProperty edge.
>> ex:resource ex:invalidProperty “Some value” .
>>
>> You can negations with symbol !. For example:
>>
>> <Shape> { ! ex:invalidProperty . }
>>
>> That’s what I thought would be in the syntax.
>>
>> However, I think, negations are not yet implemented in the
>> Javascript implementation.
>>
>> Thanks for that piece of information.
>>
>> I have just added negations to the Scala implementation
>> (http://labra.github.io/ShExcala/)
>>
>> Unfortunately the deployment environment I’m working with
>> requires that I use the Javascript implementation, although I
>> may try the Scala version to validate the approach.
>>
>> Best regards
>>
>> Alasdair
>>
>> Best regards, Jose Labra
>>
>> Thanks
>>
>> Alasdair
>>
>> Alasdair J G Gray
>> Lecturer in Computer Science, Heriot-Watt University, UK.
>> Email: A.J.G.Gray@hw.ac.uk
>> <mailto:A.J.G.Gray@hw.ac.uk><mailto:A.J.G.Gray@hw.ac.uk
>> <mailto:A.J.G.Gray@hw.ac.uk>>
>> Web: MailScanner has detected a possible fraud attempt from
>> "www.macs.hw.ac.uk <http://www.macs.hw.ac.uk>" claiming to be
>> http://www.alasdairjggray.co.uk<http://www.macs.hw.ac.uk/~ajg33
>> <http://www.macs.hw.ac.uk/%7Eajg33>>
>> ORCID: http://orcid.org/0000-0002-5711-4872
>> Telephone: +44 131 451 3429
>> <tel:%2B44%20131%20451%203429><tel:%2B44%20131%20451%203429>
>> Twitter: @gray_alasdair
>>
>>
>>
>>
>>
>>
>> ________________________________
>>
>> Sunday Times Scottish University of the Year 2011-2013
>> Top in the UK for student experience
>> Fourth university in the UK and top in Scotland (National
>> Student Survey 2012)
>>
>> We invite research leaders and ambitious early career
>> researchers to join us in leading and driving research in key
>> inter-disciplinary themes. Please see
>> www.hw.ac.uk/researchleaders
>> <http://www.hw.ac.uk/researchleaders><http://www.hw.ac.uk/researchleaders>
>> for further information and how to apply.
>>
>> Heriot-Watt University is a Scottish charity registered under
>> charity number SC000278.
>>
>>
>>
>> --
>> Saludos, Labra
>>
>> Alasdair J G Gray
>> Lecturer in Computer Science, Heriot-Watt University, UK.
>> Email: A.J.G.Gray@hw.ac.uk
>> <mailto:A.J.G.Gray@hw.ac.uk><mailto:A.J.G.Gray@hw.ac.uk
>> <mailto:A.J.G.Gray@hw.ac.uk>>
>> Web: MailScanner has detected a possible fraud attempt from
>> "www.macs.hw.ac.uk <http://www.macs.hw.ac.uk>" claiming to be
>> http://www.alasdairjggray.co.uk<http://www.macs.hw.ac.uk/~ajg33
>> <http://www.macs.hw.ac.uk/%7Eajg33>>
>> ORCID: http://orcid.org/0000-0002-5711-4872
>> Telephone: +44 131 451 3429 <tel:%2B44%20131%20451%203429>
>> Twitter: @gray_alasdair
>>
>>
>>
>>
>>
>>
>> ________________________________
>>
>> Sunday Times Scottish University of the Year 2011-2013
>> Top in the UK for student experience
>> Fourth university in the UK and top in Scotland (National
>> Student Survey 2012)
>>
>> We invite research leaders and ambitious early career
>> researchers to join us in leading and driving research in key
>> inter-disciplinary themes. Please see
>> www.hw.ac.uk/researchleaders
>> <http://www.hw.ac.uk/researchleaders> for further information
>> and how to apply.
>>
>> Heriot-Watt University is a Scottish charity registered under
>> charity number SC000278.
>>
>>
>>
>
>
Received on Monday, 26 May 2014 14:24:11 UTC