4

私はdbpediaJSONスキーマに頭を悩ませようとしていますが、特定のノードを抽出する効率的な方法を理解できません。

これはdbpediaが私に与えるものです:

http://dbpedia.org/data/Ceramic_art.json

私はPythonでJSONオブジェクトとしてすべてを持っていますが、このデータから英語の要約を取得する方法を本当に理解していません。私はこれまでに得ました:

u = "http://dbpedia.org/data/Ceramic_art.json"
data = urlfetch.fetch(url=u)
json_data = json.loads(data.content)

for j in json_data["http://dbpedia.org/resource/Ceramic_art"]:
    if(j == "http://dbpedia.org/ontology/abstract"):
        print "it's here"

ここから先に進む方法がわかりません。ご覧のとおり、複数の言語があります。英語の要約を取得する必要があります。

ご協力いただきありがとうございます、

g

4

2 に答える 2

3

print [abstract['value'] for abstract in json_data["http://dbpedia.org/resource/Ceramic_art"]["http://dbpedia.org/ontology/abstract"] if abstract['lang'] == 'en'][0]

明らかに、データが悪い場合に備えて、それよりも多くのエラーチェックを実行する必要がありますが、それが基本的な考え方です。

于 2010-05-12T23:55:48.540 に答える
3

それは口述のリストです。u'lang'の値がである要素が見つかるまで、リストの要素を繰り返し処理しますu'en'

于 2010-05-12T22:36:31.643 に答える