csvから読むと、 "scotch"と "region"ノードを持つ単純なグラフDBを作成しています。neo4jで区切られたcsvカラムから複数のプロパティを割り当てるCypher
パイプ区切りフィールドのスコッチノードにプロパティを割り当てたいとします。キャッチは、各フィールドインスタンスには必ずしも同数の区切り値が含まれているとは限りません。
LOAD CSV WITH HEADERS FROM
'file:///scotch_narrow.csv' AS line
WITH line, SPLIT(line.NOSE, '|') AS v1
CREATE (scotch:Scotch {name: line.SCOTCH, nose: v1})
MERGE (region:REGION {name: line.REGION, district: line.DISTRICT})
CREATE (scotch)-[:MADE_IN]->(region)
:、私は成功し、次のクエリを実行し、単一のフィールド、ここで( '| SEA FRESH' や 'FRESH | | SEA FRUIT' 例えば '新鮮な' またはを含めることができます) 'NOSE' の
私は、かつて以下のように同じパラダイムを使用しての複数のプロパティを割り当てよう:
LOAD CSV WITH HEADERS FROM
'file:///scotch_narrow.csv' AS line
WITH line, SPLIT(line.NOSE, '|') AS v1
WITH line, SPLIT(line.BODY, '|') AS v2
WITH line, SPLIT(line.FINISH, '|') AS v3
WITH line, SPLIT(line.PALETTE, '|') AS v4
CREATE (scotch:Scotch {name: line.SCOTCH, nose: v1, body: v2, finish: v3, palette: v4})
MERGE (region:REGION {name: line.REGION, district: line.DISTRICT})
CREATE (scotch)-[:MADE_IN]->(region)
私は、エラーを取得します。変数「v2は」が定義されていない:
Variable `v2` not defined (line 4, column 115 (offset: 178))
"WITH line, SPLIT(line.NOSE, '|'), SPLIT(line.BODY, '|'),
SPLIT(line.FINISH, '|'), SPLIT(line.PALETTE, '|') AS v1, v2, v3, v4"
私の構文が間違ってい
?
優秀、@InverseFalconに感謝します - 私のクエリの "WITH"部分を修正すると、私の構文の問題が解決しました。 プロパティをノードとしてモデル化することをお勧めします。この演習は、グラフDBの機能を理解するのに役立ちます。 –