Michael Gaare on the semantic web and Datomic
The following is written by Michael Gaare following a real-life conversation and is re-printed here with permission.
MICHAEL GAARE: I just think it's a fantasy. Not all of it. There are some good ideas there around having structured data. Structured data is definitely good. But where the fantasy starts is when they start talking about the kinds of magical things that we'll be able to do with that structured data, and the ridiculous levels of optimism about how we'll be able to interoperate with semantic data from different sources.
MICHAEL GAARE: My observation is that there's a fundamental, philosophical problem. Semantic web has essentially Platonic underpinnings. There's some perfect description of the world, "universal truths" as one guy I worked with would put it, and we "merely" have to describe our data in those terms. That flies in the face of everything we as engineers have come to understand about how people, processes, and language works.
MICHAEL GAARE: It's the nature of people to come up with their own set of concepts, terms, and understandings as part of tackling some problem and building an organization of people around its solution. In semantic web terms, everyone comes up with their own "ontology" in their own space. So how do you deal with this problem if you're trying to work with this data? As engineers, this is what agile software development methodology is all about. The engineers get with the domain experts, they learn the domain, and they model it with software to solve the business problems. This is pretty hard on its own. In the semantic world, that's just the first step. Not only do you need to have a semantic/ontological model of the domain, you have to do one of two things. You can repeat this process for every domain you're interested in, and if that's what you're doing why not just write code like a normal person? You're not getting much leverage out of your semantic tools at that point. The other option, and this is the fantasy that a lot of semantic web people chase, is that you will build some kind of "super" ontology, which represents an idealized or somehow conceptually purer understanding of domain concepts that you can somehow map the messy, real-world data and concepts into.
Datomic + Semantic web
MICHAEL GAARE: So I'd written some stuff at my last place that let us store RDF triples in Datomic. I didn't get to the point of implementing something that would be able to run SPARQL in Datomic. I bet it's possible, at least for a big enough subset to be useful. To the extent that you can do semantic web anywhere, I think Datomic could be a good solution. It will take some work to get it there though. One thing I really missed when going from Datomic to a triple store was the lack of an "entity" concept and API, and also modeling time in triple stores is extremely awkward. So I think Datomic has some big advantages here.