ACTION-35: Note on multiple CSVs

Hi,

A brief note on some relevant material to look at prior to the F2F, on handling multiple CSVs. Please read the referenced documents if you have time, and not just the summary here.

# Tabular Data Packages

Tabular Data Packages [1] are built to contain references to multiple CSV files (‘resources’ in the JSON metadata file). Each of the CSV files has a JSON Table Schema [2] associated with it. This schema can specify a ‘primary key’ (a combination of columns that can be used to distinguish each row). It can also specify ‘foreign keys’ which specify:

  - a field (or list of fields) in the given schema that references a key
  - a field (or list of fields) in another resource that defines a key, through:
     - a reference to a data package
     - a reference to a resource within that data package
     - a reference to the field(s) in that resource within that data package

The example they provide is:

 "foreignKeys": [
    {
      "fields": "state"
      "reference": {
        "datapackage": "http://data.okfn.org/data/mydatapackage/",
        "resource": "the-resource",
        "fields": "state_id"
      }
    }
  ]

# Use Case 4

Use Case 4 [3] is a use case that requires several linked CSV files. In this example, the schema for publishing organisation charts as CSV files requires the publication of (at least) two interlinked CSV files.

I’ve written up an attempt/proposal [4] to address the particular requirements of that use case which takes a different approach to that in JSON Table Schemas in order to provide schema-to-schema references as well as schema-to-CSV-file references.

# Packaging on the Web

The W3C TAG has been working on creating an approach to publishing packages of files on the web [5]. This includes both a new format for packages (based on multipart mime types) and a way of publishing such that packages associated with given files are discoverable.

Tracker, this completes ACTION-35.

Cheers,

Jeni

[1] http://dataprotocols.org/tabular-data-package/
[2] http://dataprotocols.org/json-table-schema/
[3] http://www.w3.org/TR/csvw-ucr/#UC-OrganogramData
[4] https://github.com/w3c/csvw/tree/gh-pages/examples/tests/scenarios/uc-4/attempts/attempt-2
[5] http://w3ctag.github.io/packaging-on-the-web/
--  
Jeni Tennison
http://www.jenitennison.com/

Received on Saturday, 18 October 2014 14:53:22 UTC