Very nice David! 1. Does the MINUS actually utilize ElasticSearch indexes or just Blazegraph?
I'd like to help the community by writing up a bit better documentation on our SPARQL pages that talks about FILTER() versus MINUS() if no one has this info floating around? The only footnote I saw was: " MINUS lets you select results that *don’t* fit some graph pattern. FILTER NOT EXISTS is mostly equivalent (see the SPARQL spec for an example where they differ), but – at least on WDQS – usually slower by quite a bit." at the bottom of the SPARQL tutorial <https://www.wikidata.org/wiki/Wikidata:SPARQL_tutorial> and the wiki page SPARQL query service <https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service/queries#Excluding_subsets> has: Excluding subsets SPARQL has three different idioms for excluding subsets: - OPTIONAL { ... ?x ... } FILTER(!bound(?x)), - FILTER NOT EXISTS { ... } - MINUS { ... } Currently, in almost all circumstances, Blazegraph resolves all of these to the same query plan. 2. Is that still a true statement that those 3 above use the same query plan currently? Thad https://www.linkedin.com/in/thadguidry/
_______________________________________________ Wikidata mailing list Wikidata@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikidata