我有很多配置文件作为节点,并希望匹配name属性具有某种字符串相似性的节点。
Neo4j怎么可能?
示例数据:
NodeA: {
"name": "Jacob F Saxberg"
},
NodeB: {
"name": "Jacob Friis Saxberg"
}
我想得到Levenshtein距离(4)或与Neo4j类似的东西。
答案 0 :(得分:3)
由于Levenshtein距离是两个节点f(nodeA, nodeB)
的函数,并且因为它是对称的(f(nodeA,nodeB)==f(nodeB,NodeA)
),所以将Levenshtein距离的结果存储为nodeA和nodeA之间关系的属性可能是一个不错的选择。节点B.
您可以使用cypher查找应计算Levensthein距离的所有节点。使用Java(或您首选的客户端语言),您可以迭代找到的节点,进行数学运算并将结果写回图表。