返回的关系太多

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

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

我使用这个导入工具来导入下列文件(下面的文件已被过滤为只包含我目前正在调查的行):

application_id节点文件:

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

personal_phone节点文件:

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

关系文件:

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

我的密码查询:

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

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

编辑:这是我看到的。 中心节点是personal_phone节点。

编辑2:所以我想通过使用从neo4j外壳的dump语句,我可以得到数据库的导出。 我想我会为有问题的节点运行它:

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

返回:

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

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


您可以将两个APPLIED关系从单个personal_phone节点添加到两个不同的application_id节点。

当您MATCH来自此personal_phone节点的所有关系时,您确实希望得到两个APPLIED关系作为结果。


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

--relationships "f:tempr_personal_phone_application_id_APPLIED.csv" 
--relationships "f:tempr_personal_phone_application_id_APPLIED.csv" 
链接地址: http://www.djcxy.com/p/27301.html

上一篇: Too many relationships being returned

下一篇: How do I reset the keychain in simulator?