2007/3/8, Sebastian Trüg &lt;<a href="mailto:strueg@mandriva.com">strueg@mandriva.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;">
On Wednesday 07 March 2007 21:13:19 Mikkel Kamstrup Erlandsen wrote:<br>&gt; From a technical standpoint I think rdf and ontologies are great, but from<br>&gt; an application developers viewpoint they seem overly complex for most tasks
<br>&gt; I could think of. Most things can be done if you just know a list of<br>&gt; metadata fields to query.<br><br>The thing is that in Nepomuk we do much more than just local search. The main<br>focus is more on creating relations between resources and exploiting these
<br>relations for the benefit of the user. RDF and ontologies provide a lot of<br>power in this area.</blockquote><div><br><br>Yes, I am not doubting that rdf and ontologies are the right solution for your targets. I just think that they are too complex for what the current aim of the wasabi project is (not that this is bad in any way).
<br>&nbsp;</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt; Another concern is that a full sematic framework raise the bar for<br>&gt; implementations. It should be possible to have real simple implementations
<br>&gt; of the specs - or atleast provide a good portion of the functionality via a<br>&gt; simple implementation (fx. a daemonless service spawned by dbus activation<br>&gt; on each call).<br><br>That is true. But one could think of a simple mapping from the full-fledged
<br>version to a simple key-based variant which makes up the wasabi metadata<br>fields. When searching certain fields nobody wants to enter the full URI of<br>some metadata type or element.</blockquote><div><br><br>Yes, I was thinking along thoswe lines too. 
<br></div><br><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Actually each RDF property and class is supposed to have a human readable<br>
label. This label is not necessarily unique but it would probably suffice for<br>a simplified query interface. Thus, the API could support the usage of the<br>full type and property URIs and the mapping from the simple labels.
</blockquote><div><br><br>The question was raised a whle back whether we should have internationalized keywords for searching, Ie &quot;type:music hendrix&quot; should be written as &quot;type:musik hendrix&quot; in the Dansih locale for instance. Whether or not to translate the actual query language like the &quot;type&quot; selector is another (but related) matter. Unfortunately this has not received much discussion.
<br><br>I think it would be great to have as much internationalization as possible, but I have not given it a whole lot of thought I must admit.<br>&nbsp;</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
&gt; Also, embedded devices should be able to implement the Wasabi specs (or<br>&gt; again - the essential parts atleast). I must admit I have no idea on the<br>&gt; feasibility of this - it might not be a problem at all.
<br>&gt;<br>&gt; The ideal solution would be to allow a full fledged semantic framework<br>&gt; underneath it all, but expose apis that does not require developers to know<br>&gt; about rdf and ontologies. There could be a &quot;semantic api&quot; or some optional
<br>&gt; extensions to the current apis to allow usage of the full semantic<br>&gt; sweetness.<br><br>we could even think of wasabi as being the &quot;simple&quot; standard which maps to the<br>full-fledged semantic information. In the end it is most important that the
<br>information can be reused.</blockquote><div><br>Agreed. Ideally the current apis+specs would be a subset of a full semantic solution. If this where the case if would be easier for apps to use whatever was available.<br>
&nbsp;</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt;<br>&gt; Another thing - how does the Wasabi query language (<br>&gt; <a href="http://wiki.freedesktop.org/wiki/WasabiQueryLanguage">
http://wiki.freedesktop.org/wiki/WasabiQueryLanguage</a>) fit in a Neopmuk<br>&gt; context? Does it allow you to do the things you want to do, or do you plan<br>&gt; on using an existing standard?<br><br>Actually we need more. That is also what the workshop is intended to solve. We
<br>need a query language that allows exploring all the resource relations that<br>are stored. One approach ATM is to combine SPARQL with a simple full text<br>searching mechanism but that is far from perfect.</blockquote>
<div><br>So I take it as you didn&#39;t find a spot-on candidate language either..?<br><br>The problems with sparql and rdfq is that they are not designed to do &quot;fuzzy searches&quot; in the broader sense of the words - ie that queries match using stemming, levenstein distance, transliterated diacritics, or word proximity, stuff that you find in many modern indexers.
<br>&nbsp;</div>Again it would be really nice if the nepomuk query language could be a super set of the Wasabi query language. I *think* this could be possible because the current wasabi query language proposal is actually very close to rdfq (
<a href="http://www.w3.org/TandS/QL/QL98/pp/rdfquery.html">http://www.w3.org/TandS/QL/QL98/pp/rdfquery.html</a>).<br><br>Cheers,<br>Mikkel<br><br><br><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>&gt;<br>&gt; &gt; On Monday 19 February 2007 23:35:07 Mikkel Kamstrup Erlandsen wrote:<br>&gt; &gt; &gt; Let&#39;s get the ball rolling on the metadata spec. This first period will<br>&gt; &gt; &gt; just be *brainstorming*, so let&#39;s try and avoid the nitty gritty
<br>&gt; &gt; &gt; details for now.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt;&nbsp;&nbsp;** What we need:<br>&gt; &gt; &gt;<br>&gt; &gt; &gt;&nbsp;&nbsp; Fields)&nbsp;&nbsp;Metadata field names and descriptions for *desktop* objects<br>&gt; &gt; &gt;<br>&gt; &gt; &gt;&nbsp;&nbsp; Types) A type grouping of metadata fields to be used in user search
<br>&gt; &gt; &gt; language. Example types could be &quot;Email&quot;, &quot;Image&quot;, &quot;Audio&quot;, etc.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt;&nbsp;&nbsp; API) A dbus api to get/set metadata<br>&gt; &gt; &gt;<br>&gt; &gt; &gt;&nbsp;&nbsp; ?Tag/Emblem) Tagging/Keywords/Emblems
<br>&gt; &gt; &gt;<br>&gt; &gt; &gt;&nbsp;&nbsp;** Starting points/References:<br>&gt; &gt; &gt;&nbsp;&nbsp;- Adobe XMP:<br>&gt; &gt;<br>&gt; &gt; <a href="http://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pd">http://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pd
</a><br>&gt; &gt;f &lt;<br>&gt; &gt;<br>&gt; &gt; &gt;<a href="http://freedesktop.org/wiki/Standards_2fdesktop_2demblem_2dspec">http://freedesktop.org/wiki/Standards_2fdesktop_2demblem_2dspec</a>&gt; -<br>&gt; &gt; &gt; Shared Metadata Spec:
<br>&gt; &gt; &gt; <a href="http://freedesktop.org/wiki/Standards_2fshared_2dfilemetadata_2dspec">http://freedesktop.org/wiki/Standards_2fshared_2dfilemetadata_2dspec</a><br>&gt; &gt; &gt;&nbsp;&nbsp;- Tracker metadata api:<br>&gt; &gt;
<br>&gt; &gt; <a href="http://svn.gnome.org/viewcvs/tracker/trunk/data/tracker-introspect.xml?vi">http://svn.gnome.org/viewcvs/tracker/trunk/data/tracker-introspect.xml?vi</a><br>&gt; &gt;ew<br>&gt; &gt;<br>&gt; &gt; &gt;=markup - Spotlight Metadata Spec:
<br>&gt; &gt;<br>&gt; &gt; <a href="http://developer.apple.com/documentation/Carbon/Reference/MetadataAttribu">http://developer.apple.com/documentation/Carbon/Reference/MetadataAttribu</a><br>&gt; &gt;te<br>&gt; &gt;<br>&gt; &gt; &gt;sRef/Reference/CommonAttrs.html
<br>&gt; &gt; &gt;<br>&gt; &gt; &gt;&nbsp;&nbsp;- Shared Emblem Spec:<br>&gt; &gt; &gt; <a href="http://freedesktop.org/wiki/Standards_2fdesktop_2demblem_2dspec">http://freedesktop.org/wiki/Standards_2fdesktop_2demblem_2dspec</a><br>
&gt; &gt; &gt;&nbsp;&nbsp;- Others ideas? Nepomuk-specs? Beagle-specs?<br>&gt; &gt; &gt;<br>&gt; &gt; &gt;&nbsp;&nbsp;** My thoughts:<br>&gt; &gt; &gt; Regarding Fields): To prevent death-by-1000-page-spec I suggest we keep<br>&gt; &gt;<br>&gt; &gt; the
<br>&gt; &gt;<br>&gt; &gt; &gt; field names to a core set of commonly used attributes. Ie not like<br>&gt; &gt;<br>&gt; &gt; Apples<br>&gt; &gt;<br>&gt; &gt; &gt; spotlight spec (see above) which defines every known property in the
<br>&gt; &gt; &gt; universe. When things move on, teams with expert knowledge can refine<br>&gt; &gt; &gt; extensions to this spec. Fx a Wasabi Photography Metadata spec could be<br>&gt; &gt; &gt; hashed out by people in the know (which could just be EXIF, but I&#39;m not
<br>&gt; &gt;<br>&gt; &gt; the<br>&gt; &gt;<br>&gt; &gt; &gt; photography expert).<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Regarding Types): There are some suggestions in the top of the Tracker<br>&gt; &gt;<br>&gt; &gt; api<br>
&gt; &gt;<br>&gt; &gt; &gt; link above. Regarding these I think we should leave the VFS* types out,<br>&gt; &gt;<br>&gt; &gt; and<br>&gt; &gt;<br>&gt; &gt; &gt; only use single-word type names (Ie no spaces).<br>&gt; &gt; &gt;
<br>&gt; &gt; &gt; On the API): Obviously we getters and setters. They probably need to<br>&gt; &gt; &gt; operate on uris. There probably needs to be some search functionality<br>&gt; &gt; &gt; in here too since we probably shouldn&#39;t assume that the indexer and
<br>&gt; &gt;<br>&gt; &gt; metadata<br>&gt; &gt;<br>&gt; &gt; &gt; server are the same.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Tagging/Emblems: If you ask me they should be &quot;just another type of<br>&gt; &gt; &gt; metadata&quot;. When the metadata spec matures a bit we can evaluate if it
<br>&gt; &gt;<br>&gt; &gt; needs<br>&gt; &gt;<br>&gt; &gt; &gt; it&#39;s own api to make things easier (and allow for dedicated tagging<br>&gt; &gt; &gt; services).<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Cheers,<br>&gt; &gt; &gt; Mikkel
<br>&gt; &gt;<br>&gt; &gt; _______________________________________________<br>&gt; &gt; xdg mailing list<br>&gt; &gt; <a href="mailto:xdg@lists.freedesktop.org">xdg@lists.freedesktop.org</a><br>&gt; &gt; <a href="http://lists.freedesktop.org/mailman/listinfo/xdg">
http://lists.freedesktop.org/mailman/listinfo/xdg</a><br><br><br></blockquote></div><br>