Hi Ivan,

Thanks for the answers. I'll write directly to the Tracker database,
since tasks are mostly semantically-useful data, and contain simple
plain text (even header/footer/comment are marked in WYSIWYM style).

I have a new question :)

In the process of examining existing task-management apps, I discovered
that - not surprising at all - they have lots of things in common. The
arrangement of the data may vary, but the details - start date, due
date, tags, priority, assigned people, related mail/notes/source
code/references/bibliography, it's common to many apps.

So what I'm asking is: Is there an ontology for tasks? I didn't fully
dive into RDF and Tracker ontologies yet, but I saw ontologies for music
tags, for mail, for files, for contacts, for documents, etc.

I didn't see a special ontology for tasks on the list. Does it mean I
need to write my own XML/RDF format for semantic storage of tasks?

I already store tasks in XML with clear rules (XSD schema is
work-in-progress), so it shouldn't be difficult, but I definitely need a
format. Not just for myself, but also because many task apps exist: Even
mail/groupware software such as Evolution and Thunderbird have tasks,
and I think there should be a unified format for storing them in a
semantic database. An ontology, I guess.

I'd like to thank you again for your help!

- Anatoly



On ג', 2013-05-07 at 10:48 -0700, Ivan Frade wrote:
> Hi Anatoly,
> 
> 
>  Good questions!
> 
> 
> 
> On Tue, May 7, 2013 at 1:08 AM, אנטולי קרסנר <tomback...@gmail.com>
> wrote:
>         Great news! And thanks for the feedback :)
>         
>         I went through the various Tracker APIs visible in Devhelp,
>         and I have a
>         few design questions, which you may be able to help me with.
>         
>         
>         1. Data storage:
>         Some file formats, such as binary data of all kinds (music,
>         executables,
>         video, etc.), are stored as regular files, and only the
>         metadata is
>         stored in Tracker's database. But many file formats are just
>         text. For
>         example, my task management app represents the data as a graph
>         of tasks,
>         and 100% of the data has semantic value. Same thing with notes
>         and
>         probably many other file formats which describe data in simple
>         XML.
>         
>         So the question is: Is all the data supposed to be stored in
>         the Tracker
>         database and fecthed from it every time, or I still should
>         store the XML
>         data as local files, and "report" semantic data to the Tracker
>         database?
> 
> Information that is only metadata (e.g. Contacts, a simple note) can
> be stored directly in Tracker. No need to use a file. A file
> representation could be useful to share the information (like a vcard)
> but you can even generate it on demand.
>  
>         
>         Clearly, my data *does* have some plain text, such as the task
>         descriptions. I guess it's not valuable to Semantic Desktop,
>         but still,
>         I'm wondering how to store the data. Another idea may be like
>         this:
>         Store the task descriptions and all other plain text in
>         regular text
>         files, but all the semantic-desktop-useful data, like the tags
>         and the
>         task graphs, will go to the Tracker database.
> 
> 
> Every resource in Tracker is an InformationElement and has a
> nie:plainTextContent (IIRC) that you can use to store those small
> texts.
> 
> 
> Those texts are very useful for plain text search. Then you can find
> your objects in tracker-needle and you can use it as clause in your
> structured queries: "All notes with its title sorted by modification
> date with "todo" in the content".
> 
>  
> 
>         2. Data Mining
>         
>         I see two basic approaches to using the database: Writing a
>         miner which
>         reads my app's XML files and write semantic data to Tracker,
>         or have my
>         app write the data directly by itself. One clear difference is
>         that if
>         the apps writes directly, it's then able to avoid storing in
>         regular
>         files what is already in the Tracker database, and thus avoid
>         having
>         data stored twice.
>         Are there other considerations?
> 
> 
> We prefer the applications writing directly into tracker. Some
> reasons:
>   * It saves the indexing roundtrip: Using files as intermediate
> format means that the app writes the file, miner-fs discover it, send
> it to a extractor which reads the file, parses the content, creates
> sparql and send it to the store. All this is fairly quick, but is an
> unneccesary delay that can be avoided writing directly into the store.
>   * It saves one "translation" of content: The app knows already the
> information and its structure. Using a file means to translate that
> information to a file format, that then is interpreted again by
> tracker's extractor. These translations are a risk to
> lose/misinterpret the data.
> 
>   * Simplifies the program. It is easier to use directly tracker that
> writing things in a file and wait for signals saying that a new file
> has been found.
> 
> 
> 
> 
> 
>  Regards,
> 
> 
> Ivan 
> 
> 
> 


_______________________________________________
tracker-list mailing list
tracker-list@gnome.org
https://mail.gnome.org/mailman/listinfo/tracker-list

Reply via email to