Exposing Resources in Datomic Using Linked Data by Ratan Sebastian.
From the post:
Financial data feeds from various data providers tend to be closed off from most people due to high costs, licensing agreements, obscure documentation, and complicated business logic. The problem of understanding this data, and providing access to it for our application is something that we (and many others) have had to solve over and over again. Recently at Pellucid we were faced with three concrete problems
Adding a new data set to make data visualizations with. This one was a high-dimensional data set and we were certain that the queries that would be needed to make the charts had to be very parameterizable.
We were starting to come to terms with the difficulty of answering support questions about the data we use in our charts given that we were serving up the data using a Finagle service that spoke a binary protocol over TCP. Support staff should not have to learn Datomic’s highly expressive query language, Datalog or have to set up a Scala console to look at the raw data that was being served up.
Different data sets that we use had semantically equivalent data that was being accessed in ways specific to that data set.
And as a long-term goal we wanted to be able to query across data sets instead of doing multiple queries and joining in memory.
These are very orthogonal goals to be sure. We embarked on a project which we thought might move us in those three directions simultaneously. We’d already ingested the data set from the raw file format into Datomic, which we love. Goal 2 was easily addressable by conveying data over a more accessible protocol. And what’s more accessible than REST. Goal 1 meant that we’d have expose quite a bit of Datalog expressivity to be able to write all the queries we needed. And Goal 3 hinted at the need for some way to talk about things in different data silos using a common vocabulary. Enter the Linked Data Platform. A W3C project, the need for which is brilliantly covered in this talk. What’s the connection? Wait for it…
The RDF Datomic Mapping
…
If you are happy with Datomic and RDF primitives, for semantic purposes, this may be all you need.
You have to appreciate Ratan’s closing sentiments:
We believe that a shared ontology of financial data could be very beneficial to many and open up the normally closeted world of handling financial data.
Even though we know as a practical matter that no “shared ontology of financial data” is likely to emerge.
In the absence of such a shared ontology, there are always topic maps.