5

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

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 或者我必须抓取网页?

4

1 回答 1

4

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

"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": …
          }
        ]

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

要仅获取语句,您也可以使用action=wbgetclaims,但其格式与上述相同。

于 2014-03-04T17:10:21.697 回答