在cypher中是否有可能使用导入功能基于csv的值在节点之间创建不同的关系.
例如:对于给定的csv数据
product_id user_id action
1 1 VIEW
1 2 PURCHASE
Run Code Online (Sandbox Code Playgroud)
我需要根据csv 中' action '字段的值创建产品节点(product_id),用户节点(user_id)以及' user '和产品节点之间的VIEW或PURCHASE关系.
以下是我尝试过的方法.我知道语法不正确但只是想知道我想要做什么.
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file://pathto/product-event.csv" AS csvLine
FIELDTERMINATOR ','
MERGE ( prod:Product{pid: toInt(csvLine.product_id)} )
MERGE ( usr:User { cid: toInt(csvLine.userid) })
WITH prod,usr , CASE
WHEN csvLine.action ='VIEW' THEN 'VIEW'
WHEN csvLine.action ='PURCHASE' THEN 'PURCHASE'
ELSE 'VIEW' END AS action
MERGE (usr)-[:action]->(prod)
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:///pathto/product-event.csv" AS csvLine
FIELDTERMINATOR ','
MERGE …Run Code Online (Sandbox Code Playgroud)