- From: Dan Brickley <danbri@google.com>
- Date: Thu, 16 Oct 2014 15:37:03 +0100
- To: Anastasia Dimou <anastasia.dimou@ugent.be>
- Cc: "public-csv-wg@w3.org" <public-csv-wg@w3.org>
On 16 October 2014 12:49, Anastasia Dimou <anastasia.dimou@ugent.be> wrote: > > On 10/15/2014 03:44 PM, Dan Brickley wrote: >> >> http://chinookdatabase.codeplex.com/ >> >> I've uploaded a shell script that converts from the Sqlite3 dump into >> CSV, alongside the CSVs. >> >> See >> https://github.com/w3c/csvw/tree/gh-pages/examples/tests/scenarios/chinook >> for overview of schema / contents and links to the data files, >> >> https://github.com/w3c/csvw/tree/gh-pages/examples/tests/scenarios/chinook/csv >> >> Intent is to use this as a well known dataset for exploring multi-CSV >> issues with mappings/templates. > > > And I uploaded an RML mapping document mapping the chinook CSV files to RDF. > See > https://github.com/w3c/csvw/tree/gh-pages/examples/tests/scenarios/chinook/attempts/attempt-1. > > Remark: I changed the public RMLProcessor (development branch) to make it > even simpler to run the mappings just by providing the mapping document (URL > or local file) and the output file, for instance mvn exec:java > -Dexec.args="https://raw.githubusercontent.com/w3c/csvw/gh-pages/examples/tests/scenarios/chinook/attempts/attempt-1/chinook.rml.ttl > /path/to/local/output/file/chinook.rml.nt" This is super great - thanks Anastasia! We now have an example of at least one way of mapping a package of multiple CSVs into a common graph. Are there particular bundles of CSVs from other use cases we should look at next? The events demo (single csv) is now updated to use the new simpler tooling / interface. https://github.com/w3c/csvw/tree/gh-pages/examples/tests/scenarios/events >From https://github.com/w3c/csvw/blob/gh-pages/examples/tests/scenarios/events/attempts/attempt-1/mapping-events.rml.ttl here is the mapping. <#myCSV> rml:source "https://raw.githubusercontent.com/w3c/csvw/gh-pages/examples/tests/scenarios/events/source/events-listing.csv"; rml:referenceFormulation ql:CSV . <#MusicEvent> rml:logicalSource <#myCSV>; rr:subjectMap [ rr:termType rr:BlankNode; rr:class schema:MusicEvent; ]; rr:predicateObjectMap [ rr:predicate schema:name; rr:objectMap [ rml:reference "Name"; ] ]; rr:predicateObjectMap [ rr:predicate schema:startDate; rr:objectMap [ rml:reference "StartDate"; rr:datatype schema:Date; ] ]; rr:predicateObjectMap [ rr:predicate schema:location; rr:objectMap [ rr:parentTriplesMap <#Place> ] ]; rr:predicateObjectMap [ rr:predicate schema:offers; rr:objectMap [ rr:parentTriplesMap <#Offer> ] ] . <#Place> rml:logicalSource <#myCSV>; rr:subjectMap [ rr:termType rr:BlankNode; rr:class schema:Place; ]; rr:predicateObjectMap [ rr:predicate schema:address; rr:objectMap [ rml:reference "location_address"; ] ]; rr:predicateObjectMap [ rr:predicate schema:name; rr:objectMap [ rml:reference "location_name"; ] ] . <#Offer> rml:logicalSource <#myCSV>; rr:subjectMap [ rr:termType rr:BlankNode; rr:class schema:Offer; ]; rr:predicateObjectMap [ rr:predicate schema:url; rr:objectMap [ rml:reference "ticket_url"; rr:termType rr:IRI; ] ] . The next natural question is: how should this be cited from the CSV's JSON-LD metadata description? Can anyone help make https://github.com/w3c/csvw/blob/gh-pages/examples/tests/scenarios/events/attempts/attempt-1/metadata.json look more plausible? Dan
Received on Thursday, 16 October 2014 14:37:32 UTC