Generic tooling for SPARQL: If a query has no results, then split it up into individual pattern/filter/optional components and highlight which constraints eliminate solutions that satisfy all other constraints, and report the concrete values these “almost solutions” have. This should make it considerably easier to diagnose both bugs in a SPARQL query engine, as well as bugs in queries (bug in a query = does not capture semantics intended by the author).
Generic tooling for SPARQL: If a query has no results, then split it up into individual pattern/filter/optional components and highlight which constraints eliminate solutions that satisfy all other constraints, and report the concrete values these “almost solutions” have. This should make it considerably easier to diagnose both bugs in a SPARQL query engine, as well as bugs in queries (bug in a query = does not capture semantics intended by the author).