我们正在使用Spring Data Neo4j over HTTP驱动程序。我们正在使用Neo4j 3.2 Docker镜像。
我们有三种节点类型,包括Label(aka tag)和Project,其中每个项目节点可以链接到多个标签节点,反之亦然。
我正在通过GraphRepository执行以下查询:
@Query("MATCH (label:Label)-[]-(project:Project)"
+ "RETURN (label:Label)-[]-(project:Project)")
public Iterable<Label> findAllWithProjects() throws CypherException;
返回所有Project节点及其链接的Label节点。
我收到以下错误:
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.neo4j.ogm.exception.CypherException: Error executing Cypher "Neo.ClientError.Statement.EntityNotFound"; Code: Neo.ClientError.Statement.EntityNotFound; Description: Unable to load NODE with id 1207.] with root cause
org.neo4j.ogm.exception.CypherException: Error executing Cypher "Neo.ClientError.Statement.EntityNotFound"; Code: Neo.ClientError.Statement.EntityNotFound; Description: Unable to load NODE with id 1207.
问题出现在生产系统上。以前使用过相同的查询,它目前适用于开发和登台环境。
schema/label
文件夹,但这没有帮助。http://localhost:7474/db/data/node/1207
查找节点,但它返回404 Not Found。我尝试从我的应用程序中删除该节点,但再次找不到它。我还使用多个查询执行删除与该节点的所有关系,如:
MATCH (label:Label)-[r:LABELED_PROJECTS]-(project:Project)
WHERE id(project) = 1207
DELETE r
我用不同类型的节点(id = 1207)执行了一些这些查询并返回,但是所有这些查询都返回了空结果。
我调整了查询,添加了一个如下条件,这使得它可以从应用程序中运行:
MATCH (label:Label)-[]-(project:Project)
WHERE NOT id(project) = 1207
RETURN (label:Label)-[]-(project:Project)