MortimerCat
MortimerCat

Reputation: 874

Wikidata SPARQL is using BIND instead of FILTER

I used Wikidata's query generator to get a list of people born on 18th May 1958. The query is reproduced below.

SELECT DISTINCT ?item ?itemLabel WHERE {
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
  {
    SELECT DISTINCT ?item WHERE {
      ?item p:P569 ?statement_0.
      ?statement_0 psv:P569 ?statementValue_0.
      ?statementValue_0 wikibase:timePrecision ?precision_0.
      ?statementValue_0 wikibase:timeValue ?P569_0.
      BIND("+1958-05-18T00:00:00Z"^^xsd:dateTime AS ?P569_0)
    }
    LIMIT 100
  }
}

It works and gives me 93 people born on that date. https://w.wiki/8cZG

My problem is that I do not understand why it is using BIND, and not FILTER. Reading the manual, I think the code should be retrieving everyone with a birth date, and overwriting their birth date with 1958-05-18. I have not found anything in the manual that uses BIND as a filter.

Please can anyone explain?

Upvotes: 1

Views: 101

Answers (0)

Related Questions