Simple, XSLT friendly RDF/XML

We need a simple RDF/XML serialization for XSLT transformations. I wrote my ideas about this here:

esw.w3.org/topic/SimpleRdfXml

SimpleRdfXml

Using the general RDF/XML spec, the RDF serialization can look quite different depending on rdf-writer implementation. These diversity in writing RDF makes writing XSLT transformation a black art. What happens is that the data shows up in so many different ways, that many people write big hacks to get it work.

Solution: a simple RDF/XML syntax that is RDF/XML compatible but has some restrictions to it. It is kind-of deterministic and can be better parsed in XSLT. I [LeoS] call it SimpleRdfXml.

See Also

Example

This is a fragment of FOAF, using the simpleRDF/XML

 foaf-example:
 <rdf:RDF
    xmlns:foaf="http://xmlns.com/foaf/0.1/"

    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:vs="http://www.w3.org/2003/06/sw-vocab-status/ns#"
    xmlns:wot="http://xmlns.com/wot/0.1/"
    xmlns:dc="http://purl.org/dc/elements/1.1/" >
  <rdf:Description rdf:about="http://xmlns.com/foaf/0.1/firstName">
    <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>

    <vs:term_status>testing</vs:term_status>
    <rdfs:label>firstName</rdfs:label>
    <rdfs:comment>The first name of a person.</rdfs:comment>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>

    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
  </rdf:Description>
</rdf:RDF>

Design Rules of SimpleRdfXml

  1. be compatible with RDF/XML

  2. but only a subset

  3. restrict stuff to simplicity

Rules

  1. no nested stuff

  2. all literals as <foaf:name>Hello!</foaf:name> and not attributes like <blub foaf:name="Hello!">

  3. no blank nodes (replace them wirth random uris while serializing)

  4. serious: no blank nodes. They force you to check all the time for different ways to lookup resources.

  5. only full uris, no relative ones

  6. type always as triple, not in xml

Implementations

Using Jena, the easiest way to get it is:

simple rdf:
Model m = ...;
m.write(System.out, "RDF/XML");

bad rdf:
m.write(System.out, "RDF/XML-ABBREV");

more detail

No nested stuff

All literals as elements, not attributes

Querying from XSLT is easy with both, but having to check both all the time sucks. Most hackers go with the element solution, as it can contain datatypes and languages and can have better strings with CDATA elements.

No blank nodes

Thats hard to achieve. The idea behind is to easily query other nodes and follow links, when blank nodes are in game, this is harder.

Full URIS

In foaf-vocab, there is a uri called “../sig” which is the show-stopper. don’t do it

Type always as triple

Wrong: <foaf:Person rdf:about="urn:example"> Right:

<rdf:Description rdf:about="urn:example"> 

  <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>

When things have two types, this comes in handy. Again, a step for making it simpler.

Contra-Example

This RDF is BAD RDF and is not simple, it breaks the rules: nono:

<foaf:Person rdfs:label="blub">
  <rdfs:commment>asdafsd</rrr>
  <rdf:hasblub >

     <rdf:descrip....

SimpleRdfXml (zuletzt geändert am 2006-04-24 18:16:00 durch LeoS)

Nepomuk meeting in Paris

Wednesday and thursday we had a smaller Nepomuk meeting in Paris to synchronise the Semantic Desktop backbone architecture with the plans of some Nepomuk Partners. Thomas Roth-Berfghofer and myself went to see Mikhail Kotelnikov, Alexander Polonsky, and Stéphane Laurière. The first two are from cognium systems and are working on a software to support bioscientists with Semantic Desktop technology, the latter is working for Edge-IT, who provide services to the Mandriva Linux community (the mandriva club).

Meeting was very productive, getting practitioners and scientists together to see how the Semantic Desktop can help people at large. Photos of the meeting are here:

http://www.flickr.com/photos/leobard/tags/dfkiedgeitcog2006041213/

Looking forward to our upcoming Semantic Desktop hack next week and the big Nepomuk Meeting at the beginning of may, people come together now on Semantic Web.

flashmob kissenschlacht

Nehmt ein kissen mit und dann gibt kissenschlacht. Heute so geschehen in Kaiserslautern, 13:30.

fazit: überraschend doch viele leute, guter kampf. Auch gut: ein klares Ende, durch eine Trillerpfeife eingeläutet. Viel spaß, interaktive spiele wie “gruppe a gegen gruppe b”, geworfene und geschwungene Kissen.

