Virtuoso – Once More With Feeling


The Virtuoso backend for Soprano and, thus, Nepomuk can be seen as rather stable now. So now the big tests can begin as the goal is to make it the standard in KDE 4.4. Let me summarize the important information again:

Step 1

Get Virtuoso 5.0.12 from the Sourceforge download page. Virtuoso 6 is NOT supported. (not yet anyway)

Step 2

Hints for packagers: Soprano only needs two files: the virtuoso-t binary and the virtodbc_r(.so) ODBC driver. Everything else is optional. (For the self-compiling folks out there: –disable-all-vads is your friend.)

Step 3

Install libiodbc which is what the Soprano build will look for (Virtuoso is simply a run-time dependency.)

Step 4

Rebuild Soprano from current svn trunk (Remember: Redland is still mandatory. Its memory storage is used all over Nepomuk!)

Step 5

Edit ${KDEHOME}/share/config/nepomukserverrc with your favorite editor. In the “[Basic Settings]” section add “Soprano Backend=virtuosobackend”. Do not touch the main repository settings!

Step 6

Restart Nepomuk. I propose the following procedure to gather debugging information in case something goes wrong:
Shutdown Nepomuk completely:

 # qdbus org.kde.NepomukServer /nepomukserver org.kde.NepomukServer.quit

Restart it by piping the output into a temporary file (bash syntax):

 # nepomukserver 2> /tmp/nepomuk.stderr

Step 7

Wait for Nepomuk to convert your data. If you are running KDE trunk you even get a nice progress bar in the notification area (BTW: does anyone know why it won’t show the title?)

And Now?

That is already it. Now you can enjoy the new Virtuoso backend.

The development has taken a long time. But I want to thank OpenLink and especially Patrick van Kleef who helped a lot by fixing the last little tidbits in Virtuoso 5 for my unit tests to pass. Next step is Virtuoso 6.

23 thoughts on “Virtuoso – Once More With Feeling

  1. When I did the seven steps above and after I started nepomukserver, it reported that it wasn’t able to make the file ${KDEHOME}/share/apps/nepomuk/repository/main/data/virtuosobackend/soprano-virtuoso.lck

    The file ${KDEHOME}/share/config/nepomukserverrc was reset to use the sesame2 backend.

    I made the folder ${KDEHOME}/share/apps/nepomuk/repository/main/data/virtuosobackend manually and repeated steps 5-7, and then it worked.

  2. I’m trying openSUSE packages under 4.3.2 and conversion was fine but seems dolphin is slow obtaining file information and sometimes a change the file but the data is not updated. I don’t remember this effect before change but I’m not, sure so problem can be previous.

    By the way, are there a simple query to delete strigi information or export only custom data? Actually I try using strigi with my music but fails miserably because it was not capable to obtain album and artist names.

    I think that if I deselect a directory for strigi scanning all strigi data in that directory would be deleted in db but not. Is this a bug?

  3. When I run cmake, it completes successfully, but it says that the virtuoso backend will not be built. Since that’s kind of the point, I’m wondering what I’m doing wrong. I installed libiodbc2 and libiodbc2-dev, but I’m pretty new to compiling and am not sure why cmake will not build the virtuoso backend.

  4. Pingback: TRACEEMAIL.INFO » Identity in the Browser, Firefox style

  5. holy crap I finally got it to run.
    remember to do ./configure –prefix=/usr/local or something similar for virtuoso, or it’ll install to its own weird out-of-path location.
    but now… it’s not trying to convert my data. nor is it giving me a systray icon. and in true nepomuk style, it gives no hint as to why it’s not doing any of this. :/

  6. Pingback: What We Did Last Summer (And the Rest of 2009) – A Look Back Onto the Nepomuk Development Year With an Obscenely Long Title « Trueg's Blog

  7. Pingback: infomisa.net» Blog Archive » Identity in the Browser, Firefox style

Leave a comment