Presentation Materials

The slide deck in PDF format

Exercises

Python Exercises

Try the commands in the RDFLib Exercises yourself.
RDFLib Python library Version 2.4.1

Sesame Exercises

You will need Sesame and Jetty (Java servlet container)
Sesame: openrdf-sesame-2.2.4-sdk or 2.3pr-sdk
Jetty: jetty-6.1.18.zip

The set-up instructions are at sesame-setup.html
It's generally a very quick process (you will spend the most time downloading and unzipping the files.)

Once you have the system set-up try running the exercises

MyBlog Demo Application

The MyBlog application makes use of Sesame (over HTTP), RDFLib and Cherrypy.

MyBlog Python source
Cherrypy (tiny HTTP application server): Version 3.1.2

To see the Common Tags on a viewEntry page you can use RDFa Hightlight bookmarklet

To create the "instant topic hub" uncomment the small code block in viewTag.html

The app also contains a tiny Linked Data Server. Try hitting http://127.0.0.1:9080/ns/<a blog entry identifier>. This LOD server handles the 303 information resource redirect, but does not engage in any content negotiation. We include it to show how easy it is to add a Linked Data interface to any application you write, if it is backed by a triple store.

For example, if your blog entry view URI was:
http://127.0.0.1:9080/viewEntry?id=http%3A%2F%2Fsemprog.com%2Fvocabs%2Fmyblog%23entry-2009-06-13T21%3A34%3A27.580708

Try:
http://127.0.0.1:9080/ns/http%3A%2F%2Fsemprog.com%2Fvocabs%2Fmyblog%23entry-2009-06-13T21%3A34%3A27.580708

Notice that you land on the URI:
http://127.0.0.1:9080/rdf/http%3A%2F%2Fsemprog.com%2Fvocabs%2Fmyblog%23entry-2009-06-13T21%3A34%3A27.580708

This is handled by the "default" method in myblog.py