我知道可以使用正则表达式表示属性值,例如:
MATCH (n)
WHERE n.SomeProperty =~ 'somestring*'
RETURN n;
我想要的是使用正则表达式的属性名称,并检查所有的属性,开始与某个字符串一样,例如:
MATCH (n)
WHERE n.`SomeProperty*` > 10
RETURN n;
所以我想要所有的节点都有一个属性,以'SomeProperty'开头,并且这个属性的值大于10。
像我的例子中那样使用正则表达式似乎是不可能的。我试过了,但我的研究没有找到解决方案。有人知道如何使用另一种技术来实现这一点吗?
2条答案
按热度按时间kfgdxczn1#
给定以下测试图
以下查询可实现所需的功能
请记住,它实际上不是一个优化的图形查询,所以在大小合适的数据库上运行速度会很慢。
4szc88ey2#
我创建了如下示例节点:
然后我使用这个查询返回n2和n3。正如你所看到的,n1以某个属性开始,但是值不大于10。量词是ANY,所以它只会查找至少一个属性(节点n的键)并返回它。
结果: