- From: Jose Emilio Labra Gayo <jelabra@gmail.com>
- Date: Tue, 3 Jun 2014 22:32:43 +0200
- To: Olivier Rossel <olivier.rossel@gmail.com>
- Cc: "public-rdf-shapes@w3.org" <public-rdf-shapes@w3.org>
- Message-ID: <CAJadXXLdXh_zFu7UuE+mPeQ_TkG-a1=usZFZDyLsG320O2qeAw@mail.gmail.com>
I have tried it with shexcala (http://labra.github.io/ShExcala/) and it works as you expected. Although by now, you can play with the command line tool, I am currently working on an online validator using shexcala. Best regards, Jose Labra On Tue, Jun 3, 2014 at 5:55 PM, Olivier Rossel <olivier.rossel@gmail.com> wrote: > Hi all. > > I need to model a given constraint: > in a given set of resources, two properties must appear together, or none. > > Let me be more specific: > any resource with a property "ex:a" of type "xsd:string" must be tested > against the <IssueShape> shape > and must PASS. > > At the moment, here are my shapes: > ############### > PREFIX ex: <http://ex.example/#> > PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> > PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> > > start = <IssueShape> > > <IssueShape> { > ex:a xsd:string, > (ex:state xsd:string, > ex:state2 xsd:string)? > } > ################### > > and here is my set of data: > ################### > PREFIX ex: <http://ex.example/#> > PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> > PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> > > <Issue1> > ex:a "a" > . > <Issue2> > ex:state "a"; > ex:a "a" > . > ################# > > Here are my expectations: > <Issue2> is supposed to fail, whereas <Issue1> is supposed to be ok. > > My experience with the online demos are: > > ----- > 1) with http://www.w3.org/2013/ShEx/SimpleShExDemo > ----- > > <Issue1> PASS. > <Issue2> is not tested. > <Issue2> is in the remaining triples: > <Issue2> <http://ex.example/#state> "a". > <Issue2> <http://ex.example/#a> "a". > > ----- > 2) with http://www.w3.org/2013/ShEx/FancyShExDemo and Pre-typed graph > node: <Issue1> > ----- > > PASS > > ----- > 3) with http://www.w3.org/2013/ShEx/FancyShExDemo and Pre-typed graph > node: <Issue2> > ----- > > FAIL { > Errors: > ☹ mixed matches of <http://ex.example/#state> < > http://www.w3.org/2001/XMLSchema#string>, > <http://ex.example/#state2> <http://www.w3.org/2001/XMLSchema#string> > passed: [[ PASS { > <http://ex.example/#state> <http://www.w3.org/2001/XMLSchema#string> > matched by <Issue2> <http://ex.example/#state> "a". > }]] > empty: [[ FAIL { > <http://ex.example/#state2> <http://www.w3.org/2001/XMLSchema#string> > permitted to not match > }]] > Matches: > <http://ex.example/#a> <http://www.w3.org/2001/XMLSchema#string> > matched by <Issue2> <http://ex.example/#a> "a". > <http://ex.example/#state> <http://www.w3.org/2001/XMLSchema#string> > matched by <Issue2> <http://ex.example/#state> "a". > <http://ex.example/#state2> <http://www.w3.org/2001/XMLSchema#string> > permitted to not match > } > > ----- > 4) with http://www.w3.org/2013/ShEx/FancyShExDemo and selecting "Find > node types" > ----- > > I get this message: <Issue1> is a <IssueShape> > And no list of remaining triples. > > > ---------------------------------------------------------------------------------------------------------------------------------- > > In short, I never get a report that clearly states: > <Issue1> was tested against the <IssueShape> shape and PASSed. > <Issue2> was tested against the <IssueShape> shape and FAILed. > > > Is there a way to get such a report with the actual ShEx spec and > implementation? > Is my requirement related to the concept of closed shapes? (still under > discussion, afaiu). > > > -- Saludos, Labra
Received on Tuesday, 3 June 2014 20:33:32 UTC