我想在 Neo4j (3.5.12( 中处理对节点的一些属性的同态转换。
我想这样做是为了匿名化这些属性。同态在那里非常重要,因为我希望我的引用与以前的版本保持可比性,因为我使用新的输入更新了我的图形数据。
理想情况下,我也希望这种转换能够使数据保持正常。我的意思是,我不想简单地散列输入数据,而是要让它看起来"人性化",因为它将被分析师使用并用于演示目的。
以下是我希望从我的密码请求中输出的内容:
"PAUL" -> "DEAN"
感觉可以用一些字典({P:D,A:E,E:A,L:N...}(来解决,但我还没有找到任何方法可以用其中一个来为replace()
函数提供。
我对 Cypher 有点陌生,所以也许我错过了一种本地或通过某些 APOC 功能执行此操作的方法,但在库上也没有找到任何令人信服的东西。
我应该为此写一个 udf 吗?
如果你想使用比同态转换更安全的东西,并且不需要取回原始字符串,你可以考虑使用 apoc.util.sha1 函数来生成 SHA-1 哈希。
注意:SHA-1应该比MD5更安全,但最近发现SHA-1相当弱。尽管如此,它可能足以满足您的需求。