4

我试图了解 dbpedia JSON 模式,但无法找到提取特定节点的有效方法:

这是 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

这是一个字典列表。只需遍历列表的元素,直到找到值为 的u'lang'元素u'en'

于 2010-05-12T22:36:31.643 回答
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 回答