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

CSV: types, variables, translations, integration

From: Richard H. McCullough <rhmccullough@att.net>
Date: Tue, 25 Nov 2014 06:03:30 -0800
Message-ID: <1416924210.46606.YahooMailNeo@web181501.mail.ne1.yahoo.com>
To: "public-csv-wg@w3.org" <public-csv-wg@w3.org>
Cc: "dave@dajobe.org" <dave@dajobe.org>
I have been working with CSV files for many years. I want to share my techniques for dealing with the issues
of types, variables, translation, and integration into a knowledge representation language.

I have used three properties to describe the basic CSV information, and begin-end sentences to integrate
CSV files into a KR language.  The same approach also works for TSV files, and is compatible with SPARQL.

The three properties are named "label", "format" and "meaning".
"label" is a list of column names
"format" is a list of type:variable names
"meaning" is a list of KR sentences
The table of CSV sentences is named "relation"

To illustrate the use of these properties, I will use a simple address book and Turtle.

:ab  a  :relation ;
       :label  ( "full name"  "phone number"  "email address" ) ;
       :format  ( "person:1"  "phone:2"  "email:3" ) ;
       :meaning  {
             $1  a  :person .  $2  a  :phone .  $3  a  :email .
             $1  :phone  $2 ;
                   :email  $3 .
       } .

The use of integers as variable names is concise and consistent with UNIX shell conventions.
For SPARQL, you can use SPARQL variables as relation variables and column names.

For further details on my use of these concepts, see http://mkrmke.org/

Dick McCullough
Context Knowledge Systems
What is your view?
Received on Tuesday, 25 November 2014 14:03:59 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:27:45 UTC