我正在尝试将二进制uuid作为实体id导入,但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字符串,那么会有多少性能损失?
答案 0 :(得分:0)
CSV是一个文本文件,因此在将列导入Neo4j之前,您必须将其强制转换。
Cypher附带了一些转化功能:toInt
,toFloat
,...
但是没有可以将字符串转换为字节数组(由Neo4j支持)。
另一方面,您可以创建自己的功能(称为用户定义的功能)。看看这里:https://neo4j.com/docs/developer-manual/3.2/extending-neo4j/cypher-functions/
但我从未尝试过在密码中管理字节。 希望它能有所帮助。
干杯