URI Query Agent (URIQA)

This package implements the Nokia URI Query Agent (URIQA) specification allowing a client to query and modify the RDF-based description of a web resource using HTTP. Since RDF Gateway is both a web server and a RDF database server it is the ideal platform for managing metadata on the web.

Introduction

The Resource Description Framework (RDF) provides the basis for describing resources on the Semantic Web. However RDF does not explicitly specify how to locate the resources it describes. One issue is that RDF describes resources by identifying them using a URI (Uniform Resource Identifier) and not a URL (Uniform Resource Locator). URLs are used by common web protocols such as HTTP for locating resources on the web. For example the URL http://www.intellidimension.com allows a web browser to locate the Intellidimension home page. Since all URLs are URIs (the converse is not true), describing resources in RDF using URLs is always valid. The benefit of using URLs is that the descriptions of the resources can be retrieved using a standard web protocol like HTTP.

URIQA

The Nokia URI Query Agent (URIQA) specification defines a simple extension to HTTP that allows a client to query or modify the description of a web resource identified by a URL. Resource descriptions are expressed using the Resource Description Framework (RDF). The URIQA specification allows both the representation and description of a web resource to exist at the same URL. For example both an image file and the description of the image file (i.e. it's metadata) can exist at the same URL. The client differentiates between the two by using three new HTTP methods: MGET, MPUT, and MDELETE. Basing resource descriptions on a URL allows the domain owner to be the one and only authority on that resource. URIQA provides the basis for standardized navigation of the Semantic Web.

Package Event Handlers

RDF Gateway has a package event handler function (see Package_OnRequest) that allows a developer to implement custom handling of HTTP requests for each RDF Gateway Package installed on a server. When a HTTP request specifies a URI of a resource in a package then RDF Gateway invokes the custom event handler for that package. This event handler can be used to enable RDF Gateway to handle URIQA requests.

Package Overview

The URIQA request handling is implemented in a RDF Gateway Package called uriqa. This package creates a RDF Gateway database table (also named uriqa) when it is installed. This database table is used to manage all of the descriptions for the resources in the package.

To try it out you must first install the package by creating a directory on the machine where RDF Gateway is installed and copying all of the source files into that directory. You can then use RDF Query Analyzer to execute the following command (see Executing RDFQL with RDF Query Analyzer) to install the package.

Server.addPackage("uriqa", "c:\\your-package-dir");

You will need a client application that can send the appropriate URIQA requests to RDF Gateway in order to see it work.

Source Files

global.rsa