Videos bei vimeo und youtube (bei vimeo kann man runterladen)

/>

und photos bei flickr in der group http://www.flickr.com/groups/pillowfight-int/ , tag kaiserslautern

(sorry, flickr badge javascript geht hier nicht)

www.flickr.com

photos in pillowfight tagged with kaiserslautern More photos in pillowfight tagged with kaiserslautern

A comparison of feedreaders

This week I decided to look for a new blog/feedreader. My first try was to search the web and try web-readers out myself, using my OPML file. Behold – now Techcrunch made an article about feedreaders.

their idea:
There are a numer of different types of readers: web-based, desktop, Outlook based, etc.. This post is focused solely on web-based feed readers. I’ve included the big guys plus some up and coming readers with outstanding features and/or performance like News Alloy, Gritwire, Attensa and FeedLounge.

Rojo is the reader I am using at the moment, but I miss an option to search all my feeds for a keyword (hey, where is that blog entry about Quake3StrategyGame?).

So perhaps I should try out bloglines…

btw: they made a mistake in the article: Rojo supports OPML export, I just tried it out and it even semi-validates.

the quake III strategy game

Quake 3, by ID software, a “first person shooter” game that became popular because of the Quake 3 Arena mode. The code of this software is open source now and there is a new version, quake 4 out. But still, a very popular game.

The problem with quake 3 is, that newbies are cannon fodder for the cracks. So, when Leobard joins a quake game he can look around a few seconds, enjoy finding a gun and is then immediatly shot. Not so with the alternative gameplay:

The Quake III strategy game.
Quake 3 strategy is a modification of the original, allowing you think about every move you make, aim when shooting, plan every move and really enjoy drinking coffee during the game. How to enjoy this? Set the server speed to 20% and the gravity to roughly 500, then you are in. No hasting for powerups anymore, no stress.

If you think that is stupid, check out the real Doom Roleplaying game:

Doom RPG
Doom RPG is a first-person turn-based role playing game set in the Doom universe. Developed specifically for your mobile device, you reprise the role of the Doom Marine made famous in the groundbreaking id Software titles Doom, Doom II, and Doom 3. Say goodbye to humdrum mobile gaming and prepare yourself for the return to Mars in a showdown with the legions of Hell!

Semantic Desktop Hands On Workshop III, 21-23 April 2006, Kaiserslautern

The next Semantic Desktop hack! Learn about current projects on the Semantic Desktop, express your ideas and combine them with others.

Date & Place

April 21st – 23rd, 2006

Location

DFKI Kaiserslautern, Germany, Building 57, Room 508

Registration

Participation fee for the three-day workshop is 30€, to be paid at the first day on site.

Register by sending an e-mail to Thomas Roth-Berghofer.

If not indicated otherwise by you, we will put your name and affiliation on the public list below.

Participants

Accomodation

The city of Kaiserslautern has a list of hotels here: http://www.kaiserslautern.de/tourismus/hotels_und_unterkuenfte/index.html?lang=de&download=00157

The Pension Blum (Rudolf-Breitscheid-Straße 7, 67655 Kaiserslautern, Tel.: +49-631-3115656) is known to be cheap and ok, and is 2 minutes from the station.
(or if price is not an issue the Dorint is between DFKI and the city centre and is also nice … )

Organizers

Topics

  • frameworks for Semantic Desktop
  • possible application scenarions
  • your scenario – your diploma thesis, your customer project
  • Ontologies for the Semantic Desktop
  • The Nepomuk EU Project – what it is?
  • Programming interfaces for the Semantic Desktop
  • Cooperations based on existing projects
  • Philosophical impact of the Semantic Desktop, changes in knowledge work and society.

Talks, Demos, Posters submissions

We will have slots for talks, demos and posters. Roughly four talks per day, each 30 minutes.
Alltogether there are 10 slots for talks open.

Please submit your proposed talk, poster or demo via e-mail to Arne Handt.

Current Program

  • Talk: (Thomas Roth-Berghofer): What is the Nepomuk EU Project?
  • Talk & Demo: Leo Sauermann: current state of the gnowsis semantic desktop
  • Talk: Dominik Heim: Introducing his diploma thesis
  • Talk: Arne Handt: DBIN
  • Visit the official homepage

(btw: these workshops were previously known as the gnowsis hacks)