gpt4 book ai didi

neo4j - 密码中每一行的拆分操作

转载 作者:行者123 更新时间:2023-12-01 09:53:27 25 4
gpt4 key购买 nike

我有这个问题 -

LOAD CSV from "file:/C:/1m/movies1.csv" AS rows 
FIELDTERMINATOR ';' unwind rows as row
foreach (r in row|
SPLIT(r[3],"|") as genre
merge (c:Genres { name: genre })
merge (m:Movies { MovieID: row[1] })
MERGE (m)-[:HAS_GENRE]->(c))

行是这样的 -

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

所以每行的第三个元素有多个值,我想用 '|' 展开分隔符。但我得到 错误-

Invalid input 'P': expected 't/T' or 'e/E' (line 4, column 2 (offset: 108))
"SPLIT(r[3],"|") as genre"

如何拆分每行中的第三项并将它们合并到节点?

最佳答案

一般来说,FOREACH 的东西可以用 UNWIND 来完成。

LOAD CSV from "file:/C:/1m/movies1.csv" AS rows FIELDTERMINATOR ';'
MERGE (movie:Movie {MovieID:rows[0]})
SET movie.name = rows[1]
WITH movie, SPLIT(rows[2], "|") AS genres
UNWIND genres AS g
MERGE (genre:Genre {name:g})
MERGE (movie)-[:HAS_GENRE]->(genre)
RETURN movie, genre;

产量:

enter image description here

您还指的是 rows[3],它是 null。 csv 文件只有 3 列,其中第三列使用 rows[2] 访问。

关于neo4j - 密码中每一行的拆分操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33508080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com