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

War es hilfreich?

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'.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top