2015-07-02 12 views
7

Haftungsausschluss: Ich bin ein Anfänger zu Neo4j. Ich bin durch das Tutorial gegangen. Ich habe meine Daten erstellt und in eine Grafikdb geladen und versuche zu überprüfen, ob sie korrekt importiert wurde.Zu viele Beziehungen werden zurückgegeben

Ich bin mir nicht sicher, ob das Problem, das ich habe, etwas ist, das ich in der Import- oder in der Chiffrieranfrage mache.

ich this import tool bin mit den folgenden Dateien zu importieren (die unten gefiltert wurde, um nur die Zeilen enthalten ich zur Zeit untersuchen):

application_id Knoten Datei:

application_id:ID(application_id),:LABEL 
2036983247,application_id 
2037028183,application_id 

personal_phone Knoten Datei :

personal_phone:ID(personal_phone),:LABEL  
5555551234,personal_phone 

Beziehung Datei:

:START_ID(personal_phone),:END_ID(application_id),:TYPE 
5555551234,2036983247,APPLIED 
5555551234,2037028183,APPLIED 

Meine Chiffre Abfrage:

match p= (a {personal_phone:'5555551234'}) -->(b) return p 

In meinen Ergebnissen Ich sehe, dass die personal_phone Knoten 2 'APPLIED' Beziehungen mit jedem der application_id Knoten hat. Ich würde erwarten, nur einen zu sehen. Wo gehe ich falsch?

EDIT: Das ist, was ich sehe. Der zentrale Knoten ist der personal_phone Knoten.

enter image description here

EDIT 2: So habe ich herausgefunden, dass die dump Anweisung aus dem Neo4j-Shell einen Export der Datenbank zu bekommen. Ich dachte, ich es für die Knoten in Frage führen würde:

$ dump match p= (a personal_phone:'5555551234'})-->(b) return p; 

Returns:

begin 
create (_5:`application_id` {`application_id`:"2036983247"}) 
create (_410:`application_id` {`application_id`:"2037028183"}) 
create (_6928:`personal_phone` {`personal_phone`:"5555551234"}) 
create _6928-[:`APPLIED`]->_410 
create _6928-[:`APPLIED`]->_5 
create _6928-[:`APPLIED`]->_410 
create _6928-[:`APPLIED`]->_5 
; 
commit 

Dies zeigt, dass ich doppelte Beziehungen auf jeden Fall haben. Irgendwelche Ideen, wie ich das beheben kann?

Antwort

1

Ugh - dummer Fehler in meinem Import war das Problem. Es blieb unbemerkt, weil so viele verschiedene Dateien importiert wurden, aber im Grunde musste ich die Beziehungsdatei zweimal in meine Skriptdatei importieren:

--relationships "f:\temp\r_personal_phone_application_id_APPLIED.csv" 
--relationships "f:\temp\r_personal_phone_application_id_APPLIED.csv" 
2

Sie fügen zwei APPLIED Beziehungen von einem einzelnen personal_phone Knoten zu zwei verschiedenen application_id Knoten hinzu.

Wenn Sie MATCH alle Beziehungen von diesen personal_phone Knoten, würden Sie in der Tat erwarten zwei APPLIED Beziehungen als Ergebnis zu erhalten.

+0

Danke. Warum sehe ich die 'application_id' Knoten nicht in zwei getrennte' application_id' Knoten mit jeweils einer 'APPLIED' Beziehung? –

+0

Was siehst du? Sprechen Sie über das Webinterface? –

+0

Meine Frage wurde mit einem Bild aktualisiert, das das Ergebnis zeigt, das ich erhalte, und ja - ich meine das Webinterface. –

Verwandte Themen