Nepomuk Data Layout

I am happy to announce that I just finished writing an article about the data layout in Nepomuk. I think it is another must-read if you want to work with Nepomuk data, either querying it or creating data yourself. The article is another one in the series of techbase tutorials about Nepomuk. Well, this was short and fairly dry…

Reblog this post [with Zemanta]

18 thoughts on “Nepomuk Data Layout

  1. Hi Sebastian,

    You document a lot for developers but I have trouble finding anything relevant for the end user side. I have enabled strigi a couple times (on Kubuntu with KDE 4.2 and 4.3) but I had to disable it as it causes issues and I still don’t know what it really brings.
    The nepomuk extension in krunner does not seem to do anything. I would have expected full text search given the size of indexes that Strigi produces (a couple gigs or about the same as the data indexed).

    Could you write a post targeted at users? I would really appreciate that.
    Anyway, just my 2 cents.

  2. Hi Sebastian, could you please let us know what the current infrastructure (or strategy) is which deals with the fact that a user would want to share different subsets of data with different groups?

    Thanks in advance, Martin.

    • I can imagine the following approach:

      Define a subproperty of pimo:associationMember, perhaps called kde:authorizedReader, referring to a pimo:Agent. SPARQL queries could maintain these Agents at the system level, differentiating between Strigi-extracted data and user-defined data as well. Apart from user-defined authorizations, the locations where the Strigi-extracted data would come from could then be used to assign Agent authorizations.

      Would an approach like this fit in with the rest of the KDE setup? If nothing in this area is decided yet and there are no similar plans (difficult to Google due to the rather generic keywords), I could further explore this and write a more detailed proposal.

      • I am not quite sure how you want to use the pimo:Association.
        I always thought privacy management would need to work on a lower level than PIMO. After all, there might be information below the PIMO level that is private. An example would be usage statistics which are gathered automatically by some application.

        • The reason I mentioned pimo:Association is because PIMO is made to suit the perspective of the end-user. According to the Nepomuk Pimo Recommendation v1.1 “Every
          information element encountered in knowledge work by a user is represented as a Thing”. And using the user’s perspective may also reduce their tendency to shoehorn every piece of metadata into Tags.

          Thus my attempt to stick to the Pimo and Pimo-derived concepts and my current desire to use pimo:Agent and to “sub-property” pimo:Association.

          Perhaps other NRL constructs can and must be used at lower levels. On the other hand, Thing-derived classes may be low-level enough to meet the mindset of the user as well as implementation requirements. For instance, a collection of usage statistics for a particular application would then also be a (singular) Thing subobject. So perhaps the restrictions on Agents can be cascaded downwards in an acceptable way by Sparql queries and complementary code.

          “The locations where the Strigi-extracted data would come from could then be used to assign Agent authorizations” mentioned in my previous post is just a simple example of how the desired Agent authorization assignments can be determined in an automated way.

          I will look into the issue you raised. I welcome criticism because I believe it will improve the results.

            • Thanks for your offer. It will take some time before I have made a semi-coherent draft, but I will certainly let you know when it is ready. In the meantime I have posted a few more replies to other topics on your blog and will continue to do so.

  3. In the File Meta Data extracted by Strigi paragraph, the first graph is ebe343…, but the second graph with graph metadata points to e7674… .
    I guess the second one should point to the first one? Then I have understood it correctly ;-)

  4. Hi, I’m glad to find any nepomuk developers.
    I have several users here with private home and several public directories. Is it possible to share the tags and comments for the public files? For example: User A tags a file and user B can see and modify the tag?
    How can I realize that?+
    Thank you for your help
    Best regards


    • Sadly not yet. That is what the last Nepomuk workshop in November was about and it is targeted for KDE 4.5. The idea is to allow the sharing of metadata along with files (or without them since not all data in Nepomuk is related to files).
      It would be interesting to get a little more detail on your setup to see if our solutions fit your needs.

      • Hello Sebastian,

        my setup is:

        Workstations with Debian Lenny, actually KDE 3.5.10. The home-directories of every user are locally stored on every computer. Then there are public directories

        */home/server/apo-promotion with read/write-Access for every user and

        * /home/server/DMS as document storage for expired documents

        If you have some more questions, please feel free to contact me again.

        Thank you and best wishes for a happy 2010.

      • I needs sharing nepomuk data too!
        I have a computer with many files and 2 users in system. And I want to organize files with shared nepomuk tags and comments for both users. But now I need to duplicate the tags for each user, do the double work. :(
        Can I upgrade nepomuk from source with this functionality, without waiting KDE 4.5?

      • In kde 4.4 I have found the nepomuk virtuoso db files in ~/.kde/share/apps/nepomuk/repository/main:
        soprano-virtuoso.db soprano-virtuoso.log soprano-virtuoso.pxa soprano-virtuoso-temp.db soprano-virtuoso.trx

        Can I share this virtuoso database files via symlinks for other user on my system?

        Or the database is user-specified and will not work for other user?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s