Neo4j は配列要素を個別の行に展開します

ポルジャーズ

配列を含む列を持つ CSV ファイルがあります。ファイルは次のようになります。

siblings
[3010,3011,3012]
[2010,2012]

私がやろうとしているのは、配列の要素を個別の行として返すことです。

ドキュメントに目を通し、UNWIND機能を見つけましたドキュメントに示されている例を試したとき:

UNWIND [1, 2, 3] AS x
RETURN x

すべてがうまくいきました。私のデータで試したとき、クエリは次のようになりました。

LOAD CSV WITH HEADERS FROM
'file:///test.csv' AS line1
UNWIND line1.siblings as a
RETURN a

そして結果は

[3010,3011,3012]
[2010,2012]

の代わりに:

3010
3011
3012
...

誰かが私が間違っていることを知っていますか?

デイブ・ベネット

CSV 列はすべて文字列として扱われるため、そのように扱う必要があります。あなたの場合、文字列をコレクションに分割する前に兄弟から角括弧を削除できますこの手順は、ファイルの前処理を回避するのに役立ちます。文字列を分割すると、まだ文字列のコレクションがあります。

WITH "[1001,1002,1003]" as numbers_with_brackets_in_a_string
WITH substring( numbers_with_brackets_in_a_string, 1, size(numbers_with_brackets_in_a_string)-2 ) as numbers_in_a_string
UNWIND split( numbers_in_a_string, ',' ) as number_as_a_string
RETURN number_as_a_string

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事