我试图让我周围的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"

不知道如何从这里着手。正如你可以看到有多种语言。我需要得到英文摘要。

感谢您的帮助,

有帮助吗?

解决方案


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

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

其他提示

这类型的字典的列表。只是想迭代通过,直到你的列表中的元素找到u'lang'其值为u'en'之一。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top