Я пытаюсь разобраться в схеме JSON dbpedia и не могу найти эффективный способ извлечения определенного узла:
Вот что дает мне dbpedia:
http://dbpedia.org/data/Ceramic_art.json
У меня есть все это как объект JSON в Python, но я не совсем понимаю, как получить аннотация на английском из этих данных Я получил это далеко:
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'.
u'lang'
u'en'