I've recently been working on an IRC bot (based on Sean Palmer's phenny) called Emeka which is meant as a tool for demonstrating Versa and other related RDF facilities. Currently, it supports two functions:
- .query <abritrary URI> " .. Versa Query .. "
- .query-deep <arbitrary URI> steps " .. Versa Query .. "
The first, causes Emeka to parse the RDF document (associated with the given URI) as RDF/XML and then as N3 (if the first attempt fails). He then evaluates the submitted Versa Query against the Graph and responds with a result. The second function does the same with the exception that it recursively loads RDF graphs (following rdfs:seeAlso statements) N times, where N is the second argument. This is useful for extracting FOAF communities from a starting document (which was my original motivation for this).
By default Emeka has the following namespace prefixes bound:
daml,rdf,rdfs,owl,xsd,log (n3's log), dc,rss,foaf
Emeka is a work in progress and is currently idling in #swhack and #4suite (as we speak and #foaf,#swig eventually). Some ideas for other services available from this bot:
- augmenting it's default namespace mapping
- stored queries (for example: query for retrieving the latest rss:item in a feed)
- Rule invokation (through FuXi's prospective-query function)
- Interactive question and example demonstration of Versa function(s)
- More sophisticated interaction with Del.icio.us RSS feeds (for web page cataloging)
Other suggestions are welcome
see #swhack logs for an example