I _Really_ Don't Know

A low-frequency blog by Rob Styles

Excel RDF

Introduction

When world's collide sometimes things happen that can be useful. This is _not_ one of those useful things, but a collision of two worlds none-the-less...

ExcelRDF is a proposed serialisation for RDF using the Microsoft Excel Spreadsheet format. This work was inspired by the discussions in the semantic web community about Linked Data and whether or not it mandates the use of RDF. This document is not trying to prove a point, insult anyone or come down on either side of the argument. I just noticed that it hadn't been done and it didn't seem too difficult. Of course, that it hadn't been done should have been enough of a warning to me that it is not, in any sense, desirable.

Conventions used in this document

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119](http://www.ietf.org/rfc/rfc2119.txt).

Overview

When a server receives a HTTP or HTTPS request for a resource that is described in RDF and the client indicates that it is willing to accept content of type application/vnd.ms-excel the server MAY respond with a Microsoft Excel spreadsheet meeting the following conventions.

Example

The attached example Microsoft Excel spreadsheet contains [RDF from the dbpedia project describing Annette Island Airport](http://dbpedia.org/resource/Annette_Island_Airport) using the conventions described above.

ExcelRDF Example File

Use Cases

ExcelRDF may be useful where it is desirable to produce charts showing characteristics of a dataset, such as the relative distribution of types within a dataset. Perhaps analysing the count of particular properties. I can think of no obvious way to assess graph characteristics such as linkiness, but you could do things like word counts in literals, or working out how of the literal data is in French.

ExcelRDF may be useful where a specific contract, policy or agreement means that the data must be delivered as an Excel spreadsheet while the underlying data is more useful in RDF.

ExcelRDF may be useful if you wish to be deliberately obtuse.

Comments

Bernhard Schandl

Let me point you to a tool that represents any Linked Data RDF description as csv file (which conveys essentially the same information as a spreadsheet) by the means of a virtual file system: the paper is at http://events.linkeddata.org/ldow2009/papers/ldow2009_paper1.pdf and you can download the virtual file system driver at http://lodfs.sourceforge.net

Jonathan Rochkind

Nice. The point this proves to me is that RDF does not mean XML, or any other particular serialization. An Excel spreadsheet prepared according to your spec would in fact _BE_ RDF. So it's impact on the argument about whether linked data needs to be RDF.... is unclear.

Jeni Tennison

If column C may contain either a URI or a literal value, how do you tell the difference between the two? Some literal values look like URIs (eg the value of dc:identifier). It's a short step from this to RDF/CSV, which would arguably be more useful (since it wouldn't be surrounded in MS Excel cruft).

Rob Styles

@Jonathan - yes, a very important point. @Jeni RDF/CSV was my initial thought, but Excel seemed somewhat more perverse... Suggestions as to how to distinguish URIs and literals in Object columns welcomed. New someone would spot that :-( Glad it was you.