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 はありますか、それとも Web ページをスクレイピングする必要がありますか?

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 に答える