- From: Butler, Mark <Mark_Butler@hplb.hpl.hp.com>
- Date: Wed, 11 Jun 2003 09:56:18 +0100
- To: www-rdf-dspace@w3.org
More details on the Chandler architecture: From http://www.osafoundation.org/architecture.htm "Chandler has a repository, or database that stores a potentially huge volume of e-mails, attachments, contacts, documents, and so on, the structure of which will have to evolve over time. This database is probably our biggest architectural challenge. Early in the project, we decided to use RDF (Resource Description and Framework; www.w3.org/RDF) because of its ability to describe data in a very flexible format and exchange semantic information between applications in a standard format without loss. Because RDF is a World Wide Web Consortium standard, we hope to gain benefit from the existing tools, validators and applications that have been developed or will be developed. For the repository, we've decided to use an object database. Historically, most databases haven't stored data in a form convenient for object-oriented programming. This meant extra work for programmers who had to convert back and forth between different data representations, and it introduced a variety of other difficult housekeeping challenges. Object databases try to solve this problem by transparently storing data in a form that's convenient for object-oriented programming, and they often solve many housekeeping tasks with built-in garbage collection, transactions/undo, and support for weak object references. While object databases can be difficult to use because of the limitations of static languages like C/C++, Python's interpreted nature makes it easier to implement a simple object database. There's currently a Python special interest group chartered with the task of coming up with a standard Python object database, which will likely be based on ZODB (the ZOPE database; www.zope.org/Wikis/ZODB/). We think there's a good chance that using a standard object database and language like Python that are tailored to work well together will make it much easier to write applications like Chandler. So you might ask, are RDF and ZODB compatible? The short answer is almost, but not completely. Although people typically store RDF as triples, there is nothing fundamental about RDF that requires it. If you look at the Python data structures, you can usually find a simple way to represent them as RDF. We plan to provide a way to import and export RDF to ZODB, and also to store the schema for our data in the database itself. If we design the interface to the database correctly, it should function equally well as a server or as a database local to the machine accessing it. One of the Chandler's design goals is to not require a server. However, if the server is available, Chandler could provide some extra features that rely on access to certain shared data always being available. It's not our intention, however, to provide the vast array of business features that server-based enterprise businesses require. There are admittedly a number of risks with an RDF/ZODB approach. First, ZODB isn't finished, and it has a number of performance problems. Second, combining two technologies like RDF and ZODB that weren't designed to work together, might lead to unforeseen problems. And there are still other significant tasks to tackle, most important of which are probably searching and indexing, and replication." M
Received on Wednesday, 11 June 2003 04:56:36 UTC