Cool URIs for the Semantic Web

During practical RDF projects, one big challenge is always how to choose good URIs for your resources. The RDF standards say very little about this topic. There are some best practices and helpful recommendations, but they are scattered all over the web. Creating “cool URIs for the semantic web” is hard.

Richard Cyganiak, Max Völkel and myself have written an article about how to choose cool URIs, filled with practical knowledge and background information about the problem and solutions. We have collected what we have learned during projects such as Semantic MediaWiki, dbpedia, D2R Server, Gnowsis, and Nepomuk. We hope that this article is a help for you or your students to get started programming Semantic Web applications.

Read it

Abstract
The Resource Description Framework RDF allows you to describe web documents and resources from the real world—people, organisations, things—in a computer-processable way. Publishing such descriptions on the web creates the semantic web. URIs are very important as the link between RDF and the web. This article presents guidelines for their effective use. We discuss two strategies, called 303 URIs and hash URIs. We give pointers to several web sites that use these solutions, and briefly discuss why several other proposals have problems.

Notice: we have written the article late last year, but published it this year. You can republish or copy this article under the Creative Commons Attribution-NoDerivs 2.0 License.

geo markup of photos

I was on a sailing holiday at the beginning of February, ten people on a catamaran in the Carribean. Thanks to sailing, we had an Offshore Navigator on a laptop, recording the positions with a GPS mouse.

Using this GPS track and the photos taken with our two cameras, I was able to create a KML file from the journey. I used some custom PHP code I have written, a little MySQL/PHP/FlickrApi/GoogleMaps hack. It took two days to hack, which is quite nice. Included is a photo annotator to place pictures with some productivity tools (copying the position from one picture to another).

The first result is a Google Earth KML file. It shows the track of the boat and the pictures from Flickr. The other crew members don’t have flickr accounts… yet.
google earth view of the tour

Second, I wrote another script that sets the needed geo-tags on flickr based on the geocoding. See my flickr map.
flickr map of the tour

Now that I have the code, I would love to go on with these things. Is there an open source project which dedicates itself to such mashups? We could also use Chris Bizer and Richard Cyganiaks D2RQ to make a sparql-endpoint for geo positions. Who is in?

Is there an API for plazes.com? So many things to do 🙂

Semantic Desktop Workshop 4, 12th – 14th April 2007, Berlin

Announcement:

The Semantic Desktop Hands-on Workshop will be an opportunity to learn about ongoing research and development effort in the area of Semantic Desktop, Semantic Web, and Personal Knowledge Management. It will consist of a scheduled program of talks, presentations and demos, and self-organized phases of active software development in small teams, going into hands-on development on concrete projects together.


Participants are practitioners, researchers, and interested IT persons; it is encouraged to contribute by presentations or demos of your work. Deadline for registration and submissions is March 28th.

Date & Place
April 12th – 14th, 2007,
Freie Universität Berlin,
Takustr. 9,
Berlin,
Germany

This is the perfect opportunity to meet Semantic Web people, visit Berlin, learn and do Semantic Web things. Registration, participants list, more details are all on the wiki page. Feel free to add your contributions there.
* http://www.semanticdesktop.org/xwiki/bin/view/Wiki/SemDeskHandsOn2007April

Personal URI and integrating data from variuous sources

Kingsley Idehen, Uldis Bojars and John Breslin have published some ideas on how to link data from various web 2.0 sites.

Thats exactly what we wanted to implement in gnowsis 0.9.2, although we missed the great looks for it 🙂 look here!

Here are the blog posts about it

The idea is to use URLs from OpenID to identify people, a good approach.
Some things have to be thought of:

  • It should be connected with the required 303 redirects (a person is not a document, the URL must not return a web document but instead a 303 redirect).
  • Not only to aggregate the data, but also to aggregate the ideas. We need to create a personal tag cloud, like we have done in the PIMO

If you dig Java, checkout the aperture.sourceforge.net project to find code that reads flickr, can and should be extended.

Deliriously yours: Sesame 2.0-beta1

It has happened! The Sesame developers finished the first beta of Sesame 2.0. This day marks a great moment in RDF development, as we have a successor to the very popular sesame1 server. Leobard says: well done guys, gratulations, enjoy, cherish, drink beer, a good reason to do mardi gras. Here the full annoncement, as received via e-mail:

We are ecstatic to be able to announce the first beta release of Sesame
2.0! Sesame 2.0-beta1 marks the end of architectural changes to Sesame 2
and allows us to focus on adding features and fixing bugs, and you to
finally see the Sesame 2 API as it is meant to be. You can find the
latest version in the download section at http://www.openrdf.org/ .

So what’s new in Sesame 2.0-beta1 compared to previous alpha releases?

