Graph Structures and Atom

If one is willing to interpret a relational database through the eyes of an application (family, really), Atom does indeed help. In more general sense a simple two level hierarchy (container, element (container, element()) can go quite far when using hyperlinks. However, if interpreting a relational schema without any knowledge of applications that use this schema, Atom won’t be of much help, and you might be better off with something else like Web3S or RDF.

Note to myself: Atom pub still doesn’t provide a comprehensive mechanism for synchronizing changes to these feeds across autonomous agents, but that’s for another day.

Consider an application where data is richly interconnected, and at present, lives in relational databases. For example, drivers carry insurance (except those who like paying for tickets), and insurance covers vehicles. This data can be supplied as Atom feeds (both atompub and regular atom). So this three node graph can be represented as three separate collections one for each node, and three compound feeds one for each edge in the graph. A compound feed is one where the entries contain feeds in their content. Alternatively, one could use microformats and provide links, but then you’d require an XHTML processor to understand the relations.

Might I add that the additional bytes being generated for Atom feeds could be offset by the diminished traffic to a server because the data required is already sitting in an intermediary or the client, and may be synchronized efficiently. Whether you would be willing to work with potentially “stale” application data is still another discussion to have.


Add a Comment

Your email address will not be published. Required fields are marked *