返回的关系太多了

Rob*_*dge 7 neo4j cypher

免责声明:我是neo4j的初学者.我已经完成了教程.我已经构建了我的数据,并将其加载到graphdb中,我正在尝试验证它是否正确导入.

我不确定我遇到的问题是我在导入或密码查询中所做的事情.

我正在使用此导入工具导入以下文件(以下文件已经过滤,只包含我正在调查的行):

application_id节点文件:

application_id:ID(application_id),:LABEL
2036983247,application_id
2037028183,application_id
Run Code Online (Sandbox Code Playgroud)

personal_phone节点文件:

personal_phone:ID(personal_phone),:LABEL    
5555551234,personal_phone
Run Code Online (Sandbox Code Playgroud)

关系文件:

:START_ID(personal_phone),:END_ID(application_id),:TYPE
5555551234,2036983247,APPLIED
5555551234,2037028183,APPLIED
Run Code Online (Sandbox Code Playgroud)

我的密码查询:

match p= (a {personal_phone:'5555551234'}) -->(b) return p
Run Code Online (Sandbox Code Playgroud)

在我的结果中,我看到personal_phone节点与每个application_id节点有2个"APPLIED"关系.我希望只看到一个.我哪里错了?

编辑:这就是我所看到的.中心节点是personal_phone节点.

在此输入图像描述

编辑2: 所以我发现使用dumpneo4j shell中的语句我可以获得数据库的导出.我想我会为有问题的节点运行它:

$ dump match p= (a personal_phone:'5555551234'})-->(b) return p;
Run Code Online (Sandbox Code Playgroud)

返回:

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
Run Code Online (Sandbox Code Playgroud)

这表明我肯定有重复的关系.关于如何解决这个问题的任何想法?

Rob*_*dge 1

呃 - 我的导入中的愚蠢错误就是问题所在。它没有被注意到,因为导入了太多不同的文件,但基本上我在脚本文件中导入了两次关系文件:

--relationships "f:\temp\r_personal_phone_application_id_APPLIED.csv" 
--relationships "f:\temp\r_personal_phone_application_id_APPLIED.csv" 
Run Code Online (Sandbox Code Playgroud)