Neo4j Cypher语言 - 创建一个同态变换



我想在 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相当弱。尽管如此,它可能足以满足您的需求。

最新更新