Neo4j 向关系添加属性
我正在尝试使用Neo4j 向关系添加属性,neo4j,cypher,Neo4j,Cypher,我正在尝试使用load FROM CSV加载CSV文件并建立关系。我有一个交叉表,用于支持多对多关系。在我的示例中,我将使用两(2)个主节点,Car和Driver 一辆汽车可以由一个或多个驾驶员驾驶,一个驾驶员可以驾驶一辆或多辆汽车 我的交叉桌子看起来像这样 CarID (int) DriverID (int) 下面是我成功地将其加载到Neo4j中的代码 LOAD CSV WITH HEADERS FROM 'FILE:///CarToDriverXFER.csv' AS row FIELDT
load FROM CSV
加载CSV文件并建立关系。我有一个交叉表,用于支持多对多关系。在我的示例中,我将使用两(2)个主节点,Car和Driver
一辆汽车可以由一个或多个驾驶员驾驶,一个驾驶员可以驾驶一辆或多辆汽车
我的交叉桌子看起来像这样
CarID (int)
DriverID (int)
下面是我成功地将其加载到Neo4j中的代码
LOAD CSV WITH HEADERS FROM 'FILE:///CarToDriverXFER.csv' AS row FIELDTERMINATOR ','
MATCH (c:Cars {carID:row.carID})
MATCH (d:Drivers {driverID:row.driverID})
MERGE (c)-[:DRIVES]->(d)
我想在这个关系中添加一个属性。现在该表如下所示:
CarID (int)
DriverID (int)
Rating (int)
我不知道该怎么做。如果对象是节点,我知道如何执行此操作,但在构建关系方面,我没有获得正确的语法。这是我尝试的解决方案,但我得到了一个错误
LOAD CSV WITH HEADERS FROM 'FILE:///CarToDriverXFER.csv' AS row FIELDTERMINATOR ','
MATCH (c:Cars {carID:row.carID})
MATCH (d:Drivers {driverID:row.driverID})
CREATE ({Rating:row.Rating})
MERGE (c)-[:DRIVES]->(d)
上面的脚本加载了关系,但属性“Rating”未在属性上列出
有人可以提供帮助吗?您可以像向节点添加属性一样向关系添加属性,即:
LOAD CSV WITH HEADERS FROM 'FILE:///CarToDriverXFER.csv' AS row FIELDTERMINATOR ','
MATCH (c:Cars {carID:row.carID})
MATCH (d:Drivers {driverID:row.driverID})
// adding 'Rating' attribute to ':Drives' relationship between 'c' and 'd'
MERGE (c)-[:DRIVES {Rating:row.Rating}]->(d)