Bootstrapping the Semantic Web
with Redland

Dave Beckett

Institute for Learning and Research Technology (ILRT),
University of Bristol, UK

University of Bristol

Overview

What Is Redland?

Redland RDF Application Framework   Set of Libraries   Toolkit   Whatever!

Redland is a set of mature RDF open source libraries written in C providing a foundation layer of technology for semantic web applications including language bindings to C#, Obj-C, Perl, PHP, Python, Ruby and others.

RDF Technology in 2000

RDF in a box

Summary: lowest possible barriers to use

Redland from Semantic Web @Bristol

The name: Redland is an area of Bristol, UK

FOAF was created here.

5 RDF W3C Recommendation editors work here.

Jena Java Semantic Web toolkit was created here at HP Labs.

(Actually Jena was created the same month as Redland, June 2000, by Brian McBride).

RDF in a box - Two Key Requirements

  1. Portable to your system
  2. Available in your programming language

Key Requirement 1 - Portable

Key Requirement 2 - Language Availability

(Aside: I'm suspicious of any (web) technology that doesn't have easy to find and use software for it in a variety of languages)

Other Important Requirements

API Style - Object-based C

Data flow and constructs

Semantic Web Stack

Semantic Web Stack Tim Berners-Lee
2002

#include <stdweb.h>

Semantic Web Stack  
 
 
 
 
 
stdrdf
 
 
stdxml
 
 
stduri

C Open Source Web Libraries

stdrdf Redland
stdxml expat, libxml2
stduri libcurl, libwww, BSD libfetch, (libxml2)

(there is a libwww from the W3C but it covers a large range of web technologies, is rather monolithic and large and more a reference implementation)

Redland Components

What you get in the Redland box

Redland Documentation

Availability expectations

Availability to scripting languages

Expect to use it with one line of code

$ python
Python 2.3.4 (#1, Feb  2 2005, 12:11:53) 
[GCC 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
<<< import RDF
<<< 

Or none:

$ perl -MRDF::Redland '...'

You can always use the command line:

$ rdfproc
Redland RDF processor utility 1.0.0
Copyright (C) 2000-2005 David Beckett, ILRT, University of Bristol
Try `rdfproc --help' for more information.

Redland RDF APIs

Alternatively, use a query language...

RDF Query in Redland - Rasqal

RDF Query - SPARQL

SPARQL

Redland Availability

Demo

Demo

Parsing in raptor
GRDDL 1 or GRDDL 2

Querying in rasqal

Current and Future Possible Work

For anything else, I prefer patches in diff -urN form :)

Thanks

Slides (will be linked from): http://purl.org/net/dajobe/

Redland: http://librdf.org/

Questions?

References