2

我在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

查询链接

在谷歌搜索了几个小时以找到一种方法来计算P1350所有团队中每个玩家的游戏数量()之后(P54),我决定寻求一些帮助。

4

1 回答 1

4
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
}

}
于 2017-08-24T19:11:48.433 回答