- From: Eric Prud'hommeaux <eric@w3.org>
- Date: Wed, 5 Feb 2014 19:21:55 -0500
- To: Jose Emilio Labra Gayo <jelabra@gmail.com>
- Cc: public-rdf-shapes@w3.org
- Message-ID: <CANfjZH3EN0k3Z0UyL3QbUaM5ihL2Nm40Vb_nwRYj+dmZebTTRA@mail.gmail.com>
On Feb 5, 2014 10:31 PM, "Jose Emilio Labra Gayo" <jelabra@gmail.com> wrote: > > > I think a good extension of the current ShEx specification could be to allow reverse arcs, which would allow to express constraints on the shape of arcs that arrive to a given node, i.e. not only on the arcs departing from a node, but also the arcs that receives a node. > > For example, if I want to express that countries are the reference area of zero or more observations, I can express it by: > > <Country> { > rdfs:label xsd:string , > ^ :ref-area @<observation>* # ^ means that it receives the arc ":ref-area" > } > > <Observation> { > :value xsd:integer , > :ref-area @<Country> > } > > In this way, a model like the following could validate: > > :esp rdfs:label "Spain" . > > :o1 :value 23, :ref-area :esp . > :o2 :value 45, :ref-area :esp . > > I used the symbol "^" but I am not sure if it is reserved for other purposes. > > In fact, I noticed that the BNF grammar ( http://www.w3.org/2013/ShEx/ShEx.bnf) has reserved the symbols "!" and "^" at the beginning of arc definitions...what is their purpose? "Not" and "reverse" respectively. I never implemented them so I don't have any idea how complicated they would make the semantics. Seems like a good question for the Lille team. (Well, I suspect that "not" would at least be weird because it would have to be tested after all of the positives.) > -- > Best regards, Labra
Received on Thursday, 6 February 2014 00:22:26 UTC