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

Reply via email to