Parsen DBpedia JSON in Python
Frage
Ich versuche, meinen Kopf um das dbpedia JSON Schema zu bekommen und kann nicht herausfinden, eine effiziente Möglichkeit, einen bestimmten Knoten zu extrahieren:
Dies ist, was dbpedia gibt mir:
http://dbpedia.org/data/Ceramic_art.json
Ich habe das Ganze als JSON-Objekt in Python bekam aber nicht wirklich verstehen, wie das Englisch abstrakt aus diesen Daten erhalten. Ich habe diese weit gekommen:
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"
Nicht sicher, wie von hier gehen. Wie Sie mehrere Sprachen gibt es zu sehen. Ich brauche das Englisch abstrakt zu erhalten.
Danke für Ihre Hilfe,
g
Lösung
print [abstract['value'] for abstract in json_data["http://dbpedia.org/resource/Ceramic_art"]["http://dbpedia.org/ontology/abstract"] if abstract['lang'] == 'en'][0]
Natürlich würden Sie wollen mehr als das Fehlerüberprüfung zu tun, falls die Daten schlecht sind, aber das ist die Grundidee.
Andere Tipps
Es ist eine Liste von dicts. Nur eine Iteration durch die Elemente der Liste, bis Sie die dessen Wert für u'lang'
zu finden ist u'en'
.