- From: Eric Prud'hommeaux <eric@w3.org>
- Date: Tue, 14 Jun 2011 11:10:45 -0400
- To: public-rdb2rdf-wg@w3.org
I hacked up a "grammar" for an R2RML mapping (scare quotes 'cause it's an abstract syntax -- there are no lexical tokens to e.g. tell if the first Name is a TableOwner or a LogicalTable). http://www.w3.org/2005/01/yacker/uploads/R2RML_Mapping?lang=perl&markup=html#prod-R2RML_Mapping-R2RML_Mapping Anyone can hack on this. Note that there's no history, so if you're going to do something radical, it's polite to either save under a new name or copy the old bnf someplace safe like an email. I tried to be as faitful to the spec text as possible, which should hilight some possible questions, e.g. [2] TriplesMap ::= (TableOwner)? LogicalTable SubjectMap (PredicateObjectMap)* (RefPredicateObjectMap)* [4] LogicalTable ::= TableName | SqlQuery Shouldn't the TableOwner be optional only when the LogicalTable is a TableName, i.e. [2] TriplesMap ::= LogicalTable SubjectMap (PredicateObjectMap)* (RefPredicateObjectMap)* [4] LogicalTable ::= TableOwner? TableName | SqlQuery ? Anyways, I think working out an abstract syntax will help many people towards understand R2RML. -- -ericP
Received on Tuesday, 14 June 2011 15:11:23 UTC