Very good. :)
Sorry for not being active anymore. These past 2 weeks I have been "working" on my new-born son. Apart from that I am pretty busy with OpenLink work. I will try to at least look at the review requests more frequently.

On 12/10/2012 02:18 PM, Vishesh Handa wrote:
Quick update -

Right now the plan is to implement this for 4.11.


On Tue, Nov 27, 2012 at 1:53 AM, Sebastian Trüg <[email protected]
<mailto:[email protected]>> wrote:

    On 11/23/2012 11:17 AM, Vishesh Handa wrote:




        On Fri, Nov 23, 2012 at 3:30 PM, Jörg Ehrichs
        <[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>> wrote:

             2012/11/23 Marco Martin <[email protected]
        <mailto:[email protected]> <mailto:[email protected]
        <mailto:[email protected]>>>:

              > On Friday 23 November 2012, Vishesh Handa wrote:
              >
              >> <nepomuk:/res/23161f9c-8839-__4de3-bba0-affdd6d654ef>
              >>         rdf:type
              >> nmm:MusicPiece
              >>         rdf:type
              >> nfo:FileDataObject
              >>         rdf:type
              >> nfo:Audio
              >>         rdf:type
              >> nie:InformationElement
              >>         nie:url
              >> file:///home/vishesh/Music/__where_does_the_good_go.mp3
              >>
              >> Storing this URL makes accessing file resources quite
             convenient. But I
              >> fear it has been a terrible design decision. By storing
        the url
             we face the
              >> following problems -
              >
              > uhm, probably is right, keeping the full file url
        consistent is a
             mess,
              > however...
              >
              > a very common use case is in the c++ code, doing
             Nepomuk2::Resource(file path)
              >
              > needing a fast way to obtain the resource associated to a
             particular file
              > (like in https://bugs.kde.org/show_bug.__cgi?id=310525
        <https://bugs.kde.org/show_bug.cgi?id=310525>)
              >
              > otherwise how could be done quickly to have the metadata
        of a
             file given we
              > have the file, and the other way around?


        It would be slightly more expensive, but not too hard. One would
        have to
        retrieve the resource for each file resource till the root
        element. So
        if you give me something like this
        Resource("/home/vishesh/kde/__src/file.cpp")

        I'll have to do either multiple queries -

        select ?r where { ?r nfo:filename "home" ; nie:isPartOf
        <rootElement> .
        } -> homeRes
        select ?r where { ?r nfo:filename "vishesh" ; nie:isPartOf
        <homeRes> . }
        -> visheshRes
        ..
        ..
        or maybe it can be done in one query?


    I think so:

    select ?r where { ?r nfo:filename "file.cpp" ; nie:isPartOf [
    nfo:filename "src" ; nie:isPartOf [ nfo:filename "kde" ... ] ] }

    I am, however, not sure which is faster.

    In general I like the idea to get rid of file URL, a lot actually.
    This could even mean that you get rid of nie:url alltogether. In the
    end there is really no need to use nie:url for http or any other
    remote resource...

    As for your (3): that should actually be fairly simple. I wrote the
    code, which feels very hacky (not the code itself, but the need for
    its existance) and it could easily be adapted to only update
    nfo:filename and nie:isPartOf. Much simpler in the end.

    All in all: +10 from me if you can get the direct file resource
    access fast.

    Cheers,
    Sebastian


        You get the gist. These all could be cached in memory so it
        shouldn't be
        a big problem. This is actually quite analogous to what the
        kernel does
        in the file system later, except that it matches inodes to their
        filename. We will be matching resource uris.

             I'd say retrieving metadata from a file is a "one-time" job
        of the
             file-indexer.
             Afterwards, we should rely on the data inside Nepomuk and
        only get
             more once this fails.

             In addition, the nepomuk-core part could offer a convenient
        method to
             create the file url for the end-user and also cache this
        information
             for a while to speed up the query. I assume its faster to check
             QFile::exists() than creating the url with every query again.


        Of course. This all should be transparently handled in the
        resource class.

             Other than that, I like the idea. It seems there are
        several problems
             with remove able media, which doesn't seem to get solved
        with the
             current way.


        Yeah. I think so as well.

        But it's a BIG change. All the previous data will first need to
        be ported.

             _________________________________________________
             Nepomuk mailing list
        [email protected] <mailto:[email protected]> <mailto:[email protected]
        <mailto:[email protected]>>

        https://mail.kde.org/mailman/__listinfo/nepomuk
        <https://mail.kde.org/mailman/listinfo/nepomuk>




        --
        Vishesh Handa



        _________________________________________________
        Nepomuk mailing list
        [email protected] <mailto:[email protected]>
        https://mail.kde.org/mailman/__listinfo/nepomuk
        <https://mail.kde.org/mailman/listinfo/nepomuk>

    _________________________________________________
    Nepomuk mailing list
    [email protected] <mailto:[email protected]>
    https://mail.kde.org/mailman/__listinfo/nepomuk
    <https://mail.kde.org/mailman/listinfo/nepomuk>




--
Vishesh Handa

_______________________________________________
Nepomuk mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/nepomuk

Reply via email to