我正在使用Play!带有neo4j插件的框架2.3应用程序 - 发现:here
我有这个模型类(代码片段):
@NodeEntity
@TypeAlias("_Request")
public class Request {
@GraphId
@Indexed
public Long id;
@Indexed
public String requestType;
@Indexed
public String requestStatus;
}
当我执行此密码查询时:
MATCH (n:_Request) RETURN n;
它返回Request节点和节点id(指定的graphId值= 138)
现在我运行这个:
MATCH (n:_Request) WHERE n.id = 138 RETURN n;
它什么都不返回。为什么是这样?我可以不对graphId注释进行查询吗? 请帮忙
答案 0 :(得分:4)
此处的问题是id
中的n
被解释为n
的属性,而不是基础图ID。
为了匹配您正在寻找的节点,您需要稍微修改一下您的查询,让Neo4j尝试通过其底层图形ID而不是名为id
的属性来获取节点。
START n=node(138) RETURN n
如果有这么小的变化,你应该得到你期望的结果。