this covers some of your query
SELECT ?human ((substr(?label,"0","4")) AS ?title) (substr(?label,"4") AS ?name) (strEnds( (substr(?name,"4")),"y") AS ?nameEndsWithY ) WHERE { ?human wdt:P31 wd:Q15632617; rdfs:label ?label. FILTER(LANG(?label) = "en"). FILTER(STRSTARTS(?label, "Mr. ")). }
On Mon, Sep 18, 2017 at 1:07 PM, Thad Guidry thadguidry@gmail.com wrote:
Say I have this query...
SELECT ?human ?label WHERE { ?human wdt:P31 wd:Q15632617; rdfs:label ?label. FILTER(LANG(?label) = "en"). FILTER(STRSTARTS(?label, "Mr. ")). }
What if I wanted to see if any one of a humans name ends with "y" such as my last name does , their first, last, doesn't matter. I have a "d" and a "y" on the array returned from my name (if it were split by whitespace)
I did not see any special syntax or FILTER or Label service commands to help with splitting apart a Label by whitespace and then applying a filter on each string.
How would I accomplish this ?
Thad +ThadGuidry
Wikidata mailing list Wikidata@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikidata