如何获取给定维基数据ID的语句列表?

时间:2014-03-04 15:19:40

标签: wikipedia-api wikidata wikidata-api

我唯一能做的就是这个链接:

https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q568&format=jsonfm

但这会产生大量无用的数据。我需要的是获取给定项的所有语句,但我在上面的查询中看不到任何语句。

这里将是:

{ "instance of" : "chemical element",
  "element symbol" : "Li",
  "atomic number" : 3,
  "oxidation state" : 1,
  "subclass of" : ["chemical element", "alkali metal"]
 // etc...
}

是否有用于此的API或我是否必须抓取网页?

1 个答案:

答案 0 :(得分:3)

您需要的信息在您的查询中,但难以解码。例如,这个:

"P246": [
          {
            "id": "q568$E47B8CE7-C91D-484A-9DA4-6153F132997D",
            "mainsnak": {
              "snaktype": "value",
              "property": "P246",
              "datatype": "string",
              "datavalue": {
                "value": "Li",
                "type": "string"
              }
            },
            "type": "statement",
            "rank": "normal",
            "references": …
          }
        ]

表示“元素符号”(property P246)是“Li”。因此,您需要阅读查询中的所有属性,然后找出您找到的每个属性的名称。

要获得这些陈述,您还可以使用action=wbgetclaims,但它的格式与上述格式相同。