[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