By means of the Java code referenced below the CSV data (see input and output files below) was convered
Resulting OData file (see input and output files below)loaded into Tableau (via HTTP) and immediately
the data is actionable
The full version of Tableau is commercial but this example was done using the free version. Note that
Tableau could have been replaced by Excel or even Excel + PowerPivot, Sesame or any client that consumes
OData (ATOMish) data.
All of this was done by operations on models. The java code above is simply an ETL of CSV to OData.
the data originally came from an RDF triple store. Arguably a richer model than OData (until OData gets its
vocabulary support in). Indeed this example of a semantic ETL process of sorts is not to elevate
model above another.
Rather this example demonstrates an approach that uses model operations rather than specific service API's
to deliver data to clients that can be used to investigate and explore large amount of data. Tools that
prefer RDF can talk directly to the RDF store, tools that want CSV or OData
also work in the architecture.
The Janus LOD web application (Ref: http://data.oceandrilling.org/januslod/)
has been modified to return OData from the content negotiation request for ATOM. Also, appending the .atom
suffix to the end of the URL also will return the OData format.
The screen cast at the bottom of this page shows the sequence of navigating to a page of information in the Janus
webapp and then loading the OData version of the feed into Tableau for plotting and exploring.
Other clients like Sesame, or Excel could also be used to consume directly such OData formats.
These examples never bothered to map URI's to more human readable labels which any production effort
would do. So the screen capture of the Tableau interface shows some rather long and unfriendly URI's
would gain nice human labels in a "real" version.
Source code modified from in memory producer example