Re: Future of GNOME: Semantics



2008/6/14 Anders Feder <lists anders feder dk>:
> 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.
>

Very short first: I don't think this is feasible in the mid to long
term future, we need to go even past that. Let me elaborate.

RDF and Semantic technologies are very fine tools and can be used for
a great many cool things. On the surface they even seem seductively
simple. Most programmers should be able to grasp RDF triples very
quickly. They can probably also create some theoretic data models for
their programs using RDF triples very fast. This is also where the
simplicity start to end.

To actually understand and use RDF and ontologies "correctly" you need
a lot of experience. There's a whole world of new terminology to
surmount before you can even begin to grasp what people talk about. I
know because I've tried to scale that wall myself (note _tried_ I
often feel that I've somehow failed). Triples and relations are just
scratching the surface of an iceberg.

Then just starting to include RDF here and there does not come for
free even though there are competent libs out there. It will take a
massive amount of work because most of the Gnome stack is not written
in a way as to take such things into account.

I think that many people just slightly knowledgeable about RDF and
Semantic technologies think that it certainly is a cool thing. However
I do also think that it is a quantum leap from where we are now. Large
code bases are not good at quantum leaps. This is also why I've tried
my best to pull Xesam of the Semantic pedestal to some degree - to get
closer to what we have now. One day when we have Xesam integration on
many levels RDF-nirvana is no longer that far off. Or we may one day
realize that there is no need for full RDF everywhere...

Also we do have lots of integration in our stack (we could use more,
granted) and I actually think that it has worked relatively well so
far. And we can certainly get very very far without ever looking at
RDF and I sometimes find myself questioning what it really gives to
put the RDF rubber stamp on our tools. I mean the data models can
always be modelled by RDF no matter how we try to escape it, so in
some way it will always be a ghost in the machine. Is there are real
need to make this explicit? I have not seen any proof of this in the
wild.

On a more humanistic note; there is some level of "technology scare"
of RDF amongst some developers. It might not be entirely justified,
and I don't think that it does anyone any good, but that is how it is.
Suddenly high-profiling it in a project where would very much like to
attract new devs might be dangerous. That doesn't mean we can't use it
though.

In conclusion I would like to make it clear that I don't have anything
against RDF or semantic technologies, I just have this great feeling
that once people get hooked on them every problem starts to look like
a semantic nail :-)

Cheers,
Mikkel


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]