Re: Some questions on ShEx specification

* Jose Emilio Labra Gayo <jelabra@gmail.com> [2014-02-05 11:47+0100]
> I have a small set of questions about the ShEx abstract syntax
> specification:
> 
> 1.- Is it necessary the field "id: Label" in the arcrule? (
> http://www.w3.org/2013/ShEx/Definition#as_defn_ArcRule)

The goal of the label on a rule is that you be able to take advantage of the fact that ShEx compiles to RDF. There are countless use cases that can be met by augmenting the data in a grammar, e.g. oslc:maxSize and other stuff in <http://open-services.net/bin/view/Main/OSLCCoreSpecAppendixA#Value_type_Property>. This allows us to fasten arbitrary extra properties to a rule.


> 2.- Should we have Set[RDFNode] in ValueSet instead of Set[IRI] so we could
> define, for example:
>     <a> { :p (1 2) }  ? (
> http://www.w3.org/2013/ShEx/Definition#as_defn_ArcRule)

yup, already implemented that way.
fixed, modulo s/RDFNode/RDFTerm/



> 3.- I think the definition of Schema could be replaced by Set[Shape] ?

Hmm, but it really should have a start as well to meet the myriad use
cases where you want to say that some RDF node is or should be
conformant to a particular shape in the schema.


> 4..- I also think, "start" should be added to the Schema abstract
> syntax...such as Schema = (shapes: Set[Shape], start = Label) ?

I wish I'd read this before answering the previous issue. Apparently we agree. I make the schema start be the actual rule rather than its label, but I'm not sure which is better.

I forget Set notation for optional. How's this:?

Schema	::= (rules:Set((Label, Rule)), start:Rule?


> -- 
> Best regards, Jose Labra

-- 
-ericP

office: +1.617.599.3509
mobile: +33.6.80.80.35.59

(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.

There are subtle nuances encoded in font variation and clever layout
which can only be seen by printing this message on high-clay paper.

Received on Wednesday, 5 February 2014 15:24:48 UTC