Claude Warren created JENA-1365: ----------------------------------- Summary: QueryBuilder can build an invalid union-of-one query. Key: JENA-1365 URL: https://issues.apache.org/jira/browse/JENA-1365 Project: Apache Jena Issue Type: Bug Components: QueryBuilder Affects Versions: Jena 3.3.0 Reporter: Claude Warren Assignee: Claude Warren
>From email chain betwen Claude and Andy is the union-of-one still legal during the construction of the query? Its illegal in a query - UNION is {..} UNION {..} UNION {..} The expected usage in the builder is: {noformat} builder.addUnion( <select-type-statement> ).addUnion( <select-type-statement>) {noformat} Currently the code builds a union-of-one and adds the next union to it. check to ensure that a union-of-one is not generated in the final result. At a minimum it an error to generate a union of one. So either, throw an expection or generate "{ pattern }" (including inside {}) which is the moral equivalent. IMO The second is nicer. Tat is what I changed the formatter to do so at least it generated something even if it is changing the query a bit (round trip checking will fail but then it fails currently as it can't be parsed at all) -- This message was sent by Atlassian JIRA (v6.4.14#64029)