Reputation: 2499
How do I form the query to look up the English label of a property on a given entity.
This query provides the ID of P31
:
SELECT ?item ?itemLabel ?instance_of WHERE {
?item wdt:P646 "/m/09c7w0".
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
OPTIONAL {
?item wdt:P31 ?instance_of.}
}
}
LIMIT 1
How can I get the label of P31
instead?
Also, is there a smart way to get the "best" value of P31
, possibly the one with the lowest numeric ID? Some detailed entities have very noisy values. For example, for Q30
, "United States" I would prefer to see "country" as my instance_of
instead of "member state of the United Nations".
Upvotes: 0
Views: 922
Reputation: 2499
Thanks AKSW. label service applies to the property given a variable with the matching suffix Label
:
SELECT ?item ?itemLabel ?instance_of ?instance_ofLabel WHERE {
?item wdt:P646 "/m/09c7w0".
OPTIONAL {
?item wdt:P31 ?instance_of.
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
LIMIT 1
Upvotes: 0