24 September 2004

Beverage

Told myself that I'll write down all my observations on the US while it's still slightly novel. I've found that I've started to forget many of the things that I found so bazaar when we first arrived. Here is my latest observation... Was at Starbucks yesterday afternoon to grab a quick coffee while waiting for Janelle and her Dad to drop off a rental car. The line was really slow, so by the time you got to the front the cashier had forgotten the order. So he started asking people "What was your beverage?". I think this is a good reflection of American culture. Instead of saying toilet here, they say bathroom, as if the daily necessities of life are somehow a bad thing. I see this as an example of the effect of nice-ening up everyday experiences to the point of nausea. So instead of using the word drink or even coffee (for what was plainly a coffee), he chose to sugar coat the word to make it (subjectively) more palatable.

23 September 2004

RDFlets and Kowari Descriptors

Saw an interesting post yesterday on the DAWG list from Alberto Reggiori at @semantics. He talks about a technology they've developed on top of RDFStore called RDFlets. Very cool... At a first glance, these look very similar to our descriptors, which are XSL stylesheets that allow the execution of iTQL queries, getting the results in XML, and the massaging of the results using XSLT. When Keith and I initially designed them a few years back, Simon came to us with the idea of applying a transformation to an RDF datastore, in an analogous manner to the way transformations are applied to XML files. This is the way I like to think of them, although others like to explain them as stored procedures. And of course you can pass whatever parameters to them you like, and use them in whatever way XSL allows variables to be used. As the documentation states, descriptors really consist of:
  • Extensions to XSL: 1) a <query> tag to issue iTQL commands from within XSL stylesheets; and 2) a lt;descriptor> tag to allow one descriptor to call another;
  • Java objects that invoke descriptors and return their results;
  • Java Servlets that invoke descriptors using HTTP;
  • URL addressable SOAP endpoints.
So, how do RDFlets and descriptors stack up (points stolen from K...)?
  • RDFlets don't seem to be integrated into XSL so they require a container of sorts, i.e Apache using SSIs;
  • RDFlets don't allow for the cascading of queries like descriptors do (unless SSIs give you this for free). So say we're querying metadata on a document, you can use a top level descriptor to get the top most document properties, then call off to other specialised descriptors for each of those properties. This lets you get optional properties back very nicely.
  • Descriptors expose their interface (parameters passed in and out) in a queriable fashion, as it's defined in RDF. This lets you do cool things like "show me all the descriptors that work against RSS feeds and return XHTML".
Of course no technology is perfect, and descriptors certainly have their faults, not least of which is trying to explain to people what the hell they are...