Hello all,
I'm proud I can announce that my SparqlEngineDb implementation went a
big step forward and has ORDER BY and LIMIT/OFFSET support now. ORDER BY
support was really tricky, since data have to be sorted not the way the
database sorts the blob values, but by their resource type (blank,
literal, resource) and then according to the sorting rules that their
XSD schema type specifies (which was a problem since the integers are
stored as blobs/strings, and the DBMS does not know that they are meant
to be integers).
I got that working yesterday, and today I finished LIMIT/OFFSET support
(I had to do that myself since the queries to the database could
unfortunately not be pressed in a single query, imploded with UNION -
the sort order would vanish there).
This means that currently the basics are working, and the three first
big unit test groups (dawg, sort and limit-offset) are passed now. It
also has support for all query types (ASK, COUNT, SELECT, DESCRIBE,
CONSTRUCT) now.
Since OntoWiki is switching to use Sparql internally to query the
databases, my next step is to implement prepared statement support -
parsing the sparql queries and creating sql statements takes some time,
and it would speed things up greatly if this would need to be done only
once when doing 500 queries in a row.
When I have finished prepared statements, I will begin adding support
for FILTERs. This will be another challenging task, since there is
currently no Filter parser for sparql queries - this needs to be done
before I can actually implement the filters in the db engine.
--=20
Regards/Mit freundlichen Gr=C3=BC=C3=9Fen
Christian Weiske
|