Wilbur: Nokia's RDF Toolkit for CLOS

Ora Lassila (ora.lassila@nokia.com)
Agent Technology Group, Nokia Research Center

$Id: index.html,v 1.5 2001/07/17 19:14:27 ora Exp $


Abstract

Wilbur is a toolkit for writing RDF-enabled software. Wilbur is written in CLOS, and includes an RDF parser, a DAML parser, an XML parser, an API for managing "RDF data", and a simple HTTP client; it also includes a simple (and at this point experimental) frame system on top of RDF & DAML.

Status of This Document

This document represents the first public (open source) release of the Wilbur toolkit. It should be considered "alpha" software. Bear with us if the documentation turns out to be slightly out of sync with the source... As always, any comments are welcome.

Modules

Notes on Installation and Usage

The system relies on the logical pathname host "wilbur" to be defined. Here's an example of how the pathname translations could be set up:
(("core;*.lisp"  "wilbur:base;source;*.*")
 ("core;*.pfsl"  "wilbur:base;binaries;*.*")
 ("core;*.*"     "wilbur:base;source;*.*")
 ("schemata;*.*" "wilbur:base;schemata;*.*")
 ("base;**;*.*"  "Pumpkin:work:experiments:Wilbur:**:*.*"))
This definition is for MCL on a Macintosh, but one gets the general idea.

The system definition file assumes the CMU Defsystem tool (by Mark Kantrowitz), but it can be relatively easily translated to work with other Defsystem tools as well. If you have the CMU Defsystem, you can build the system as follows:

(load-logical-pathname-translations "wilbur")
(load "wilbur:core;wilbur.system")
(make:compile-system :wilbur)
The toolkit uses three packages: the "NOX" package contains the XML parser and related functionality, and the "WILBUR" package contains all other modules (except that some "helper" functionality is in the "WILBUR-UTILITIES" package). "WILBUR" uses "NOX" by explicitly making references to "NOX" symbols (except for the URI constants which are imported, then re-exported from the "WILBUR" package). The "WILBUR" package can be used either by importing (via use-package) or by making explicit references to the exported symbols.

Before loading the system, users of Macintosh Common Lisp will have to load the ANSI CL -compatible make-load-form implementation (this is for portability reasons):

(load "ccl:library;load-form")

Credits, Attributions, and Acknowledgements

The Wilbur development work at Nokia Research Center was supported in part by Nokia Mobile Phones (NMP) and Nokia Ventures Organization (NVO), as well as Nokia Venture Partners, LP.

The author wishes to express his gratitude to the following individuals for advice, comments, criticism, etc.: Dan Brickley (University of Bristol), Stefan Decker (Stanford/DB), Jessica Jenkins (Stanford/KSL), Deborah McGuinness (Stanford/KSL), Sergey Melnik (Stanford/DB), Eric Miller (OCLC and now W3C), Ralph Swick (W3C), Dietmar Tallroth (Nokia Research Center) and Louis Theran (Nokia Research Center and now UMass/Amherst).

The class diagrams in this documentation were automatically generated using PowerGrapher, a CLOS-based toolkit for drawing trees and other graphs (see the publication "PowerGrapher Reference Manual - A Programmer's Guide to the PowerGrapher Tree Visualization Toolkit" by Ora Lassila, Report HTKK-TKO-C56, Department of Computer Science, Helsinki University of Technology, 1992).

Made with MCL The Wilbur toolkit was developed entirely using Digitool's Macintosh Common Lisp version 4.3 (which I consider to be a fantastic software development environment).


Copyright © 2001 Nokia. All Rights Reserved.
Subject to the NOKOS License version 1.0
Author: Ora Lassila (ora.lassila@nokia.com)