在Neo4j中建立节点之间的关系

在Neo4j中建立节点之间的关系,neo4j,Neo4j,我是Neo4j的新手。我将客户和产品数据输入Neo4j。在加载时,我没有在它们之间建立任何关系。现在我想建立他们之间的关系,比如: create (Customer1)-[:bought]->(Item1),(Customer1)-[:bought]->(Item2); 在我执行此语句后,它表示关系已建立,但当我尝试访问它时,如: start n=node(*) match (n)-[:bought]->(items) where n.NodeName! = "Custome

我是Neo4j的新手。我将客户和产品数据输入Neo4j。在加载时,我没有在它们之间建立任何关系。现在我想建立他们之间的关系,比如:

create (Customer1)-[:bought]->(Item1),(Customer1)-[:bought]->(Item2);
在我执行此语句后,它表示关系已建立,但当我尝试访问它时,如:

start n=node(*) match (n)-[:bought]->(items) where n.NodeName! = "Customer1" return items;
上面写着0行。我认为如果它成功地建立了关系,它应该给我两个项目,项目1和项目2


有什么想法吗?

显然,您没有在创建查询中为
Customer1
节点设置
NodeName
。尝试按如下方式修改它:

create (Customer1 { NodeName:'Customer1' }), (Item1 { NodeName:'Item1' }), (Item2 { NodeName:'Item2' }), (Customer1)-[:bought]->(Item1), (Customer1)-[:bought]->(Item2);
然后,您的第二个查询应该像预期的那样返回2行

更新: 好的,我没有正确理解这个问题。因此,您希望在现有节点之间建立关系。然后试试这个:

start Customer1=node:node_auto_index(NodeName='Customer1'), Item1=node:node_auto_index(NodeName='Item1'), Item2=node:node_auto_index(NodeName='Item2')
create (Customer1)-[:bought]->(Item1),(Customer1)-[:bought]->(Item2);

显然,您没有在创建查询中为
Customer1
节点设置
NodeName
。尝试按如下方式修改它:

create (Customer1 { NodeName:'Customer1' }), (Item1 { NodeName:'Item1' }), (Item2 { NodeName:'Item2' }), (Customer1)-[:bought]->(Item1), (Customer1)-[:bought]->(Item2);
然后,您的第二个查询应该像预期的那样返回2行

更新: 好的,我没有正确理解这个问题。因此,您希望在现有节点之间建立关系。然后试试这个:

start Customer1=node:node_auto_index(NodeName='Customer1'), Item1=node:node_auto_index(NodeName='Item1'), Item2=node:node_auto_index(NodeName='Item2')
create (Customer1)-[:bought]->(Item1),(Customer1)-[:bought]->(Item2);

对的但是节点Customer1、Item1、Item2已经创建。现在我只想和他们建立关系。太好了。。!工作。谢谢对的但是节点Customer1、Item1、Item2已经创建。现在我只想和他们建立关系。太好了。。!工作。谢谢