A few things of note:
1. the label service adds its variables very late during query evaluation; at the point where you try to FILTER on ?humanLabel, the label service hasn’t created that variable yet.
2. the label service isn’t the only way to get an item’s label. Labels are also stored as regular triples, using the predicate rdfs:label. Of course, this means all labels, not just English ones; if we only want English labels, we’ll have to filter on the language of the label:
3. One can also use FILTER with a regular expression. In the following example
SELECT ?item ?itemLabel ?bblid
WHERE {  
    ?item wdt:P2580 ?bblid .
    SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" }  
    FILTER(!REGEX(STR(?bblid), "[\\.q]")) 
}
Read thoroughly the FILTER section in the Wikidata:SPARQL tutorial to read more about options above and others FILTER functions available.

Here's some extra example's:







On Fri, Oct 4, 2019 at 6:09 AM Houcemeddine A. Turki <turkiabdelwaheb@hotmail.fr> wrote:
Dear Mr.,
I thank you for the query. This is absolutely useful to ameliorate data mining methods for Wikidata. I always said that Wikidata Query Service is still misused.
Yours Sincerely,
Houcemeddine Turki (he/him)
Medical Student, Faculty of Medicine of Sfax, University of Sfax, Tunisia
GLAM, Research and Education Coordinator, Wikimedia TN User Group
Member, Wiki Project Med
Member, WikiIndaba Steering Committee
Member, Wikimedia and Library User Group Steering Committee
____________________
+21629499418


-------- Message d'origine --------
De : Ettore RIZZA <ettorerizza@gmail.com>
Date : 2019/10/04 09:15 (GMT+01:00)
À : Discussion list for the Wikidata project <wikidata@lists.wikimedia.org>
Objet : Re: [Wikidata] Full-text / autocomplete search on labels

Hello Thomas,

You can perform a full text search with the API, but not yet with SPARQL AFAIK. However, it is possible to call the API in a SPARQL query. For example, here is a query that looks for "human (Q5)"  whose label contains the string "einst".

Hope this helps,

Ettore Rizza


On Fri, 4 Oct 2019 at 09:58, Thomas Francart <thomas.francart@sparna.fr> wrote:
Hello

I understand the wikidata SPARQL label service only fetches the labels, but does not allow to search/filter on them; labels are also available in regulare rdfs:label on which a FILTER can be made.
However I would like to do full-text search over labels, to e.g. feed an autocomplete search field, actually just like the usual top-right wikidata search field does. I would also be interested to combine this with a criteria on "instance of", to search only on instances of a given class.

Can I do that efficiently using the Wikidata SPARQL service ? or is there a separate API I could use ? (exemple welcome)

Thanks
Thomas

--

Thomas Francart - SPARNA
Web de données | Architecture de l'information | Accès aux connaissances
blog :
blog.sparna.fr, site : sparna.fr, linkedin : fr.linkedin.com/in/thomasfrancart
tel : 
 +33 (0)6.71.11.25.97
, skype : francartthomas
_______________________________________________
Wikidata mailing list
Wikidata@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata
_______________________________________________
Wikidata mailing list
Wikidata@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata