2015-11-02 58 views
0

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

;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

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

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

我得到未定义 '行' 的错误,当我运行此查询 - LOAD CSV从 “文件:/ C:/1m/movies.csv” AS行 开卷分(行[3 (m) - [:HAS_GENRE] - >(c)合并(m:Movies {MovieID:row [1]}) 合并 – goelakash

+1

添加WITH行:从“...”加载CSV行字段终止符“;”排放松... – Luanne