Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
neo4j在选择数据时创建另一个相同的实例_Neo4j - Fatal编程技术网

neo4j在选择数据时创建另一个相同的实例

neo4j在选择数据时创建另一个相同的实例,neo4j,Neo4j,我的节点的结构如下所示: ==> | Node[613]{name:"The Bigos",fs_id:"51a8e1a12fc6e7ef6d121077"} ==> | Node[614]{name:"Maceraperest",fs_id:"51bafb3d498ed54bd4c7fa8c"} ==> |

我的节点的结构如下所示:

==> | Node[613]{name:"The Bigos",fs_id:"51a8e1a12fc6e7ef6d121077"}                                            
==> | Node[614]{name:"Maceraperest",fs_id:"51bafb3d498ed54bd4c7fa8c"}                                         
==> | Node[616]{name:"Viking",fs_id:"51bafe1de4b090ea9dceb20e"}                                               
==> | Node[618]{name:"Metro Gross Market",fs_id:"51bb426c498e47af428ca013"}
当我再次尝试创建这些节点时,我编写了一个php脚本,检查fs_id,以确定节点是否已经存在。如果它存在,它会将节点返回给我,而不会创建新节点

现在的问题是,尽管它不创建新节点,但控制台显示它创建了新节点

==> | Node[613]{name:"The Bigos",fs_id:"51a8e1a12fc6e7ef6d121077"}                                            
==> | Node[613]{name:"The Bigos",fs_id:"51a8e1a12fc6e7ef6d121077"}                                            
==> | Node[613]{name:"The Bigos",fs_id:"51a8e1a12fc6e7ef6d121077"}                                            
==> | Node[614]{name:"Maceraperest",fs_id:"51bafb3d498ed54bd4c7fa8c"}                                         
==> | Node[614]{name:"Maceraperest",fs_id:"51bafb3d498ed54bd4c7fa8c"}                                         
==> | Node[614]{name:"Maceraperest",fs_id:"51bafb3d498ed54bd4c7fa8c"}                                         
==> | Node[616]{name:"Viking",fs_id:"51bafe1de4b090ea9dceb20e"}                                               
==> | Node[616]{name:"Viking",fs_id:"51bafe1de4b090ea9dceb20e"}                                               
==> | Node[616]{name:"Viking",fs_id:"51bafe1de4b090ea9dceb20e"}                                               
==> | Node[618]{name:"Metro Gross Market",fs_id:"51bb426c498e47af428ca013"}                                   
==> | Node[618]{name:"Metro Gross Market",fs_id:"51bb426c498e47af428ca013"}                                   
==> | Node[618]{name:"Metro Gross Market",fs_id:"51bb426c498e47af428ca013"}
看看节点ID,它们是一样的!如果我在数据浏览器中浏览节点618,它会返回一个节点。还有查询

start n=node(618) return n;
还返回单行。但是下面的查询返回多个相同节点id的行,当我测试上面的节点是否存在时,行数正在增加

start n=node(331) match n-[:BEEN]->(venues) return venues order by id(venues);

这可能没什么,但我很好奇,如果Neo4j不知何故因为这样做而消耗了额外的内存,或者它只是一个类似于缓存系统的东西。

您可能只是有多个
BEEN
关系,那么这些关系中的每一个都会产生另一个结果行

如果每个场地只有一排,请执行以下操作:

start n=node(331) 
match n-[:BEEN]->(venues) 
return distinct venues;
要查看不同的关系,请使用:

start n=node(331) 
match n-[rel:BEEN]->(venues) 
return venues,collect(rel);

哇!正如你所说,不知何故,有不止一种关系。