RDF for Web server config

Author: Dan Brickley

Context: this is a quick note that I put together sometime during 1999 for the Jakarta/tomcat discussions. Copied to a more long-term location here for reference. I'm pleased to say that my original claim ('weakly integrated with the rest of the XML infrastructure') is beginning to sound dated. See RDF Interest Group archives for discussion of XSLT, XLink etc. for details of more recent work in that direction.

Jakarta XML/RDF examples

This is just a very quick example to illustrate some of the design tradeoffs involved with the use of RDF and its XML syntax. Basically, you get a simple conceptual model (directed labelled graphs) at the cost of some syntactic verbosity. RDF is good at drawing upon multiple namespaces/vocabularies simultaneously, and is hence strong on re-use and modularity. It is currently rather weakly integration with the rest of the XML infrastructure (XSL, DTDs etc), although there is work in progress to improve this.

The example below shows a snippet of configuration that tells us about an object of rdf:type Server, one of its modules, and the properties of that module, a sample directory and associated persons. Note that the directed labelled graph model, although simple, requires the XML/RDF syntax to make explicit certain relationships between objects that would likely be left implicit in vanilla XML. For example, the 'dir' relationship between the Server and the Directory objects seems redundant, but it allows us to draw out a graph representation of the specified data more easily.

The details of the syntax will not make sense without knowledge of the RDF syntax; the 'triples' file below shows the output of the W3C RDF parser SiRPAC when fed this data. We might imagine query APIs for the resulting information that could also query data from LDAP etc, ie. not care about the XML representation but deal straight with the underlying graph model.

I've annotated the XML inline to explain more or less what's happening with the syntax. Any questions just ask...

Related discussion

More information