W3C home > Mailing lists > Public > www-rdf-interest@w3.org > August 2000

Wraf project status

From: Jonas Liljegren <jonas@paranormal.se>
Date: Wed, 9 Aug 2000 11:42:47 +0200 (CEST)
To: RDF Interest <www-rdf-interest@w3.org>
cc: "McBride, Brian" <bwm@hplb.hpl.hp.com>, Jan Grant <Jan.Grant@bristol.ac.uk>, rdf@uxn.nu, perl@goteborg.pm.org, masters@rit.se, "L.M.Orchard" <deus_x@pobox.com>
Message-ID: <Pine.LNX.4.21.0008091134380.18823-100000@paranormal.se>

Here is a status report for Wraf:

The front page, describing the goal has been updated:

I am in the process of registring the project at 

We are now two active developers and will soon spend the majority of
the time at this.  It will have the standard Perl license. that is;
Artistic or GPL.

The overall architecture of the module is done. We feel that its now
just a matter of implementation.  The API is based on the discussion
around RADIX and the Java RDF API and from the experience from the RDF
Schema Editor.  It uses a mix of traditional OO and Resource-centred

This is the core architecture:

1. my $service = new RDF( @authentication );

Create a service object by telling the system who you are.  This, and
all objects will be a regular RDF resource with its own types and

2. $service->connect($interface, @target);

Connect to a couple of interfaces. These can be static RDF Schemas, DB
storage, a http connection to another internet service or an interface
to custom information resources, such as business systems, LDAP or
anything else. It could also be interfaces to new functions.

Each interface registrer availible methods to the service.  These are
dependent on a) The URI prefix and b) the resource type.

3. my $model = $service->create_model();

Every statement belongs to a model.  This will crate an 'open' model
in your default local namespace.

create_model() is a method for resources of the type #Service.  This
method call will on the fly compile a jump table for the service
object, consisting of functions from all interfaces implementing this
method for the used namespace. The functions will be called in order
of authority and the appropriate object returned.

I will stop here because this is aproximatly how long I have come so
far.  But I do have a clear picture of how the rest will be done.
Much consideration has been taking to make the system realy fast by
caching and other things.

The first DBI interface module has been optimized for minimizing the
number of queries needed.  It will cause some complexity. But that's
ok. This is the present table layout:

The API overview, in the same dir as above, is out of date. The
current source code can be viewd here:

/ Jonas  -  http://jonas.liljegren.org/myself/en/index.html
Received on Wednesday, 9 August 2000 05:40:45 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:44:24 UTC