W3C home > Mailing lists > Public > public-csv-wg@w3.org > June 2014

Re: Attempted example CSV metadata document and template

From: Ivan Herman <ivan@w3.org>
Date: Tue, 24 Jun 2014 17:06:06 +0200
Cc: Andy Seaborne <andy@apache.org>, W3C CSV on the Web Working Group <public-csv-wg@w3.org>
Message-Id: <E07D2ABB-9422-4EC7-87E0-51BCF77F0E71@w3.org>
To: "Tandy, Jeremy" <jeremy.tandy@metoffice.gov.uk>
Hey Jeremy

On 24 Jun 2014, at 16:24 , Tandy, Jeremy <jeremy.tandy@metoffice.gov.uk> wrote:
<snip/>
> 
>> 
>> Moving the conditions from the metadata into the templates themselves
>> seem to be less error prone (although ending up with essentially if-
>> the-else structures which may be a bit more complicated to implement).
>> (Of course, we have the syntax issue on how to define the templates so
>> that it would also work well with XML, Turtle, and JSON as a targeted
>> output; lots of escape characters ahead...)
> 
> It would be good to see these ideas encapsulated in examples; I think it makes them easier to discuss!

Right. What I had in mind is something like a template below. I did go down into the weeds for the data itself, so the templates are, semantically, probably wrong, but I think you would get the idea. The templates has two 'if' branches triggered by one of the field name and a matching regexp; if that regexp is not a match, the whole template is ignored, otherwise it is used. I just used some of your condition regexps:

ex:{soc-detailed-occupation-code} a ex:SOC-DetailedOccupation ;
{{#{soc-detailed-occupation-code}.match("^,{3}\\d{2}-\\d{4},\\.*")}}
   skos:notation "{soc-detailed-occupation-code}" ;
{{\#}}
{{#{soc-detailed-occupation-code}.match(""^,\\d{2}-\\d{2}0{2},{3}\\.*"")}}
   skos:somethign "else";
{{\#}}
   skos:prefLabel "{soc-title}" ;
   skos:broader ex:{soc-detailed-occupation-code/major-group-element}-0000, 
                ex:{soc-detailed-occupation-code/major-group-element}-{soc-detailed-occupation-code/minor-group-element}00, 
                ex:{soc-detailed-occupation-code/major-group-element}-{soc-detailed-occupation-code/minor-group-element}{soc-detailed-occupation-code/broad-group-element}0 .


Ain't pretty, that is for sure (I used the mustache syntax) but maybe it is understandable. The {...}.function notation is something we may need for some other means anyway (e.g., {name}.urlencode() is something that may come up...).

I hope this makes it a bit clearer...

Ivan


----
Ivan Herman, W3C 
Digital Publishing Activity Lead
Home: http://www.w3.org/People/Ivan/
mobile: +31-641044153
GPG: 0x343F1A3D
WebID: http://www.ivan-herman.net/foaf#me






Received on Tuesday, 24 June 2014 15:06:39 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:21:40 UTC