cypher - 处理不同大小的行

时间:2015-11-02 03:16:55

标签: neo4j cypher

我正在使用Movielens数据集来构建原型推荐系统。但是为了导入每部电影的类别,我需要在cypher中处理不同大小的行。 例如

;1;Toy Story (1995);Animation|Children's|Comedy
;2;Jumanji (1995);Adventure|Children's|Fantasy
;3;Grumpier Old Men (1995);Comedy|Romance
;4;Waiting to Exhale (1995);Comedy|Drama
;5;Father of the Bride Part II (1995);Comedy

每部电影都有一个或多个类别。我该如何处理这种类型的行?

我考虑过将分隔符更改为“|”然后以某种方式从行[3]迭代到行[n]。

但我怎么知道'n',以及如何到达那里?

1 个答案:

答案 0 :(得分:1)

使用分隔符|,您可以拆分类别,然后合并每个类别。 例如 -

UNWIND split(row.categories, "|" ) AS category
MERGE (c:Category { name: category })
MERGE (movie)-[:CATEGORY]->(c)