I’ve been contemplating a commandline tool to access my new speedier database of harvested foaf info via the ‘RESTful webservices’ I provide to it. Sean Palmer made a neat, human-orientated query interface to it (FOAFQ) via a faux-Joseki interface (i.e. you append an RDF query, squish in this case, to a url and parse the result as RDF/XML).
I’ve also done a few others for my image annotation demonstrator, for example a service that provides data wbout an airport from a string (rather than from the IATA code, which you may not know, which Jim Ley and daml.org/data provide). Also I have one that provides images, names and mbox_sha1sums from a substring match. And so on….
I keep finding myself thinking things like, where a picture of so and so, what’s the wordnet definition of ‘fig’, what’s the IATA code for Paris airport, and so on. The codepiction image annotation tool web-services can be used to get this data, but the UI is all wrong. Matt Biddulph uses IRC for photo annotation, searching remove databases, because it’s fast, for people who are on IRC all the time. Jo Walsh has also been investigating text-based interfaces to RDF anbd OWL data with mudlondon. And of course Edd Dumbill’s famous foafbot provides an IRC interface to complex information from his harvested database of foaf data.
So, an obvious next step is to provide an interface to all the RDF data I can find around the place, and IRC seems like a good candidate (but simple commandline might be better when your personal calendar is available, or access to your addressbook).
The result was WhoWhatWhenWhere. It’s a simple bot based on the excellent PircBot api , which was really nice to use. It’s essentially a text UI to a number of ‘web services’ which use urls – not SOAP in this case (but it could use SOAP; it is just easier this way).
You can ask it about wordnet (.wn fig), airport data (.airport bristol, .iata BRS), foaf knows (.knows libby miller), pictures (.pic Damian Steer), codepiction paths (.paths Dan Brickley, Frank Sinatra) . More info is in the writeup.
I’m getting more and more interested in how it might be used, for example if there’s very many of these services, how you pick between them, how you handle the UI. And there’s already very many services to choose from, e.g on the daml data page.
The bot is hanging out on irc.freenode.net in #foaf or maybe #whwhwhwh at the moment, though I’m off on holiday now and it’s not good at rejoining as yet.