Neo4j-匹配连接逻辑的问题

Neo4j-匹配连接逻辑的问题,neo4j,cypher,Neo4j,Cypher,我在创建加入(匹配)关系时遇到问题。我正在使用Northwinds图形数据库加载的Neo4j示例作为我的学习示例 我有两个简单的CSV文件,通过从标题加载CSV成功加载。然后我设置了两个索引,每个实体一个。我的最后一步是创建MATCH(JOIN)语句。这就是我遇到问题的地方 运行脚本后,我的返回消息不是告诉我它创建了多少关系,而是“(没有更改,没有记录)”。以下是我的脚本行: LOAD CSV WITH HEADERS FROM 'FILE:///TestProducts.csv' AS row

我在创建加入(匹配)关系时遇到问题。我正在使用Northwinds图形数据库加载的Neo4j示例作为我的学习示例

我有两个简单的CSV文件,通过从标题加载CSV成功加载。然后我设置了两个索引,每个实体一个。我的最后一步是创建MATCH(JOIN)语句。这就是我遇到问题的地方

运行脚本后,我的返回消息不是告诉我它创建了多少关系,而是“(没有更改,没有记录)”。以下是我的脚本行:

LOAD CSV WITH HEADERS FROM 'FILE:///TestProducts.csv' AS row
CREATE (p:Product)
SET p = row
添加113个标签,创建113个节点,设置339个属性,309毫秒后完成

添加23个标签,创建23个节点,设置46个属性,137毫秒后完成

添加1个索引,20毫秒后完成

添加1个索引,2毫秒后完成

(无更改,无记录)


为什么??如果我使用示例文件运行Northwinds示例,它会正常工作。它说已经建立了77种关系。还有什么方法可以查看数据库结构吗?如何调试此问题?非常感谢您的帮助。

我认为您可能对属性名称使用了错误的大小写。NorthWind数据使用大写首字母作为其属性名称


尝试在索引和
匹配
子句中使用
ProductID
SupplierID

感谢所有建议。对于Neo4j,总是有多种方法来解决问题。我做了一些挖掘,找到了一个相当简单的解决方案

匹配(a)-[r1]->()-[r3]->(b)创建唯一的(a)-[:需要]-(b)

文字代码(对我来说)是: 匹配(a:应用程序)-[:由]->()-[:使用]->(o:对象)创建唯一(a)-[:需要]-(o)组成

这将对关系(n2)进行分组并创建一个虚拟关系,从而使单个n2节点对于查询是冗余的

大家好! 院长

LOAD CSV WITH HEADERS FROM 'FILE:///TestSuppliers.csv' AS row
CREATE (s:Supplier)
SET s = row
CREATE INDEX ON :Product(productID)
CREATE INDEX ON :Supplier(supplierID)
MATCH (p:Product),(s:Supplier)
WHERE p.supplierID = s.supplierID
CREATE (s)-[:SUPPLIES]->(p)