Re: DKRs without the "K"

From: Eugene Eric Kim (
Date: Wed Feb 14 2001 - 05:37:01 PST

On Tue, 13 Feb 2001, Lee Iverson wrote:

> Of course. But DTDs and XML Schema definitions (and Relax
> definitions) are all syntactically-defined data modelling
> languages for XML. What does a grove give beyond that?

DTDs and XML Schemas describe an XML document. Grove property sets
describe the underlying data model of a document.

> At this point, the building blocks I'm using for modelling the
> repository structure are simple: StructureNode (ordered list of
> children), TextNode and DataNode. My plan has evolved to using these
> building blocks to move forward to general document classes (e.g. XML,
> MP3 audio, MPEG/2 video, etc.) with plugins and then specific data
> models within these classes through DTD/Schema definitions.

Groves are directed graphs of nodes, so the data structures you propose
above qualify as an implementation of a grove. A property set describes
how the grove is constructed and what it consists of. If you want a
DOM-like data model for manipulating a document, you create a property set
that defines element nodes, attribute nodes, etc. If you want a data
model like the one described above, you create a property set that defines
text nodes and structure nodes and data nodes.

I don't think groves conflict at all with what you're proposing. In fact,
I think we're essentially thinking about the same picture (you can
correct me if I'm being presumptuous), although I'm not sure how you would
specify the data models with DTDs. Basically, you're proposing a grove
constructor which has a property set parser. In order to construct a
grove, you need a plug-in for that document type that consists of a
document parser and a property set. The document parser creates a parse
tree, then the grove constructor takes that tree and the property set to
construct the grove.

I think the twist that you've thrown in (which you first introduced when
you suggested the DDOM many moons ago) is that your grove implementation
is designed to work in a distributed environment, with features like
version control. That's cool stuff.


+=== Eugene Eric Kim ===== ===== ===+
|       "Writer's block is a fancy term made up by whiners so they        |
+=====  can have an excuse to drink alcohol."  --Steve Martin  ===========+

This archive was generated by hypermail 2.0.0 : Tue Aug 21 2001 - 17:58:01 PDT