Hi again,
I created an indexer for tracker 0.8 and now with tracker 0.10, it
doesn't work anymore: Use of DROP GRAPH is deprecated
I was never clear on what exactly were the sparql requests to add
new objects to the database:
Then, I think I understood how it worked, and used the INSERT INTO
command combined with DROP GRAPH:
DROP GRAPH <file:///.../mbox#1>
INSERT INTO <file:///.../mbox#1> { <file:///.../mbox#1> a
nmo:Email . } DROP GRAPH <file:///.../mbox#2>
INSERT INTO <file:///.../mbox#2> { <file:///.../mbox#2> a
nmo:Email . }

This looks like a very bad idea. Basically you are reinserting all the
information from scratch every time!

What is the correct way of doing things.

First of all, instead of monitoring the mbox file, try to write a
plugin for your favourite mail client. It knows when a new mail
arrives, so you don't need to guess what is going on from a file
modification.

On the other hand, we've seen so far how it goes when you try to write
an email plugin... I don't think it's a bad idea to do a mbox indexer,
if it works with many clients and can do real indexing. Of course,
detecting which mails changed and updating just those would be nice
(especially on big mailboxes). Dovecot uses a sidecar index file for
that, maybe a similar mechanism is possible?

if possible, I'd rather override existing objects and not test if
they are already in the database for three reasons: