Memgraph是否支持投影子图?支持哪些图投影函数?
Memgraph 子图投影支持及相关函数说明
子图投影支持情况
Memgraph完全支持子图(又称投影图),你可以通过Cypher查询筛选特定节点与关系,生成目标子图投影后用于图算法计算。
支持的图投影方式及函数
- 显式子图聚合:通过
MATCH筛选节点、关系,再用WITH聚合为子图集合,传递给算法。 - 算法内置投影参数:多数图算法(如PageRank、Betweenness Centrality等)支持直接在函数参数中指定节点标签、关系类型,限定算法运行的子图范围,无需提前聚合。
graph.project()构造函数:部分版本支持该函数,可快速创建子图投影,通过参数指定节点、关系的过滤规则。
代码问题修正
你提供的代码无法运行,核心问题是不能直接将路径p作为graph传入pagerank.get()。以下是两种正确写法:
方式1:聚合节点与关系传递子图
MATCH (n:Node)-[:CONNECTS_TO]->(m:Node) WITH collect(n) AS nodes, collect((n)-[:CONNECTS_TO]->(m)) AS relationships CALL pagerank.get({nodes: nodes, relationships: relationships}) YIELD node, rank RETURN node, rank;
方式2:直接指定算法投影规则(更高效)
CALL pagerank.get({node_labels: ['Node'], relationship_types: ['CONNECTS_TO']}) YIELD node, rank RETURN node, rank;
内容的提问来源于stack exchange,提问作者KWriter
相关产品推荐
相关产品推荐

