From: Christian W. <cw...@cw...> - 2007-04-26 21:40:57
|
Hello all, In the last two weeks I have addressed LIMIT and UNION support in my database-driven sparql engine. For this, I extended the current sparql parser to parse LIMITs and convert them into a nice tree. The tree makes it easily possible to replace the current code in the old, memory based SparqlEngine limit handling code (which has a barn-door wide security hole currently by using the evil eval() function to verify limit clauses) by a secure alternative. I didn't have time to do this yet. SparqlEngineDb's LIMIT support is nearly finished; the 41 limit unit tests pass (with the exception of three which are either not possible to implement, or are not worth the required work [which would be huge] and would slow down the queries badly. All of them are edge cases.). Further, I added support for UNIONs so that the custom union unit tests pass now. This brought changes in the way results needs to be handled, so if you already have own result renderers, you need to adapt them (make a cvs diff between the old and the new default renderer code, and you see that it's trivial changes). After I got this done this evening, I tries out the arq unit tests. 11 of them fail currently, so that we have a total score of 120 passes and 11 failures. I will try to fix them this weekend. If they are done, my work is basically done. I will add some new features currently not in the Sparql standard (e.g. returning datatypes and languages (and variable renamings needed for this) as well as grouping functionality. This changes shall be proposed to the W3C for the inclusion in Sparql standard, if they turn out to work well. So long, --=20 Regards/Mit freundlichen Gr=C3=BC=C3=9Fen Christian Weiske |