2007/2/19, Max Wiehle &lt;<a href="mailto:max.wiehle@gmail.com">max.wiehle@gmail.com</a>&gt;:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br><br>Am Montag, den 19.02.2007, 23:14 +0100 schrieb Mikkel Kamstrup<br>Erlandsen:<br>&gt; 2007/2/19, Max Wiehle &lt;<a href="mailto:max.wiehle@gmail.com">max.wiehle@gmail.com</a>&gt;:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Hi,<br>&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Hope it&#39;s okay if i just jump right into the discussion. I<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; just read<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; about wasabi on a dashboard-hackers and i am quite interested<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in it so i<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tried to catch up with the mailing list archive. I worked on a
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; metadata<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; store for beagle during last years Summer of Code and i am<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; still trying<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to follow what happens on the desktop search / metadata side<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; of things
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as time permits.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Am Sonntag, den 18.02.2007, 21:15 +0100 schrieb Mikkel<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Kamstrup<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Erlandsen:<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Ok. If we are to standardize something like this, I would
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assume that<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt; we use dbus for rpc - as far as I can tell that doesn&#39;t seem<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to be a<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt; problem..? Fx a dbus api like:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;- AddFile (in as metadata, in s input_file)
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;- AddText (in as metadata, in s text)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt; where the metadata argument contains things such as uri,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mime, and hit<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt; type (in some specified order (and maybe some
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt; filtering/stemming/whatnot info)). The AddFile method sorta<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; replaces<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt; the &quot;drop-in-special-dir&quot; approach - the drop-in-special-dir<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; method
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt; could still be allowed for apps not talking dbus. The<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AddText method<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt; should encapsulate the functionality of Beagles&#39; current<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt; IndexServiceRequest/Indexable duo.
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Maybe it would be possible to have a<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - AddMetadata (in as metadata, in s uri)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as well. This could be used for all kinds of metadata that is<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; added to a
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; object aside from indexing. fx tags, emblems, notes in<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nautilus. Or<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; epiphany might add &quot;downloaded_from&quot; to a files metadata -<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; saved<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; attachements could be marked as belonging to a certain email
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and vice<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; versa etc.<br>&gt;<br>&gt;<br>&gt; Agreed. I figure this belongs under the Wasabi metadata spec and api -<br>&gt; which is yet to be discussed. Maybe I better kick that off soonish -
<br>&gt; the search spec relies on some bits and pieces from it anyway.<br>&gt;<br>&gt; The two methods I mention is specifically only targeting an indexer<br>&gt; since I don&#39;t think it should be a requirement to both an indexer and
<br>&gt; metadata storage.<br>Okay, i did not know there was a seperate metadata spec and api. Makes<br>sense.<br><br>&gt; Is there any where we can have a look at your work?<br>Its in the beagle svn in<br><a href="http://svn.gnome.org/viewcvs/beagle/branches/beagle-metadata-branch/">
http://svn.gnome.org/viewcvs/beagle/branches/beagle-metadata-branch/</a><br>mostly in beagled/SqliteMetadata/...<br><br>It&#39;s only the store and some internal beagle changes that save metadata<br>to the store. But there is no external api yet.
<br><br>EntityStore.cs is the central store.<br>SqlMetaTests/TestEntityStoreBasics.cs illustrates the usage a little<br>bit.<br>SqlMetadata.cs implements an EntityStore that tries to verify metadata<br>against a model supplied in SqlMetaModel and stores it marked as
<br>non_verified anyway if it can&#39;t be verified.<br><br>If there are any questions please ask. I am quite busy right now but i<br>will be working on similar things from april on for my diploma thesis so<br>i will try and keep in touch.
</blockquote><div><br>Cool, I will have a look at it when I can find some time...<br><br>Just a quick question: Do you do hierarchical metadata&nbsp; - in the sense that&nbsp; fx Type:Music is a subtype of Type:Audio so that searching in the Type:Audio field also turns up stuff with Type:Music?
<br></div><br><br>Cheers,<br>Mikkel<br></div>