Nepomuk Task Sponsoring

Thanks to a very successful fundraiser in 2011 I was able to continue working on Nepomuk and searching for new enterprise sponsoring. Sadly that search was not fruitful and in 2012 Nepomuk has become a hobby. Several people proposed to start another fundraiser. I, however, would like to approach the problem with more specific tasks. I am thus, trying to get sponsoring for specific bugs or features. Depending on their size the sponsoring goal will differ.

Here you can see the currently open tasks and their status:

Fix: Improve Plasma Active Startup Time

Click here to lend your support to: Fix: Improve Plasma Active Startup Time Through Nepomuk and make a donation at ! Plasma Active makes use of Nepomuk for most data management. Fast startup times are essential. There is a bug in Nepomuk’s ontology management which results in pointless re-parsing and updating of certain ontologies.

Status: in progress

Fix: Fix Crash in KActivityManager

Click here to lend your support to: Fix: Fix Crash in KActivityManager and make a donation at ! Bug 290234 describes a crash of the Activity Manager which many people experience. This crash is in Nepomuk. Since I do not know the cause of the crash yet and fixing this bug involves a lot of testing and experimentation it has is a slightly bigger budget.

Status: beta state (testing)

Feature: Faster Desktop Queries

Click here to lend your support to: Feature: Faster Desktop Queries and make a donation at !

Nepomuk uses Virtuoso’s SPARQL engine to perform queries. To that end a desktop query like “hastag:foobar hello world” is translated into SPARQL. Ignacio Serantes, the author of Nepoogle, provided a way to improve the performance of queries like the mentioned on a lot. However, to make full use of this improvement I would have to slightly change the internals of Nepomuk::Query::Query which takes a bit of time.

Status: open

Feature: Use Virtuoso Inference in Nepomuk

Click here to lend your support to: Feature: Use Virtuoso Inference in Nepomuk and make a donation at !

Virtuoso has very powerful inference capabilities. A typical example of inference is to query for all nfo:Media and to get all instances of sub-classes of nfo:Media such as nfo:Video. Nepomuk does not make use of these capabilities. Instead it has its own inferencer with the very fitting name CrappyInferencer.

The advantages of using Virtuoso’s inferencer would be:

  • More powerful and faster queries
  • Faster Nepomuk startup time
  • Smaller Nepomuk database

Status: beta state (testing)

Recent Posts

TPAC 2012 – Who Am I (On the Web)?

Last week I attended my first TPAC ever – in Lyon, France. Coming from the open-source world and such events like Fosdem or the ever brilliant Akademy I was not sure what to expect. Should I pack a suite? On arrival all my fears were blown away by an incredibly well organized event with a lot of nice people. I felt very welcome as a newbie, there was even a breakfast for the first-timers with some short presentations to get an overview of the W3C‘s work in general and the existing working groups. So before getting into any details: I would love this to become a regular thing (not sure it will though, seeing that next year the TPAC will be in China).

My main reason for going to the TPAC was identity on the Web, or short WebID. OpenLink Software is a strong supporter of the WebID identification and authentication system. Thus, it was important to be present for the meeting of the WebID community group.

The meeting with roughly 15 people spawned some interesting discussions. The most heatedly debated topic was that of splitting the WebID protocol into two parts: 1. identification and 2. authentication. The reason for this is not at all technical but more political. The WebID protocol which uses public keys embedded in RDF profiles and X.509 certificates which contain a personal profile URL has always had trouble being accepted by several working groups and people. So in order to lower the barrier for acceptance and to level the playing field the idea was to split the part which is indisputable (at least in the semantic web world) from the part that people really have a problem with (TLS).

This lead to a very simple definition of a WebID which I will repeat in my own words since it is not written in stone yet (or rather “written in spec”):

A WebID is a dereferencable URI which denotes an agent (person, organization, or software). It resolves to an RDF profile document uniquely identifying the agent.

Here “uniquely identify” simply means that the profile contains some relation of the WebID to another identifier. This identifier can be an email address (foaf:mbox), it can be a Twitter account, an OpenID, or, to restore the connection to the WebID protocol, a public key.

The nice thing about this separation of identity and authentication is that the WebID is now compatible with any of the authentication systems out there. It can be used with WebID-Auth (this is how I call the X.509 certificate + public key in agent profile system formally known as WebID), but also with OpenID or even with OAuth. Imagine a service provider like Google returning a WebID as part of the OAuth authentication result. In case of an OpenID the OpenID itself could be the WebID or another WebID would be returned after successful authentication. Then the client could dereference it to get additional information.

This is especially interesting when it comes to WebACLs. Now we could imagine defining WebACLs on WebIDs from any source. Using mutual owl:sameAs relations these WebIDs could be made to denote the same person which the authorizing service could then use to build a list of identifiers that map the one used in the ACL rule.

In any case this is a definition that should pose no problems to such working groups as the Linked Data Protocol. Even the OpenID or OAuth community should wee the benefits of identifying people via URIs. In the end the Web is a Web of URIs…

  1. And Now For Something Completely Different: Resizable Bootstrap Modals 4 Replies
  2. Digitally Sign Emails With Your X.509 Certificate in Evolution 7 Replies
  3. Use an X.509 certificate for SSH Login 3 Replies
  4. Virtuoso 6.1.6 and KDE 4.9 6 Replies
  5. Debugging Nepomuk/Virtuoso’s CPU usage 1 Reply
  6. Nepomuk Tasks: KActivityManager Crash 11 Replies
  7. Nepomuk Tasks: Let The Virtuoso Inferencing Begin 8 Replies
  8. Akonadi, Nepomuk, and A Lot Of CPU 13 Replies
  9. Nepomuk Tasks – Sponsor a Bug or Feature 60 Replies