Development/Tutorials/Metadata/Nepomuk/FileWatchService

    From KDE TechBase
    Nepomuk Ontology Loader Service
    Tutorial Series   Nepomuk
    Previous   Ontology Loader Service
    What's Next   Strigi Service
    Further Reading   Nepomuk Services, Nepomuk Server

    Nepomuk File Watch Service

    The File Watch service monitors the file system for changes. If files are deleted, the corresponding metadata is removed from the Nepomuk store. If files are moved, the URIs (file resources always have their file URL as RDF resource URI) and the file path are updated.

    Currently we use inotify to monitor changes. However, inotify is absolute crap, and does let you monitor file moves unless you are watching both the source and the destination. So, we have to create watches for every single directory, which results in massive IO load when Nepomuk is starting up ( inotify does NOT watch directories recursively )

    Someone should improve the file monitoring system in the kernel.

    Also, FANotify (inotify's successor) is also crap! It does not support move events at all.