Two user interfaces for the semantic web: a generic semantic web editor and masses of mashups

In this article I will show in what direction for editing RDF I will head in the next year, proposing two approaches: first one Java based integrated RDF browser and editor for the desktop, and second masses of small data mashup editor applications on the web.

So, you want to publish data about that upcoming event, the date, time, and place of that appointment, and the expected participants? And you want to do it in a way that it integrates with social websites and everybody can add the data into their individual information management system, be it on google calendar or in their personal timetable? The semantic web would offer that, allowing you to publish any data on the web using an open and free standard. The only problem is: you don’t get an “one editor does it all” and you don’t get decent integration into your everyday applications – yet.

Once you published the data in RDF format, there are some firefox plugins that let others use it, and search engines such as swoogle or swse will pick the data up. I tried in 2004 to find a generic RDF browser and editor and again later but could not be satisfied. Many people feel the same and some reacted in their blogs, coming to the conclusion that we do not need something as generic as raw RDF, but user friendly applications to edit it.

For 2007, I plan to be part of two streams of work that will happen.

Plan A: The Semantic Desktop Rich Client based on Eclipse RCP

This is going to be a desktop application that lets you download, edit and publish Semantic Web data. It will look something like the many applications already built on RCP:
ibmWorkplaceClient

If you don’t know Eclipse RCP: its a framework that lets you plug together bigger applications using Java. Ok, not as cross-language as the .NET platform or as used as ActiveX controls, but at least Java is now open source and exists on most platforms. And accidentially, I am familiar programming it.

So, the plan is to first define a few background components for RDF data handling, using the RDF2Go abstraction layer to allow you to plugin any RDF store you want. Then we need a few screws and hinges and a registry of plugins, and hopefully you will be able to browse and edit most common RDF data using a nice plugin. For example, a plugin to edit FOAF files and publish them somewhere would be part.

This project is coined Semantic Desktop Rich Client and is hosted on the semanticdesktop.org wiki, some people from Nepomuk will start coding a small core and then we discuss with others how to standardize a little.

Plan B: masses of small data mashup editor applications on the web

The problem of editing and publishing RDF can also be solved on the web itself. Some of you may know the foaf-a-matic editor that allows you to create RDF statements. For example, I could go there, create some RDF and put it here. Lets do that. Here is the result:

<rdf:RDF
xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#”
xmlns:rdfs=”http://www.w3.org/2000/01/rdf-schema#”
xmlns:foaf=”http://xmlns.com/foaf/0.1/”
xmlns:admin=”http://webns.net/mvcb/”>
<foaf:Person rdf:ID=”me”>
<foaf:name>Leo Sauermann</foaf:name>
<foaf:givenname>Leo</foaf:givenname>
<foaf:family_name>Sauermann</foaf:family_name>
<foaf:mbox_sha1sum>
bda8b719cf44de6997b69bc9cc5fca622b2645b3
</foaf:mbox_sha1sum></foaf:Person>
</rdf:RDF>

Doesnt look that pretty. No wonder, its got to be embedded in the HTML code of this webpage. Then it would look something like this (my blog cuts out RDF code, so I cannot really post it here, tried it, doesnt work, don’t want to fuzz with rRDF now, be patient, someone will make a mashup that lets you allow to embed rdf in a blog):

Leo Sauermann
Leo
Sauermann
bda8b719cf44de6997b69bc9cc5fca622b2645b3

Thats the advantage of RDF, its compatible with HTML and if you want more featurs, checkout eRDF and RDF-A.

The problem we need to solve now is: editors such as the foaf-a-matic need to be able to suck data in, edit it, and put it at the place where they got them from. Think of it like using more than one text editor on the same file, vi, emacs, kwrite, MS-Word, openoffice they are all nice ways to edit text. The same with the Semantic Web, and the advantage is that the Semantic Web data is designed to be on the web anyway.

So, we need to write small editors that can suck data from RDF repositories, edit the RDF a little, and store it back. You have your store at A, got all your data there, and your friend Alistair tells you about that great photo annotator on flunker.com, which happens to be a RDF editor like the one the XSLT semi-god Masahide Kanzaki offers. We only need more of them, and we need an automatic way to BLOG the data that was created by editors like Kanzaki.

So, at the end, I would like to be able to copy/paste the RDF generated by Masahides web-application into this blog and have the great annotations shown here.

ok, lets do that, here is the RDF of a photo annotation, here again the code:


<rdf:RDF
xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#”
xmlns:rdfs=”http://www.w3.org/2000/01/rdf-schema#”
xmlns:dc=”http://purl.org/dc/elements/1.1/”
xmlns:foaf=”http://xmlns.com/foaf/0.1/”
xmlns:image=”http://jibbering.com/vocabs/image/#”
xmlns:an=”http://www.w3.org/2000/10/annotation-ns#”
>
<rdf:Description rdf:about=””>
<an:annotates
rdf:resource=”http://static.flickr.com/31/39230921_71f02f0f10.jpg”/>
<an:author>leobard</an:author>
<an:created>2006-12-18T09:02:37Z</an:created>
</rdf:Description>
<foaf:Image
rdf:about=”http://static.flickr.com/31/39230921_71f02f0f10.jpg”>
<dc:title>Leo and Inkel</dc:title>
<dc:description>Leo and inkel at Buenos Aires</dc:description>
<dc:creator>Leobard</dc:creator>
<image:width>375</image:width>
<image:height>500</image:height>
<image:hasPart>
<image:Rectangle rdf:ID=”p1″>
<image:points>261,62 339,198</image:points>
<dc:title>Inkel</dc:title>
<image:depicts rdf:parseType=”Resource”>
<dc:description>Inkel</dc:description>
</image:depicts>
</image:Rectangle>
</image:hasPart>
<image:hasPart>
<image:Rectangle rdf:ID=”p2″>
<image:points>100,65 201,202</image:points>
<dc:title>Leo</dc:title>
<image:depicts rdf:parseType=”Resource”>
<dc:description>Leobard</dc:description>
</image:depicts>
</image:Rectangle>
</image:hasPart>
</foaf:Image>
</rdf:RDF>

and here is the result you get when rendering it nicely, this time using Kanzakis magic:

Leo and Inkel

Leo and inkel at Buenos Aires

Image description

Property Value
dc:title Leo and Inkel
dc:creator Leobard
image:width 375
image:height 500
Exif analysis The Web KANZAKI Exif to RDF

Image parts annotation

Inkel

rect(62px, 339px, 198px, 261px)

-62
-261

Property Value
points 261,62 339,198
title Inkel
depicts description:
Inkel;

Leo

rect(65px, 201px, 202px, 100px)

-65
-100

Property Value
points 100,65 201,202
title Leo
depicts description:
Leobard;

About this annotation

Property Value
an:annotates http://static.flickr.com/31/39230921_71f02f0f10.jpg
an:author leobard
an:created 2006-12-18T09:02:37Z

See Image annotator to describe your own image.

ok, now its your time to make a nicer annotator….
and blog the RDF it generates …
and wait for semantic web search engines to grab it … …

 

One Reply to “Two user interfaces for the semantic web: a generic semantic web editor and masses of mashups”

Comments are closed.