in RDF

RDF for beginners: Part 1: The URI

This will be the first in a series of posts on RDF for beginners. I hope it will be of use for people who are new to RDF but have some background in software development. One of the reasons I am putting this online is to get feedback on how RDF and the semantic web can be explained without sounding like an overenthusiastic preacher. Another reason is that most of the information I find about RDF is written by bearded researcher men. Sometimes they explain RDF in a way I find hard to understand since I’m not an expert on RDF myself. Also, my beard is much smaller.

Before looking at actual RDF, let’s start with a fundamental concept: the Uniform Resource Identifier (URI). URI:s are used heavily in RDF and it is important to understand the basics. Wikipedia has a nice article on URI:s that states:

A Uniform Resource Identifier (URI), is a compact string of characters used to identify or name a resource. The main purpose of this identification is to enable interaction with representations of the resource over a network, typically the World Wide Web, using specific protocols. URIs are defined in schemes defining a specific syntax and associated protocols.

A resource can be many things, e.g. a record of information such as a purchase order, a person, the online representation of that person (in the form of a wikipedia article). You decide!

One form of URI:s is the Uniform Resource Locator (URL). If you are looking at this article you have a URL in the address bar of your browser. If you know your way around a relational database you can compare URI:s to primary keys or compound primary keys. A cool thing is that a URL also includes information on how to retrieve the resource (e.g. “http”).


If you have developed software for the web it is likely that you have abused URL:s. Instead of identifying a resource (e.g. a record of information) you may have identified a specific script that acts on the record. By doing so you have made it harder for others to make use of the information you put online.

I have done this on numerous occasions. It typically looked like this:


I didn’t know better at the time. What it should have looked like is this:


I guess I never really thought about the R (resource) in the URL. I was more occupied with getting the damn thing online in the first place.

Next time we’ll take a peek at RDF itself.