2013-07-20 7 views
8

Ich plane derzeit ein großes Projekt mit großen Datenmengen.Import Freebase zu Triple-Store

Ich habe bereits die Suche und alle Ergebnisse sagen mir, dass es nicht möglich ist Freebase in jede triplestore ohne Verwendung von 3rd Party Tools wie BaseKB oder Freebase to RDF

zu importieren Wie ich sehen kann, ist die Deponie bereits als RDF Wo ist das Problem, wenn ich den Dump in meinen 4store Tripelspeicher importieren und über SPARQL auf die Daten zugreifen möchte?

+0

Haben Sie die Daten von freebase in Triple Store importiert? Wenn ja, wie lange dauert es, bis der Vorgang abgeschlossen ist und welche Maschinenkonfiguration Sie verwendet haben? Ich plane auch, die Daten zu importieren. Bitte lass mich die Details wissen. Danke – vinod

Antwort

3

Für alle, die Probleme mit der Freebase Dump importieren:

1) Halten Sie die RDF/Turtle Parser aktualisiert. (Neueste Version von Raptor 2 kann das '.' Erkennen, z. B. an ns: common.topic.notable_for.example

2) Der Speicherauszug muss bereinigt werden, bevor Sie ihn importieren können.Ich verwendet, um dieses scipt: http://people.apache.org/~andy/Freebase20121223/ (fixit)

3) Die Turtle-Spezifikation erlaubt nur diese Zeichen für URIs:

::= '<' ([^#x00-#x20<>\"{}|^`\] | UCHAR)* '>' 

So ist es sehr wichtig, diese Linie zu dem fixit Skript 80 in Zeile hinzuzufügen:

$X =~ s/\\>/%3E/g ; 
$X =~ s/\\.//g ; 

# Add this Line 
$X =~ [\x00-\x20\<\>\"\{\}\|\^\`] ; 

$obj = "<".$X.">" ; 

Als Ergebnis ungültige Syntax wie folgt aus:

<http://www.wikipedia.org/object?key={invalid_braces}> 

wird

<http://www.wikipedia.org/object?key=invalid_braces> 
2

Sie sind wahrscheinlich die Suchergebnisse aus mindestens zwei, wenn nicht drei, verschiedene Datensätze bekommen:

  1. die alte Quad-Format
  2. die frühe RDF-Dump-Dumps
  3. (vielleicht) die aktuelle RDF dump

Das Format in # 1 ist, was die Konvertierung erforderlich ist. Die frühen RDF-Dumps (# 2) waren syntaktisch ungültig und wurden daher nicht in die meisten Tools importiert. Der RDF-Dump hat sich im Laufe der Zeit verbessert. Ich bin mir nicht sicher, ob es immer noch zutrifft, dass es überhaupt nicht ohne Vorverarbeitung importiert wird, aber es ist fast immer sinnvoller, wenn Sie es vorarbeiten, um Redundanz zu entfernen, und auf das Format normalisieren, das am besten für Sie funktioniert Anwendung usw.

Haben Sie versucht, den aktuellen Dump zu importieren? Was waren deine Ergebnisse?

+0

Danke für Ihre schnelle Antwort. Heute habe ich einen Root-Server bestellt, 4store, DL Freebase Dump installiert und für jede Datei 10.000.000 Tripel geteilt. Jetzt bekomme ich einen Fehler beim Importieren: "URI-Datei: /// root/freebase/xaa: 8 Raptor Fehler - Syntaxfehler". Gibt es ein Problem mit der Turtle-Syntax der Freebase RDF? – smith64fx

+0

Die erste Zeile verursacht einen "Syntaxfehler": ns: american_football.football_historical_roster_position.number ns: type.property.expected_type ns: type.int. – smith64fx

+1

Ich habe es repariert ... Nach der Aktualisierung von Raptor2 funktioniert es jetzt mit Hilfe dieses netten Updates: http://people.apache.org/~andy/Freebase20121223/ – smith64fx

1

Das Problem mit dem Freigabeschildspeicher Turtle ist dies, sie sind nicht konform mit W3C Turtle-Spezifikation.

1) nach http://www.w3.org/TR/turtle/#sec-grammar, Zeichen '.' kann nur am Ende des Triple erscheinen, aber Freebase Dump hat viele '.' vor dem Ende des Triple. Ich habe irgendwo gelesen, dass "/" nicht erlaubt ist, auch außerhalb von uri, also haben sie stattdessen "."

neueste raptor2 Bibliothek kann dieses Problem umgehen (‚‘), nicht aber die älteren

2) Ich denke, die Art und Weise ‚leeren Knoten‘ emit ist auch nicht gültig für z.B. Zeile 141567 ns: m.01000m1 ns: common.topic.notable_for.

+0

1) Update Raptor2 – smith64fx

Verwandte Themen