在Python中解析dbpedia JSON

时间:2010-05-12 22:28:58

标签: python json dbpedia

我正试图了解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"

不确定如何从这里开始。如您所见,有多种语言。我需要获得英文摘要。

感谢您的帮助,

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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]

显然,如果数据不好,你需要做更多的错误检查,但这是基本的想法。