You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询Neo4j内存虚拟图及相关会话可用性问题

关于APOC虚拟图的查询与会话可用性问题

1. 如何在directors虚拟图上运行Cypher查询?

你需要使用APOC的apoc.graph.run函数,指定目标虚拟图的名称来执行查询,具体有两种常见方式:

方式一:先创建虚拟图,再单独执行查询

首先通过apoc.graph.fromCypher创建名为directors的虚拟图:

CALL apoc.graph.fromCypher(
  'MATCH (d:Director)-[:DIRECTED]->(m:Movie) RETURN d, m, DIRECTED',
  {},
  {name: 'directors'}
)

之后在同一会话中,调用apoc.graph.run指定图名执行查询:

CALL apoc.graph.run(
  'MATCH (d:Director)-[:DIRECTED]->(m:Movie) WHERE m.year > 2000 RETURN d.name, m.title',
  'directors'
) YIELD value
RETURN value.d.name AS director, value.m.title AS movie

方式二:创建虚拟图后链式执行查询

可以在创建虚拟图的同一语句中直接链式调用查询,无需分开执行:

CALL apoc.graph.fromCypher(
  'MATCH (d:Director)-[:DIRECTED]->(m:Movie) RETURN d, m, DIRECTED',
  {},
  {name: 'directors'}
)
CALL apoc.graph.run(
  'MATCH (d)-[:DIRECTED]->(m) RETURN d.name, count(m) AS totalMovies',
  'directors'
) YIELD value
RETURN value.d.name, value.totalMovies

2. 该图在用户会话期间是否可用于多次查询?

是的,通过apoc.graph.fromCypher创建的虚拟图是绑定在当前用户会话中的。只要会话未关闭,你可以重复调用apoc.graph.run并指定directors这个图名,执行任意次数的查询。但当会话结束后,虚拟图会被自动销毁,下次会话需要重新创建才能使用。

内容的提问来源于stack exchange,提问作者py-r

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 18:53:12