- From: Dam, Jesse van <jesse.vandam@wur.nl>
- Date: Mon, 26 May 2014 13:48:18 +0000
- To: Olivier Rossel <olivier.rossel@gmail.com>, Iovka Boneva <iovka.boneva@univ-lille1.fr>
- CC: "Gray, Alasdair J G" <A.J.G.Gray@hw.ac.uk>, Jose Emilio Labra Gayo <jelabra@gmail.com>, Eric Prud'hommeaux <eric@w3.org>, "public-rdf-shapes@w3.org" <public-rdf-shapes@w3.org>
I agree with this interpretation and will implement it now like this into my javascript validation script. ________________________________ Van: Olivier Rossel [olivier.rossel@gmail.com] Verzonden: maandag 26 mei 2014 12:48 Aan: Iovka Boneva CC: Dam, Jesse van; Gray, Alasdair J G; Jose Emilio Labra Gayo; Eric Prud'hommeaux; public-rdf-shapes@w3.org Onderwerp: Re: ShEx negation of edge path 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 13:49:11 UTC