Xml Database ServersTwo possible definitions:
Type 2 databases:
From the http://www.dbxml.org/FAQ.html (This is the wrong URL. It should probably be http://www.dbxml.com/, but there is no FAQ anymore. There are different open source and commercial licenses.)
Can anyone give a summary of the state of the art of databases that look like graphs of semi-structured data? The article in DDJ was interesting, but it looked like this field was very young. Also, the use of an SQL-derived language spoke to me as a failure. I would think that XML could have a much different query semantic, on the order of a ParadigmShift.
Related question: What's a good, free XML database that you can plug in Unix (hopefully with a low footprint)? I'm guessing it's spelt "Roll your own in Perl."
Funny you should say that. Slowly, slowly, I'm rolling my own in Perl. See http://usemod.com/cgi-bin/mb.pl?CrystalPalace to learn more. -- SunirShah
Databases that look like graphs? The field is young? Can anyone say CODASYL? ...or Total, IDS, etc. Thanks for noticing.
Time for another IndustryLearningExperience, perhaps?
Spuriously semi-random challenge: Consider a ReasoningTree. Alistair points out that reasoning is a graph. It isn't. It's really a hypertree in that there are no cycles, but two branches can join. Cycles make for circular arguments, and that would be bad.
An XML form is typically tree-like but sometimes it has links out. A framework based on XML could legitimately be in the shape of a hypertree then. (it could also be graph like, but that's another problem).
How do you serialize a hypertree so it still makes sense to a human reading it?
Why does it matter if a human can read the linear format? I'm not sure, but I suspect it's related to the indexing requirement of any really whizbang XML database/epistemological framework. Also, it would solve the problem of the ReasoningTree which would be helpful for patterns folk.
I did say semi-random.
Hypertrees are usually called DirectedAcyclicGraphs, aka DAGs.
You serialize a DAG by attaching markers to reused nodes and referencing those, of course. (Well, that's one way, anyway.) I don't know whether there's a standard way to do that in XML (Yes: use ID and IDREF type attributes), but Lisp "s-expressions" are really rather like XML, and in Common Lisp you can say
(foo #1=(bar baz) #1# #2=(#2#))to produce a structure that sort of corresponds to this:
[] -+-> foo | +-> [] -+-> bar |^| | ,'+-> baz +-' | +-> [] --. \| `--'("sort of" because there's more than one way to think about the structure of s-expressions). This notation can cope with graphs that have cycles, like the above, as well as acyclic ones.
EditText of this page
(last edited December 16, 2004)
or FindPage with title or text search