Claude,

A couple of issues in jena-querybuilder from JENA-369. These are in commits I made today (2017-06-20).

1/ I had to change some "testList" to recognize the new pretty list output. But only some. See WhereHandlerList testList/testListInTriple.

There "testList" does not trigger pretty printing so it must be a different syntax structure. It may not trigger efficient query.

What may help testing is that Query.equals is a deep structural
comparison.

If the contract is "like the parser", then writing the expected answer as a string, parsing it then using Query.equals will be more robust.

If the contract is for building strings, then running builder.toString, parse that string then compare is moer robust than regexs.


2/ testSetVarsInUnion

This creates a UNION of one element which is illegal SPARQL.

I've put back the output old format (ElementFormatter) for this for now but it is not syntactically correct. It would be better if generated a legal query - I had changed it to create "{ pattern }" hence { { pattern } }" where as the test is for the original and bad syntax "{ UNION { pattern } }".

Is this a deeper issue about allowing UNION-of-one in the first place?

        Andy

PS I also had to do a complete rebuild for the contract tests to pick up changes across modules in Jena. Do you know why this might be?

Reply via email to