In the past few years I've heard the same revelation from software engineers at many different customers and technology firms: "Content isn't really hierarchical, it's a directed graph!" Have to say, that's something I rarely heard back in the good old SGML days.
If you aren't from a computer science or math background, you might think getting all excited about directed graphs is just so much mathematical geekery. It's not. One reason XML has triumphed where SGML didn't is the application of just such knowledge.
The directed graph revelation means that sometimes content is best modeled neither as trees nor as relational tables, but as something with the attributes of both trees and tables - like a network or web where the relationships among objects can go in many directions. Particular representations of content might be simple trees or related tables, but, in the abstract, that isn't good enough. There are real-world reasons to care about this when developing software. It's also one reason that the question we've all grappled with when modeling content - "What's data and what's a document?" - is often a red herring.
There are plenty of useful sources on this topic on the web if you're interested in more detail. Wikipedia has a user-friendly description of directed graphs. Web services implementations often involve modeling the relationships among business objects as graphs.
And a Google search for "directed graph XML" turns up a 1996 discussion in which James Clark (a computer scientist who is personally responsible for much of the early adoption of SGML and XML through the development of free, really useful software - oh, and also partly responsible for XML itself) reveals (unsurprisingly) that he got this concept long before the computer scientists currently telling me about their revelations.
Doh! And of course I forgot to mention the most obvious areas of activity re XML and directed graphs: RDF. See: http://www.w3.org/TR/2003/WD-rdf-concepts-20030123/#section-data-model for formal background, and http://www.itworld.com/nl/ebiz_ent/03182003/ and http://www.oreillynet.com/pub/wlg/2961?wlg=yes for a look at how these things can confuse the heck out of us all (written in 2003, but nothing much has changed).
Posted by: Lisa W. Bos | February 07, 2006 at 04:14 PM
You're doing a great work here. I enjoyed visiting here very much. Thanks! Red TV becomes Coolblooded Grass in final: http://www.ifilm.com/ , Bad Opponents Loose or not when Game Give Tournament Destroy , Coolblooded Cards is always Good Table Lose Forecast Love - that is all that Cosmos is capable of
Posted by: Samuel Drake | February 20, 2006 at 04:30 PM