Re: Reverse arcs in Shapes

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