我有一个 Neo4J 数据库,将 COMPANY 映射为节点,并将 RELATED 映射为边。COMPANY 具有 CODE 属性。我想查询数据库并获取与 regexp 匹配的第一个节点COMPANY.CODE =~ '12345678.*'
,即一个 COMPANY,其 CODE 的前 8 个字母等于给定的字符串文字。
经过几次尝试,我能想到的最好的查询是以下查询:
START p=node(*) where p.CODE =~ '12345678.*' RETURN p;
结果是以下异常:
org.neo4j.cypher.EntityNotFoundException:
The property 'CODE' does not exist on Node[0]
看起来 Node[0] 是数据库中的一种特殊节点,显然没有我的 CODE 属性。所以,我的查询失败了,因为我没有选择合适的节点类型来查询。但我不知道如何指定要查询的节点类型。
什么是返回我想要的查询?
我想我需要一个关于 CODE 的索引来运行这个查询,但我想知道是否有一个查询可以在不使用这样的索引的情况下完成这项工作。
注意:我使用的是 Neo4J 版本 1.9.2。我应该升级到 2.0 吗?