我需要将字段拆分为不同的值,并将每个值存储在不同的节点中。对于每个创建的节点,我要存储位置。例:
Sentence Words
My car is red My;car;is;red
Run Code Online (Sandbox Code Playgroud)
使用方法:
FOREACH (w IN SPLIT(line.TWords, ";") |
MERGE (wd:Word {word: w})
Run Code Online (Sandbox Code Playgroud)
我可以拆分字段并存储不同的单词,但我想存储关系中的位置。
My car is red -[HAS_WORD {position:1}]-> My
My car is red -[HAS_WORD {position:2}]-> car
My car is red -[HAS_WORD {position:3}]-> is
My car is red -[HAS_WORD {position:4}]-> red
Run Code Online (Sandbox Code Playgroud)
我怎么能得到这个?
解
USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'file:///output_2016-05-06_0203_Neo4jImport.csv' AS line FIELDTERMINATOR "\t"
MERGE (s:Segment{text: line.Source})
MERGE (ta:Segment{text: line.Target})
WITH SPLIT(line.SWords, ";") AS SWords, line, s, ta
UNWIND RANGE(0, SIZE(SWords)-1) …Run Code Online (Sandbox Code Playgroud)