2015-07-02 17 views
7

Disclaimer: Sono un principiante di neo4j. Ho seguito il tutorial. Ho creato i miei dati e li ho caricati in un graphdb e sto provando a verificare che sia stato importato correttamente.Restituire troppe relazioni

Non sono sicuro se il problema che sto riscontrando sia qualcosa che sto facendo nell'importazione o nella query di cifratura.

sto usando this import tool per importare i seguenti file (il seguito è stato filtrato per contenere solo le righe Attualmente sto indagando): APPLICATION_ID file di nodo

: file di nodo

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

personal_phone : file di

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

relazione:

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

La mia domanda cifra:

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

Nei miei risultati vedo che il nodo personal_phone ha 2 rapporti 'APPLICATA' con ciascuno dei nodi APPLICATION_ID. Mi aspetterei di vederne solo uno. Dove sto andando male?

MODIFICA: Questo è quello che vedo. Il nodo centrale è il nodo personal_phone.

enter image description here

EDIT 2: Così ho capito che utilizzando l'istruzione dump dal guscio Neo4j ho potuto ottenere un'esportazione del database. Ho pensato di correre per i nodi in questione:

$ 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 

Questo dimostra che ho sicuramente relazioni duplicate. Qualche idea su come posso risolvere questo problema?

risposta

1

Ugh - l'errore stupido nella mia importazione era il problema. Passò inosservato perché c'erano molti file diversi da importare, ma fondamentalmente avevo importato due volte il file delle relazioni nel mio file di script:

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

Si aggiungono due APPLIED rapporti da un singolo personal_phone nodo a due differenti application_id nodi.

Quando si dispone di MATCH tutte le relazioni da questo nodo personal_phone, si prevede effettivamente di ottenere due relazioni APPLIED come risultato.

+0

Grazie. Perché non vedo i nodi 'application_id' separati in due separati' application_id' nodi con una singola relazione 'APPLICATA' che va a ognuno? –

+0

Cosa vedi? Stai parlando dell'interfaccia web? –

+0

Ho aggiornato la mia domanda con un'immagine che mostra il risultato che ottengo, e sì - intendo l'interfaccia web. –