Thu 23 Jun 2005

twinql

Having just spent 45 minutes hacking things up into separate files, building a package, and so on, I thought I'd lay claim to the name of the directory they're all in: twinql. A little more interesting than wilbur-sparql, eh?

Hopefully I'll package and release tomorrow, if I can get things a bit more tidy. Otherwise you'll have to wait!

Posted at 2005-06-23 16:14:01 by RichardLink to twinql

By Jove, I think I've cracked it

The world's most boring developer journal continues, but hey — it's my blog, and I'll document my parser if I want to!

Success: the parser works beautifully for a simple case:
* (parse-sparql 
"PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT DISTINCT * WHERE {
?x foaf:knows ?y;
foaf:name 'Richard'. # Match me.
FILTER isUri(?x)
}")

(SPARQL
:SELECT
:DISTINCT T
:WHERE
(GRAPH-PATTERN (TRIPLE |x| !"foaf:knows" |y|)
(TRIPLE |x| !"foaf:name" "Richard")
(FILTER (ISURI . |x|))))
and also for a more lengthy example, too big to show directly here. I have yet to make the graph pattern evaluator recursive, or deal with filters and other operators, but most of the battle is won.

Thanks to Andy Seaborne for his very helpful and interesting correspondence!

Posted at 2005-06-23 08:23:30 by RichardLink to By Jove, I think I…

Programming Language Inventor or Serial Killer?

This quiz is surprisingly challenging. Of course, you'd get the same confusion if you looked only at passport photos!

(via Random Eyes.)

Posted at 2005-06-23 00:30:45 by RichardLink to Programming Langua…