[RDF] [Fwd: librdf - application framework for RDF pre-announcement]
Jonas Liljegren
jonas@paranormal.se
Thu, 29 Jun 2000 22:18:44 +0200
This is a multi-part message in MIME format.
--------------A01371550C9EB484F5239BFA
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Låter intressant.
Open Directorys RDF kan vara av intresse.
--
/ Jonas - http://paranormal.se/myself/index.html
--------------A01371550C9EB484F5239BFA
Content-Type: message/rfc822
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Envelope-to: jonas@paranormal.o.se
Received: from www19.w3.org ([18.29.0.19])
by astral.paranormal.se with esmtp (Exim 3.12 #1 (Debian))
id 137fyZ-0001Pk-00
for <jonas@paranormal.o.se>; Thu, 29 Jun 2000 17:11:35 +0200
Received: (from daemon@localhost)
by www19.w3.org (8.9.0/8.9.0) id KAA26286;
Thu, 29 Jun 2000 10:54:09 -0400 (EDT)
Resent-Date: Thu, 29 Jun 2000 10:54:09 -0400 (EDT)
Resent-Message-Id: <200006291454.KAA26286@www19.w3.org>
To: www-rdf-interest@w3.org
X-URI: http://www.ilrt.bristol.ac.uk/people/cmdjb/
Date: Thu, 29 Jun 2000 15:54:00 +0100
Message-ID: <13926.962290440@jarjar.ilrt.bris.ac.uk>
From: Dave Beckett <dave.beckett@bristol.ac.uk>
Subject: librdf - application framework for RDF pre-announcement
Resent-From: www-rdf-interest@w3.org
X-Mailing-List: <www-rdf-interest@w3.org> archive/latest/1102
X-Loop: www-rdf-interest@w3.org
Sender: www-rdf-interest-request@w3.org
Resent-Sender: www-rdf-interest-request@w3.org
Precedence: list
Resent-Bcc:
X-Mozilla-Status2: 00000000
RDFers, I have been lurking here for a while, but not posted before
although tracking things that appear here in my RDF resource guide:
http://www.ilrt.bristol.ac.uk/discovery/rdf/resources/
and the Open Directory RDF areas which I co-edit.
Here's some hints on what's coming up. I've just moved jobs to ILRT
at the University of Bristol and have now got the time to develop a
sort-of application framework for RDF.
I've started designing and coding in C(*) a pluggable architecture for
manipulating RDF and experimenting with bits and pieces.
[(*)if you are thinking, why C - it is because it might be more
'portable' and easier to plug into other languages, systems and
applications. However, it's written in an OO style. Please take any
comments to email.]
The parts that I currently want to be pluggable include:
* XML parsers - external via pipe/filter, expat, xerces-c?, ...
* RDF parsers - external e.g. sirpac, libwww rdf, mozilla, ...
* Storage models - in memory hashes, bdb/gdbm files, triples-in-SQL, ...
* Query languages [as people propose and play with them]
* (Utility classes for Hashes, Digests, WWW resolving)
The architecture is tricky to write in text but I'll have a go.
These are the concepts/classes:
Node - a node/arc in an RDF graph
Contains either a URI OR String + XML language
Statement - or triple
Contains a Node resource, Node property and Node object
Model
Contains:
A bag/set of Statements OR a list of sub-Models
A reference to a 'Storage'
The list of sub models is there to allow layering Models for
such things as adding transactions, filtering, ... (more thought
needed)
'Storage' (name may change)
Implements a Statement storage API and at least one Statement query API(s)
'RDF Parser' ('RDF DataSource'? 'RDF Reader'?)
Asserts Statements to a given model OR uses a given XML Parser
and model.
'XML Parser'
Provides a standard XML API (DOM?, SAX?)
'RDF Syntax generator' ('RDF DataSink', 'RDF Consumer?)
Emits formatted RDF in XML, other syntaxes, encodings - SOAP?
Missing concepts/ stuff I know about but will do after V1.0:
Namespaces - I've no support for these
Unicode - I've assumed C char*=UTF-8 string [BAD]
Typing and Classes - to support:
RDF Schemas - need help here
The current really imaginative name for this is 'librdf' and it is
getting to the stage of nearly being useful.
Implemented so far:
Hash - GDBM, in memory
Digest - MD5, SHA, RIPEMD160
Node
Statement
Model (just API)
+lots of boring supporting stuff
Once this reaches a slightly fuller level, I will release it and then
actually use it myself for applications.
License: The system will be a free software one, or open source if
you prefer, and should be flexible. I've not yet decided what type,
most likely Apache/BSD-ish.
Release Date: Within two weeks
Please feel free to comment, ask questions or even better, offer to help!
Dave
--------------A01371550C9EB484F5239BFA--