Posts Tagged ‘RDF’

Semantic Web Technologies RDF and OWL

Posted Friday, May 23rd, 2008 by RJ Bruneel

I had the pleasure of attending the Semantic Web Technologies RDF and OWL workshop with Bob DuCharme at the UVA New Horizons Conference. Bob is a well respected contributor in the semantic web community and has written several books related to the topic. After attending this workshop I feel like I finally grasped the concepts of the semantic web technologies. Bob did a great job of explaining the different technologies in a way that a technical person could easily understand.

The workshop began with a discussion of Resource Description Framework (RDF), which is a means to store metadata about resources. A resource can be anything from an audio (mp3, wma, wav), video(wmv, mov, mpg), e-book, etc. The metadata can be stored within the actual file or in a separate linked location. The metadata is made up of a simple data structure containing a subject, predicate and object. Personally I am not fond of these terms as they are a bit confusing and I find the best way to describe them is with an example from Wikipedia.

<rdf:RDF
xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#”
xmlns:dc=“http://purl.org/dc/elements/1.1/”>

<rdf:Description rdf:about=“http://en.wikipedia.org/wiki/Tony_Benn”>
<dc:title>Tony Benn</dc:title>
</rdf:Description>
</rdf:RDF>

The RDF code above can be parsed into the following triplet:

Subject: http://en.wikipedia.org/wiki/Tony_Benn
Predicate: http://purl.org/dc/elements/1.1/title
Object: “Tony Benn”

Which in plain English translates into, “The title of this resource, which is published by Wikipedia, is ‘Tony Benn’”. Now we could add several more tags to this example similar to the “dc:title” tag to describe many aspects of the object such as publisher, contributor, etc.

RDF can be assigned to a resource in several different ways and using different syntax. For example, Notation 3 is a syntax for defining RDF in a readable format without the use of XML. RDF can be embedded in HTML as well to define resources within a web page. Several popular web sites currently embed RDF in their web pages including www.wikipedia.org and www.digg.com.

Bob also discussed another web semantics technology referred to as Web Ontology Language (OWL). OWL is an extension of RDF Schema which is a common set of terms defined to describe a domain (A domain being something such as music, psychology or biology). Which basically means an agreed upon list of terms to be used to describe something. The Dublin Core is commonly used to describe video, sound, image and text with several metadata elements or “terms”.

Another technology discussed during the workshop was SPARQL Protocol and RDF Query Language (SPARQL) which is the query language used with RDF. If you think of RDF as a huge database available on web, SPARQL would be the SQL language used to query the database. It was with this thought during the workshop that I realized the remarkable potential these semantic web technologies possessed. Now imagine all these RDF “databases” are linked together and you can query all of them at once. DBpedia is a project designed to do just that by extracting information from Wikipedia, making the information available on the Web and linking to other data sets such as MusicBrainz.

The Simple Knowledge Organization System (SKOS), in the Context of Semantic Web Deployment

Posted Monday, May 12th, 2008 by RJ Bruneel

This past Thursday, May 8th I had the privilege to attend a presentation at the Library of Congress by Alistair Miles, key developer of SKOS, and semantic web practitioner at the University of Oxford. The presentation was held at the Library of Congress because they are very interested in using this emerging technology for their catalog. SKOS is very close to becoming the W3C standard for publishing thesauri, classification schemes and subject headings as linked data in the Web. SKOS is built upon Resource Description Framework (RDF) and its main objective is to enable easy publication of controlled structured vocabularies for the Semantic Web. SKOS was developed to provide a more simplified alternative to OWL.

Alistair started out the presentation by demonstrating the value of HTML links and how they have made web pages and the Internet more accessible. He then described SKOS as the standard means of linking data across the Internet. SKOS has concepts of a label, alternate labels, notes, broader and narrower where the label is the title, alternate labels are different spellings, notes are a description and broader and narrower attributes are used to link to related concepts.

RDF was developed as a means to declare metadata of resources in a standard way. An RDF description of a resource contains a subject, predicate and object where the subject is the title of the resource, the predicate is the type of resource, and the object can be data or another resource. RDF is basically a standard XML schema for defining resources such as music, books, articles, etc. For an example take a look at the following from Dublin Core. An example of using RDF in an XHTML file is as follows:

  <p class="contactinfo" about="http://example.org/staff/jo">
<span property=”contact:fn”>Jo Smith</span>.
<span property=”contact:title”>Web hacker</span>
at
<a rel=”contact:org” href=”http://example.org”>
Example.org
</a>.
You can contact me
<a rel=”contact:email” href=”mailto:jo@example.org”>
via email
</a>.
</p>

This example contains several attributes with the word “contact” in it. Each attribute defines a piece of the contact information, for example, the attribute contact:fn defines the contacts first name.

If you have a need for linking data in your web applications take a closer look at the technologies above for use in your application.