* Repository, Sail and Query APIs stable.
We have moved from alpha-stage to beta-stage, meaning that the
core APIs, the interfaces and method signatures, are now frozen
and stable. This ensures that you as a developer will be able to
upgrade to future releases without fear of breaking your
application. See the JavaDoc API documentation and the user
documentation for more details.
* Improved Context Support.
We have improved the way Sesame handles contexts, allowing
developers to freely access any combination of zero, one or more
contexts in a single repository. Use of Java 5’s vararg feature
ensure a flexible, easy-to-use API.
* Sesame 2.0 Web Client.
beta1 features the first release of a web client for Sesame
servers. This web client can be deployed as a webapp and can be
used to conviently query and modify a Sesame repository running on
a (remote or local) Sesame 2.0 server.

For a more complete and detailed overview of changes, see the ChangeLog
at http://www.openrdf.org/ .

Of course, we would not call it beta if there were not some things
missing as well. Our ToDo list includes:

* A MySQL storage backend is under development but not yet available
in this rlease.
* Custom inferencing is not yet available.
* The SPARQL query engine does not yet support ordering and a few
other language features.
* Fine-grained security on repositories is not yet available.

As remarked before, this beta release marks an important step in Sesame
2.0 development: instead of focusing our development efforts on the core
structure and architecture we can now start paying attention to
(aforementioned and other) features. You can expect regular beta
releases as we add more of the ‘good stuff’.

Of course, we owe a great debt to the many contributors and
co-developers of Sesame 2. Thank you all for your patience, and we hope
you are as pleased with the result as we are.

Deliriously yours,
the OpenRDF development team
— Aduna – Guided Exploration www.aduna-software.com Prinses Julianaplein 14-b 3817 CS Amersfoort The Netherlands

typo3 board 07 – podcast

back to work, back to the web, just sitting on my couch with Rinne, a typo 3 guy who was with the T3BOARD07 – a snowboarding week of typo3 geek and geekines.

watch their amazing video of a week of snow and party…

Colorful and entertaining report from the TYPO3 event of the year!. T3BOARD07 was held in France, Les Deux Alpes, last week in January – the 6th time! 130 participants from 10 countries in Europe. You will see snow, people, girls, football, tour de chambres and what was on the agenda for the lucky ones. And some extra gags are thrown in.


THE VIDEO

Hey, we should do the same with Semantic Desktop in Europe. The Semantic Snow 2008 – who is in?

Semantic Desktop Article in “Technology Review”

The word is out there – the german “Technology Review” magazine, a partner of MIT’s technology review, has published an article about the semantic desktop and myself in its februar issue.

logo of technology review

If you happen to be in a german-speaking country like Germany, Austria or Switzerland, go to a good bookstore and buy the february 2007 issue. The article sums up my idea of a Semantic Desktop very good, and they also have nice articles on the future of food. The keypoint is, that Semantic Web is a good idea, and Semantic Desktop can help start it.

Gordon Bolduan interviewed me, and I will publish a photo of him interviewing me (which I made) later in February – because I am going on holiday now! see the next post for more…

Making desktop search worth it: connecting strigi, beagle++, aperture

Did you ever ask yourself why you can’t find anything on your own computer, but can find stuff in the internet? Its the great search engines.

On the desktop, the Nepomuk project is aiming to enhance desktop search with semantic features. So additional to asking “where are these files with ‘money'” you can ask for things related to job offers within the last month.

Sebastian Trüg (whom you may know because you have been using K3B to burn CDs, watch the “about” window of this KDE app) is leading the Semantic Desktop integration for KDE, and he connected us with many other people, for example Jos van den Oever from the Strigi project.

We have set up a wiki page with plans for the future, and will try to integrate RDF search with fulltext search. This would allow a very generic, “technically beautiful” solution to data indexing, RDF is very generic and reusable and fulltext-indexing is quite handy already.

Pray for us, hold your thumbs, if all goes well, we will agree on one standard and desktop search will rock and roll.

Notes on Connecting First and Second Life

Matt Biddulph has published notes on how he connected a hardware knob with a second life parameter. Second Life is a computer world where you can create objects, manipulate them, sell them, within a three-dimensional world. Matt used an arduino board, a kind of electrical device you can plug into a computer and play around with electronics.

Watch the video demo on his weblog.

The direction this is going is exactly what I love: connecting the world of information (secondlife, the web) with the physical world.

Now what I would love to see is to use the Nintendo WII hacked, so that I can use the WII wireless controller to get the Secondlife stuff moving.

It seems this hack is still to be done, but this video gives a light impression of what I mean:
/>/>

The guys from zedomax.com have used a CUBLOC controller to create a Joystick USB device for a PC. But not a joystick, a six-axis-of-freedom-controller. The glue is some basic code on a basic controller.