2016-04-19 16 views
0

Ich mag einen freien Base-Dump wie folgt aus Java lesen:Wie liest man aus Java ein RDF Freebase Konzept?

http://rdf.freebase.com/ns/m.0cycc

ich es aus Jena mit dem folgenden Code zu lesen versucht:

OntModel om = ModelFactory.createOntologyModel(); 
    om.read(freebaseURL, "N3"); 

Aber ich habe eine Ausnahme:

org.apache.jena.riot.RiotException: [line: 34, col: 37] unerlaubter Escape-Sequenzwert: x (0x78)

Gibt es einen Weg zu ..

a) automatisch diese Zeichen entkommen? (Fand ich diesen Beitrag, aber es scheint eine manuelle Lösung zu sein, und ich brauche ein automatisches ein: How to read Freebase RDF data? It seems to be a bit broken)

oder

b) lesen den Inhalt der Datei eine andere API verwenden? Am Ende möchte ich einige konkrete Werte erhalten. Ich denke, dass ich einen Parsing-Algorithmus für diese Art der Dateistruktur entwickeln kann, aber wenn etwas schon gemacht ..

Dank

+0

Mögliches Duplikat von [Wie Freebase RDF-Daten zu lesen? Es scheint ein bisschen kaputt] (http://stackoverflow.com/questions/26779977/how-to-read-freebase-rdf-data-it-seems-to-be-bit-broken) –

+0

Wenn durch 'automatisch' du meinst _programmatic_: Es ist wahrscheinlich möglich, den Parser zu optimieren, indem er überschrieben/erweitert wird, um fehlerhafte Daten zu akzeptieren/zu korrigieren. Mit Sesames Rio-Parser ist es durchaus möglich, ich würde es auch mit Jena erwarten. Es erfordert jedoch einige Java-Programmierung auf Ihrem Ende. –

+0

Ja, ich meine programmatisch, sorry über den Begriff. Ich versuche eine Lösung zu finden, die Escape-Charaktere ersetzt, aber es ist ein bisschen schwierig. Ich werde Sesames Rio-Parser überprüfen. – alejandrorg

Antwort

0

Ich habe einen Code erstellt, dass „reparieren“ meine aktuellen Probleme. Wahrscheinlich ist dies keine universelle Lösung (in der Tat ist mein Fix an meine Bedürfnisse angepasst, und in diesem Fall macht die Korrektur, dass einige Inhalte verloren gehen .. aber für mich ist ok in diesem Moment).

lege ich einen Link zu dem Code:

https://github.com/alejandrorg/VariousCodes/blob/master/FreebaseFixer.java