(http://mail.gnome.org/archives/desktop-devel-list/2008-June/msg00074.html)

Hello,

I don't have a blog at Planet GNOME, but would like to comment on some of the discussions going on these days about the future of the GNOME product anyway, so I'm taking the liberty of making such a post here instead. I also am no hacker - just a mere power-user who dreams in N3 notation. Feel free to ignore.

DISCLAIMER: The Semantic Web will not end world hunger. The Semantic Web is one of those celebrity technologies that a lot of people love to hate: it's the pet project of Tim Berners-Lee himself (correction: _Sir_ Tim Berners-Lee), has been the-next-big-thing for nearly as long as Duke Nukem Forever has been under development and has received approximately as many media hours of hyberbole. Irregardless, the Semantic Web does in my humble opinion have indeniable technical merits. I would like to show those unfamiliar with the technology how these merits could perhaps form the basis for a cohesive vision for the next-generation GNOME desktop.

With that out of the way, lets get to the point.

Almost every post discussing the future of GNOME (short of those dealing strictly with development infrastructure) advocate some form of integration: integration of applications (seamless interoperability), integration of user mental models (people as first-class objects, task-centricism), integration of the Web, integration of devices such as smartphones and so on.

From a development perspective, the common denominator for all this integration is 'abstraction'. If you wish to integrate two otherwise disparate systems, you must first establish an abstract model which fit both systems.

In information science there is a formal name for such a model - it's called an 'ontology' (http://en.wikipedia.org/wiki/Ontology_(computer_science)). An ontology describes a set of concepts and how they relate to each other. The nature of ontologies has been thoroughly studied and over the last decade the W3C, which also created such standards as HTML and XML, has released a number of standards pertaining specifically to the application of ontologies on the Web and in personal computing.

Here comes our champion: the Resource Description Framework (RDF) is a standard that "provide a lightweight ontology system to support the exchange of knowledge on the Web." (http://www.w3.org/RDF/)

A large number of ontologies has already been specified with RDF and its companion standards, notably RDF Schema and OWL. Dublin Core, for instance, is widely used to describe digital materials such as video, sound, image, text, and composite media like web pages. The RSS (1.x) feed format is another well-known example of an RDF ontology (or, strictly speaking, a so-called vocabulary)

Ontologies can be thought of as a model for representation of information, somewhat like the model used for encoding in a traditional file format, but unlike formats such as, say, vCard (file format standard for electronic business cards), which are defined in natural language specifications, RDF ontologies are partially defined in a machine-processable language such as RDF Schema.

RDF derives a number of powerful features from this approach, such as the possibility to map similar ontologies into each other, standardized checks on data integrity, advanced logical inferencing etc. I won't go into specifics here, but it's all quite nifty, and data is more portable due to the use of a universal URI-based namespace.

Now, the idea is that if we model all of the aforementioned abstractions (applications, mental models, smart devices etc.) in RDF, GNOME can take advantage of the same features in a single unified framework which, incidentally, is also compatible with the Semantic Web (a very likely 'next step' for the current Web). Let Steve Ballmer have fun installing service packs to his Windows Vista PC. Personal computing with the free desktop (GNOME/KDE) will be one, integrated experience, in any sphere of life (home, office, on the phone, on the Web etc.).

Such goes the vision, but how do we implement it? As you will see, the above already indicates the standards which could be relied upon (RDF) and several tools for development with RDF are already available (the Raptor RDF/XML parser, for instance, which supports libxml).

Some may scoff at the idea of RDF somehow 'blessing' applications with next-big-thingness, but merely adopting RDF formats as standard for data representation within GNOME (i.e. for contact information, document metadata etc.) would in fact, in my opinion, help a lot because this is where the rest of the world (including KDE) is moving anyway (albeit slowly). Integrating RDF at a fundamental level of the system and its development practices would help even more.

There is still plenty of room for discussion of how and if something like this could be pulled off. I opened http://live.gnome.org/SemanticDesktop (a work-in-progress) as a place to investigate these things a few weeks ago. Anyone interested is encouraged to contribute.

I'm also working informally with Sebastian Trüg (Mandriva) of NEPOMUK-KDE on a slightly more elaborate idea at: http://live.gnome.org/AndersFeder/SemanticSpace (highly volatile)

Thanks for reading - feedback is appreciated.

Best regards, Anders Feder

AndersFeder/Articles/FutureOfGnomeSemantics (last edited 2008-06-15 17:19:53 by AndersFeder)