我的任务是将一些朋友或关注关系导入到一个简单的Neo4j图形数据库中。我的输入数据是具有以下结构的csv文件:
owner,friend,type
Bob,Charlie,friend
Alice,Chris,follower
在上面的例子中,Charlie是Bob的朋友,Chris是Alice的关注者。我想使用“LOAD CSV”将它们批量导入neo4j,但我在导入期间创建有条件的关系时遇到了问题。导入代码大致如下:
LOAD CSV WITH HEADERS FROM "file:./graph.csv" AS csvLine
WITH csvLine.owner AS owner,
csvLine.friend AS friend,
csvLine.type AS Type
MERGE (o:Person { name: owner })
MERGE (c:Person { name: friend })
MERGE (u)<-[:IS_FRIEND {type: Type}]-(c);
我更倾向于有两种关系类型,即IS_FRIEND
和FOLLOWS
。但是当我尝试使用条件语句时,比如:
CASE WHEN Type == "friend" THEN MERGE (u)<-[:IS_FRIEND]-(c) ELSE (u)<-[:FOLLOWS]-(c);
我在使用CASE
语句时出现了语法错误。
有没有办法在从CSV文件进行批量导入时实现条件关联呢?