2016-08-15 3 views
1

Ich habe einen RDF-Datensatz in dem Tripel gespeichert ist, in N-Triples-Format wie folgt:RDFLib Blank Knoten Druck

<http://ebola.ndssl.bi.vt.edu/country/1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://ebola.ndssl.bi.vt.edu/vocab/country> . 
_:AmapX3aXcountryX5fXcountryX5fXnameX5fXclassMapX40XX40X1 <http://ebola.ndssl.bi.vt.edu/vocab/hasValue> "Guinea" . 

Ich mag einige Verarbeitung mit dem leeren Knoten zu tun. Ich schreibe ein Programm zum Lesen dieser Datei in Python. Ich benutze Python RDFLib Bibliothek. Nach dem Lesen der Datei drucke ich den Inhalt. Das Problem besteht jedoch darin, dass der Name des leeren Knotens anders lautet. Zum Beispiel:

_:AmapX3aXcountryX5fXcountryX5fXnameX5fXclassMapX40XX40X1 
is showing like following 
N75424221e7df43708c3e2a135e3e888b 

ich brauche ursprünglichen Namen leere Knoten Datei RDF wie folgt:

_:AmapX3aXcountryX5fXcountryX5fXnameX5fXclassMapX40XX40X1 

Wie kann ich drucken Original RDF leere Knotennamen-Datei?

Antwort

4

Sie (wahrscheinlich) können nicht. Leere Knoten-IDs sind lokal für die spezifische Datei, in der sie sich befinden. Sie werden nicht garantiert zwischen verschiedenen Serialisierungen beibehalten. RDFLib ersetzt einfach die ID durch eine eigene neue interne ID.

Einige Werkzeuge verfügen über eine Parsereinstellung, um Knoten-IDs optional beizubehalten. Ich weiß nicht, ob RDFLib dies unterstützt, aber selbst wenn dies der Fall ist: Wenn Sie nicht einen sehr spezifischen spezifischen Anwendungsfall haben, sollten Sie sich nicht darauf verlassen, dass leere Knoten-IDs erhalten bleiben. Sie heißen blank aus einem Grund: ihre ID ist für alle Absichten und Zwecke "unbekannt".

+0

Könnten Sie mir bitte den Namen eines solchen Werkzeugs geben? –

+0

RDF4Js Rio-Parser unterstützt dies zum einen. Ich bin mir ziemlich sicher, dass Jens Riot-Parser das auch tut. Ich weiß nicht, ob RDFLib es unterstützt oder nicht, könnte es (siehe in der Parser-Dokumentation). Aber wie gesagt: In den meisten Fällen sollten Sie sich nicht darauf verlassen. –

+1

Besser noch, wenn Sie sich darauf verlassen müssen, dass diese als die gleiche Ressource betrachtet werden, geben Sie ihnen eine IRI und verwenden Sie diese. – Michael