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 Richard • Link 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 Richard • Link 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 Richard • Link to Programming Langua…