在密码中文档 http://docs.neo4j.org/chunked/milestone/query-where.html#_regular_expressions它说您可以使用正则表达式来匹配字符串属性中的特定“先前已知”模式。
是否也可以使用捕获组?
举个例子:
我的节点属性是序列化的 JSON,如下所示:
n.json = '{"name": "John", "gender": "m"}'
n.json = '{"name": "Jane", "gender": "f"}'
我想了解不同性别的人之间的关系:
MATCH r=(n)--(m)
WHERE NOT (n.json =~ '.*gender": "(\c)".*')[1] = (m.json =~ '.*gender": "(\c)".*')[1]
RETURN r
或类似的东西。
这是一个相关问题 https://stackoverflow.com/questions/17351069/using-regular-expressions-beyond-matching-in-cypher。简短的回答是 cypher 不支持反向引用;正则表达式只是为了匹配。
一般来说,当我遇到像您所面临的问题时,我会尝试在导入步骤之前处理它们。 IE。您可以从数据开始,将其整理为 CSV,然后将 CSV 加载到图表中。在操作 CSV 的过程中,我会使用其他一些工具(sed/awk/perl/python/其他工具)进行模式匹配,然后在将数据加载到图表中之前修改数据以执行此类操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)