Before you start
This tutorial is for developers who are interested in learning about the Resource Description Framework (RDF), as well as for those interested in learning more about the semantic Web and semantic Web services in general and the building of ontologies in particular. You will learn how to build and interpret RDF information in both its familiar XML form and its non-XML shorthand form.
This tutorial does not involve any programming, but assumes that you are familiar with the general concepts behind XML.
It seems you can't turn around on the Web these days without running into a Web site that either offers access to its data through a Web-services-based API or uses data from another site obtained through a Web-services-based API. When you consider the advantage of using existing information in your own applications, that's probably not terribly surprising. It was also just a matter of time before someone started to combine the data from these disparate systems to create something entirely new. These applications, called mashups, are the latest rage on the Web, from community-based sites to specialized search sites to the ever-present mapping mashups.
Mashups are (almost) all useful, but one thing that they have in common is that they were all developed for a specific set of services. If one of those services changes, or if the preference for a specific service of a particular type changes, you'll have lots of work to do.
The purpose of this tutorial series is to create a mashup application so smart that users can literally add and remove services at will, and the system will know what to do with them. The series progresses as follows:
In Part 1, I introduce the concept of mashups, showing how they work and building a simple version of one. You also discover serious performance problems involved in making potentially dozens of Web calls.
In Part 2, you solve some of that problem by using DB2®'s new pureXML™ capabilities to build an XML cache, which saves the results of previous requests and also enables you to retrieve specific information.
Ultimately, you will need to use ontologies, or vocabularies that define concepts and their relationships, so here in Part 3 you start that process by learning about RDF and RDFS, two key ingredients in the Web Ontology Language (OWL), which I discuss in Part 4. In Part 5, you take the ontologies created in Part 4 and use them to enable users to change out information sources.
In Part 6, things get really fun. At this point, you have a working application and the framework in place so that the system can use semantic reasoning to understand the services at its disposal. In this part, you give the user control, enabling him or her to pick and choose the data that is used for a custom mashup.
In previous parts of this series, you created the foundation for the mashup: the servlet that checks the database cache and then displays the saved or fresh data. Now you need to start putting the "semantic" in semantic Web. In Part 4, you'll create an ontology that will enable you to perform logic on your services, but first you need to understand the language in which you will work with that ontology, the Resource Description Framework, or RDF.
This tutorial gets you up to speed with RDF and its offshoot, RDF Schema (RDFs). In the course of this tutorial, you will learn:
- What RDF is and what it's used for
- The relationships between RDF, RDF Schema, OWL, and the semantic Web
- The basics of RDF
- Dealing with resources, properties, and other RDF structures
- Representing RDF in XML -- and without it
- Creating classes and instances using RDF Schema
In this tutorial, you will look at these structures from the standpoint of representing the components and data from your mashup.
Although you do need various software components to run the mashup itself -- see Part 2 for the list of requirements for the current state of the application (see Resources)-- this tutorial is mostly conceptual, so you will need no special software to follow along.