[Kde-pim] Architecture: Akonadi, Nepomuk, SPARQL

Michael Schuerig michael.lists at schuerig.de
Fri Apr 22 22:41:13 BST 2011


On my quest to export contacts matching some criteria, I read around a 
bit in blog posts, presentations and Robert Zwerus's thesis on Akonadi.

At first my understanding was, that Akonadi treats the items (payload) 
it stores as opaque, apart from a little generic metadata. This layer 
uses a relational database (MySQL by default) to store its data.

But, I was wondering, how can I ever hope to efficiently query this data 
for items matching my criteria? As it turns out, there's another layer 
for indexing/searching on top of the storage layer: Nepomuk. Presumably 
Nepomuk, by means of strigi, parses and indexes the Akonadi payload data 
and stores its result in a Virtuoso database. Virtuoso in turn quickly 
responds to queries formulated in SPARQL.

There are a few things about this picture that I don't understand, 
assuming I've got the picture correctly. The first thing is why there 
need to be two separate database servers when Virtuoso itself is a quite 
capable relational/SQL database? Storing related data consistently in 
two databases instead of just one surely doesn't make things easier.

Opacity vs semantics. The approach seems to be to first store data 
opaquely, i.e., with no model of what the data may be. Then let the 
strigi analyzers have a go at the blobs and mould them into things 
recognizable as messages, contacts, or calendar events. In other words, 
for the payload data to be useful and to be easily queriable in 
particular, it has to conform to some model (or schema or ontology). 
Then why not store it in such a "semantically rich" way to begin with?

I can easily imagine how an architecture can grow to look like this. But 
with hindsight, is this really the best way to fulfill the current 
requirements?

Michael

-- 
Michael Schuerig
mailto:michael at schuerig.de
http://www.schuerig.de/michael/
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/



More information about the kde-pim mailing list