ChangeLog for ARQ ================= ARQ 0.9.4 --------- QL SYNTAX CHANGES 1/ DAWG has resolved to adopt a Turtle-like syntax. To convert queries, use "qparse --in SPARQL-alt ..." (does not get regexps and some other constraints right) 2/ regular expressions are regexp(?x, "foo.*bar") 3/ Expressions use "=", "!=" "<", ">" on anything 4/ AND => FILTER 5/ Reification sugar using << ... >> 6/ No WITH or FROM ARQ has additional features, principally: A1/ FROM and FROM NAMED (was WITH and FROM) A2/ UNSAID + API change: QueryFactory to make queries (from string or URL) separated out from Query class. Old Query operations are deprecated + API change: Put syntax URI constants in own class. + API change: Query.unparse => Query.serialize + SPARQL change: removed [] for optionals in sparql.jj and arq.jj + Grammar/syntax changes to expressions "==", "eq", "ne" are no more. Use "=", "!=" on anything ; use "<", ">" etc etc. + =~ becomes regex(,,) + Printing: output query now UTF-8 safe + Printing: retain and output "*" for SELECT, CONSTRUCT, DESCRIBE + Preservation of lexical forms of integers and doubles + Converted RDQL test suite to SPARQL, fixing those tests with different semantics in value testing + Removed "BRQL" the hybrid RDQL-SPARQL language, reverting to plain RDQL. It could not express many useful queries so it was neither one thing nor the other. + Implemented XSD DateTime (via java.util.GregorianCalendar) + Implemented casting + Refactoring ARQ 0.9.3 --------- Fully implements SPARQL except for some cases of expression evaluation + In line with editor's draft of the DAWG spec after Finland face-to-face meeting including syntax changes (NB Change in meaning to FROM) (Exact details of evaluation of constrainat awaiting editor's decisions) + Dataset implemented + Extension functions implemented + Upgrade XML result format to working draft + Refining application API + Test suite growing + Start examples + Move attaching DataSets to QueryFactory + Rename QueryFactory as QueryExecutionFactory rename createQueryExecution(0 static methods as create() + Add Query.read operations to read a query from a file. + QueryExecution objects are the unit to close, not ResultSets or formatters for result sets + Recoded expressions in a simpler fashion. ARQ 0.9.2 --------- + Added variables node to XML result set format. + Prefix mapping applied to text-formatted results Currently, its the prefix mappings of the query only. For CONSTRUCT/DESCRIBE it includes the prefix mappings of the target + Rewrite of command "query" - now has consistent syntax + Numerous tweaks. ARQ 0.9.1 --------- + Lots of internal refactoring + Bug fixes + Command line utility tidy up. arq, sparql, query, qparse, qtest. (not finsihed) ARQ 0.9.0 --------- + Name change! + Command line app package now called "arq." + DISTINCT + LIMIT + Use visitor pattern to do unparsing - allows more output forms BRQL 0.9 -------- + Split syntaxes supported: ARQ (native to the query engine) DAWG (the working group syntax) RDQL (the BRQL-RDQL syntax) + ASK done (grammar and command line apop finished) + Preliminary implementation of UNSAID - semantics not clear, awaiting WG Currently implmented (the direct as-written way) query order changes the outcome. + SOURCE implemented + Added DataSource to abstract away from what the query is over. BRQL 0.8 -------- + Disjunction implemented + CONSTRUCT implemented + FROM implemented (list of URIs) + Two parsers : RDQL-like syntax and BRQL-{} syntax Command line app takes --rdql and --brql flags. Default is BRQL. + Tests have a "syntax" property to name the syntax used. + Printing: only prints in BRQL-{} syntax. ~ FileManager moved to Jena + Separate constraints package for programmatic creation of expressions + General evaluation based on Bindings. + Evaluate expressions from bindings. (Need to reintegrate back into Jena graph query sometime this code may be the best way to do it). + BindingIndex: Convert bewteen Bindings and IndexValues/VariableIndexes retain all the old eval(IndexValues) in parser nodes for now. + Do own evaluation of constriants - ConstriantFilter. Query engine does not push constriants down the jena.graph. The new generalisations in BRQL make this the wrong structure. BRQL 0.7 -------- + Added alternative parser (only - not connected to query engine) for syntax experiments. Command line wrapper: brql.Parse + Refactoring to create a public API and implemntation packages (Not complete in this release) + Added FileManager for access to system resources in the filing system or classpath Allows test data files to be located any where and indirect URLs to local copies This will migrate into the Jena codebase + Added model cache to cahe read models BRQL 0.6 -------- + Added getValue back (deprecated) for backwards compatibility + XML examples include use of XQuery. + XML result format only includes the selected variables. + Can be run on .Net using IKVM. + Added result set walker. BRQL 0.5 -------- + Changed DESCRIBE to return a single (merged) model + Fixed parser to accept all DESCRIBE queries, inc. no WHERE clause. + Fixed query printer for the above change. + Started DAWG test cases: added to TestSuite. BRQL 0.4 -------- + Better formatting of raw result sets in text form. Instead of just .toString(), it now prints as teh conventional formats for qnames, bNodes, URIs or literals. BRQL 0.3 -------- + Added XML output in a simple XML format for further transformation. See also xml/ for a stylesheet to turn results into an HTML table. Removed hardcoded HTML generation from Java code. + Added output of results in a nested structure based on the internal binding datastructure. This is like nested subqueries: it is sensitive to the precise multiple optionals interpretation which is currently result set widening. Output option rs-raw