我正试图了解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"
不确定如何从这里开始。如您所见,有多种语言。我需要获得英文摘要。
感谢您的帮助,
克
答案 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]
显然,如果数据不好,你需要做更多的错误检查,但这是基本的想法。