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

Neo4j GDS通过Cypher创建图时能否自定义关系类型名称

可以在GDS创建图的阶段指定自定义关系名称,你之前的写法没有生效是因为缺少了一个必要的配置参数。

使用gds.graph.create.cypher创建Cypher投影时,GDS默认不会自动识别返回结果里的type字段作为关系类型,所有关系默认都会归入__ALL__这个通用类型下。你需要通过配置项显式告知GDS用哪个返回字段作为关系类型的取值来源。

修改后的创建图语句如下:

CALL gds.graph.create.cypher(
  "tags",
  "MATCH (t:Tag) RETURN id(t) AS id, labels(t) AS labels",
  "
  MATCH (t:Tag)
  WITH collect(t) as nodes
  UNWIND nodes as n
  UNWIND nodes as m
  WITH n, m WHERE id(n) < id(m)
  MATCH (n)-[:TAGGED_ON]->(v:Video)<-[:TAGGED_ON]-(m)
  RETURN id(n) AS source, id(m) AS target, count(v) AS weight, 'TAGGED_ON_THE_SAME_VIDEO' AS type
  ",
  // 新增配置项,指定用返回的type字段作为关系类型
  { relationshipTypeProperty: 'type' }
)

完成创建后可以执行以下语句验证关系类型是否符合预期:

CALL gds.graph.list('tags') YIELD relationshipTypes
RETURN relationshipTypes

如果返回结果中包含TAGGED_ON_THE_SAME_VIDEO,再执行导出操作,新生成的tags数据库里的关系类型就会直接为你指定的自定义值,不需要后续再用APOC重命名。

内容的提问来源于stack exchange,提问作者David Chung

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 18:36:02