- From: Dave Beckett <dave.beckett@bristol.ac.uk>
- Date: Thu, 29 Jun 2000 15:54:00 +0100
- To: www-rdf-interest@w3.org
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
Received on Thursday, 29 June 2000 10:54:03 UTC