エンティティIDとしてバイナリuuidをインポートしようとしていますが、IDが文字列としてロードされています。これはロード前にCSVファイルにデータを格納することと関係があります。
私はneo4jがバイナリを受け付けるのを見ましたが、どのように実装できるかはわかりません。
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM
"file:///output_files/entity_file.csv" AS line
MERGE (e:Entity {id: line.ent_uuid })
{"id":"{"type":"Buffer","data":[205,155,117,117,97,122,78,219,15│
│0,217,94,99,158,70,112,123]}"}
また、idを通常のUnicode文字列として保存した場合、パフォーマンスの損失はいくらですか?
回答:
回答№1は0CSVはテキストファイルなので、Neo4jに列をインポートする前に、それをキャストしなければなりません。
Cypherにはいくつかの変換関数があります: toInt
, toFloat
、... しかし、文字列をバイトの配列として変換するものはありません(Neo4jでサポートされています)。
反対側では、独自の関数(ユーザー定義関数と呼ばれる)を作成することができます。ここを見てください: https://neo4j.com/docs/developer-manual/3.2/extending-neo4j/cypher-functions/
しかし、私はCYPHERでバイトを管理しようとしたことがありません。 それが役立つことを願っています。
乾杯