2007/3/7, Sebastian Trüg <<a href="mailto:strueg@mandriva.com">strueg@mandriva.com</a>>:<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 guys,<br><br>let me finally comment on this.</blockquote><div><br>Great to hear from you :-) I was looking forward to some Neopmuk feedback. <br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
In the Nepomuk project we are defining metadata ontologies. This means that<br>each resource (a file is also a resource but Nepomuk does not only handle<br>files but all kinds of information entities on the desktop such as persons,
<br>i.e. contacts, emails, tasks, projects, or even paragraphs in a text file) is<br>of a certain class which has a bunch of properties. The whole concept is of<br>course inspired by the semantic web, which means that ontology definition and
<br>data storage is handled using RDF/S. Thus, classes as well as properties can<br>be derived from other classes or properties.<br>So far we defined a basic annotation NAO ontology which defines the following<br>entities:
<br><br>* nao:hasAnnotation (the basic annotation relation just stating that two<br> resources are related in some way)<br> Domain: rdfs:Resource<br> Range: rdfs:Resource<br><br>* nao:hasTag (tagging of resources for simple grouping, however, not
<br> restricted to plain text keywords)<br> Domain: rdfs:Resource<br> Range: rdfs:Resource<br><br>* nao:symbol (assign an arbitrary symbol, ie. icon to a resource, for now<br> mainly useful to assign an icon to a tag)
<br> Domain: rdfs:Resource<br> Range: nie:Icon (NIE is the Nepomuk Information Entity Ontology which aims<br> to define basic desktop resources such as a file, an email, a text<br> document, an image and so on)
<br><br>* nao:hasRating (assign a rating to any resource)<br> Domain: rdfs:Resource<br> Range: xsd:unsignedInt<br><br>* nao:Tag (the most simple variant of a tag)<br> rdfs:label is used to assing a string keyword to the tag, hasSymbol can be
<br> used to assign an icon.<br><br>These are the basic properties of NAO but not all. I just listed them to give<br>you an idea of how we think it could be done.<br><br>The idea is to use XML schema types for literals,
i.e. values that are not<br>resources. Localization support is already provided by RDF/S itself, thus the<br>ontologies can contain localized names and comments (ie. descriptions which<br>can be used in the GUI) for all classes and properties and also the metadata
<br>values themselves can be localized.<br><br>As already mentioned there also is the NIE ontology which defines all the<br>basic desktop resources. I will talk about that later.<br><br>The nice thing is that additional metadata types and properties can be
<br>introduced by anyone. I propose a standardized method of storing these<br>ontologies. For example some xdg folder which contains the ontologies or each<br>ontology has a desktop file defining its contents. Then the metadata types
<br>are well defined and can be used by any application or framework.<br><br>Just to get our ideas in the mix,<br>please comment.</blockquote><div><br><br>Will do.<br><br>From a technical standpoint I think rdf and ontologies are great, but from an application developers viewpoint they seem overly complex for most tasks I could think of. Most things can be done if you just know a list of metadata fields to query.
<br><br>Another concern is that a full sematic framework raise the bar for implementations. It should be possible to have real simple implementations of the specs - or atleast provide a good portion of the functionality via a simple implementation (fx. a daemonless service spawned by dbus activation on each call).
<br><br>Also, embedded devices should be able to implement the Wasabi specs (or again - the essential parts atleast). I must admit I have no idea on the feasibility of this - it might not be a problem at all.<br><br>The ideal solution would be to allow a full fledged semantic framework underneath it all, but expose apis that does not require developers to know about rdf and ontologies. There could be a "semantic api" or some optional extensions to the current apis to allow usage of the full semantic sweetness.
<br><br><br>Another thing - how does the Wasabi query language (<a href="http://wiki.freedesktop.org/wiki/WasabiQueryLanguage">http://wiki.freedesktop.org/wiki/WasabiQueryLanguage</a>) fit in a Neopmuk context? Does it allow you to do the things you want to do, or do you plan on using an existing standard?
<br><br><br>Cheers,<br>Mikkel<br><br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br><br>On Monday 19 February 2007 23:35:07 Mikkel Kamstrup Erlandsen wrote:
<br>> Let's get the ball rolling on the metadata spec. This first period will<br>> just be *brainstorming*, so let's try and avoid the nitty gritty details<br>> for now.<br>><br>> ** What we need:<br>
><br>> Fields) Metadata field names and descriptions for *desktop* objects<br>><br>> Types) A type grouping of metadata fields to be used in user search<br>> language. Example types could be "Email", "Image", "Audio", etc.
<br>><br>> API) A dbus api to get/set metadata<br>><br>> ?Tag/Emblem) Tagging/Keywords/Emblems<br>><br>> ** Starting points/References:<br>> - Adobe XMP:<br>> <a href="http://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pdf">
http://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pdf</a><<br>><a href="http://freedesktop.org/wiki/Standards_2fdesktop_2demblem_2dspec">http://freedesktop.org/wiki/Standards_2fdesktop_2demblem_2dspec
</a>> - Shared<br>> Metadata Spec:<br>> <a href="http://freedesktop.org/wiki/Standards_2fshared_2dfilemetadata_2dspec">http://freedesktop.org/wiki/Standards_2fshared_2dfilemetadata_2dspec</a><br>> - Tracker metadata api:
<br>> <a href="http://svn.gnome.org/viewcvs/tracker/trunk/data/tracker-introspect.xml?view">http://svn.gnome.org/viewcvs/tracker/trunk/data/tracker-introspect.xml?view</a><br>>=markup - Spotlight Metadata Spec:<br>>
<a href="http://developer.apple.com/documentation/Carbon/Reference/MetadataAttribute">http://developer.apple.com/documentation/Carbon/Reference/MetadataAttribute</a><br>>sRef/Reference/CommonAttrs.html<br>><br>> - Shared Emblem Spec:
<br>> <a href="http://freedesktop.org/wiki/Standards_2fdesktop_2demblem_2dspec">http://freedesktop.org/wiki/Standards_2fdesktop_2demblem_2dspec</a><br>> - Others ideas? Nepomuk-specs? Beagle-specs?<br>><br>> ** My thoughts:
<br>> Regarding Fields): To prevent death-by-1000-page-spec I suggest we keep the<br>> field names to a core set of commonly used attributes. Ie not like Apples<br>> spotlight spec (see above) which defines every known property in the
<br>> universe. When things move on, teams with expert knowledge can refine<br>> extensions to this spec. Fx a Wasabi Photography Metadata spec could be<br>> hashed out by people in the know (which could just be EXIF, but I'm not the
<br>> photography expert).<br>><br>> Regarding Types): There are some suggestions in the top of the Tracker api<br>> link above. Regarding these I think we should leave the VFS* types out, and<br>> only use single-word type names (Ie no spaces).
<br>><br>> On the API): Obviously we getters and setters. They probably need to<br>> operate on uris. There probably needs to be some search functionality in<br>> here too since we probably shouldn't assume that the indexer and metadata
<br>> server are the same.<br>><br>> Tagging/Emblems: If you ask me they should be "just another type of<br>> metadata". When the metadata spec matures a bit we can evaluate if it needs<br>> it's own api to make things easier (and allow for dedicated tagging
<br>> services).<br>><br>> Cheers,<br>> Mikkel<br>_______________________________________________<br>xdg mailing list<br><a href="mailto:xdg@lists.freedesktop.org">xdg@lists.freedesktop.org</a><br><a href="http://lists.freedesktop.org/mailman/listinfo/xdg">
http://lists.freedesktop.org/mailman/listinfo/xdg</a><br></blockquote></div><br>