Wikidata:SPARQL, 足球运动员比赛场数
Wikidata:SPARQL, Soccer players number of games
我在 https://query.wikidata.org/ --
使用了这个查询
SELECT ?p ?pLabel (?oc as ?OC) (?sp as ?SP) WHERE {
?p wdt:P106/wdt:P279* wd:Q937857. # Soccer player
SERVICE wikibase:label {bd:serviceParam wikibase:language "en" . }
{ SELECT ?p (count(?oc) AS ?oc) WHERE { ?p wdt:P106 wd:Q937857; p:P106 ?oc. } GROUP BY ?p HAVING(?oc<3)} # Occupation
{ SELECT ?p (count(?sp) AS ?sp) WHERE { ?p wdt:P106 wd:Q937857; p:P54 ?sp. } GROUP BY ?p HAVING(?sp>5)} # Sport Teams
}
LIMIT 10
在谷歌上搜索了几个小时以找到一种方法来计算所有球队 (P54
) 中每位球员的比赛次数 (P1350
) 的总和后,我决定寻求帮助。
SELECT ?player ?playerLabel ?totalMatchesPlayed {
SERVICE wikibase:label {bd:serviceParam wikibase:language "en" . }
{
SELECT ?player (sum(?matchesPlayed) as ?totalMatchesPlayed) WHERE {
?player wdt:P106/wdt:P279* wd:Q937857 .
?player p:P54/pq:P1350 ?matchesPlayed.
}
GROUP BY ?player
LIMIT 100
}
}
我在 https://query.wikidata.org/ --
使用了这个查询SELECT ?p ?pLabel (?oc as ?OC) (?sp as ?SP) WHERE {
?p wdt:P106/wdt:P279* wd:Q937857. # Soccer player
SERVICE wikibase:label {bd:serviceParam wikibase:language "en" . }
{ SELECT ?p (count(?oc) AS ?oc) WHERE { ?p wdt:P106 wd:Q937857; p:P106 ?oc. } GROUP BY ?p HAVING(?oc<3)} # Occupation
{ SELECT ?p (count(?sp) AS ?sp) WHERE { ?p wdt:P106 wd:Q937857; p:P54 ?sp. } GROUP BY ?p HAVING(?sp>5)} # Sport Teams
}
LIMIT 10
在谷歌上搜索了几个小时以找到一种方法来计算所有球队 (P54
) 中每位球员的比赛次数 (P1350
) 的总和后,我决定寻求帮助。
SELECT ?player ?playerLabel ?totalMatchesPlayed {
SERVICE wikibase:label {bd:serviceParam wikibase:language "en" . }
{
SELECT ?player (sum(?matchesPlayed) as ?totalMatchesPlayed) WHERE {
?player wdt:P106/wdt:P279* wd:Q937857 .
?player p:P54/pq:P1350 ?matchesPlayed.
}
GROUP BY ?player
LIMIT 100
}
}