Neo4j 4.4 GDS(Graph Data Science)中的CALL gds.graph.create用不了报错的解决办法

最近学习Neo4j4.4.4版本图数据库,用到了(Graph Data Science)做PageRank算法。当我在用下面这个函数给子图命名的时候,系统一直给我报错

CALL gds.graph.create(
  'myGraph',
  'Page',
  'LINKS',
  {
    relationshipProperties: 'weight'
  }
)

#报错是这样的

There is no procedure with the name `gds.graph.create` registered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed.

说是没有gds.graph.create这个函数,我找了很多文档也找不着,后来发现GDS2.0以上版本把这个函数给删除了。
我改成

CALL gds.graph.project('myGraph','Page','LINKS')

问题得到了解决

评估内存的函数

CALL gds.pageRank.write.estimate('myGraph', {
  writeProperty: 'pageRank',
  maxIterations: 20,
  dampingFactor: 0.85
})
YIELD nodeCount, relationshipCount, bytesMin, bytesMax, requiredMemory

再进行PageRank算法

CALL gds.pageRank.stream('myGraph')
YIELD nodeId, score
RETURN gds.util.asNode(nodeId).name AS name, score
ORDER BY score DESC, name ASC

在这里插入图片描述
我自己参考借鉴这篇文章做的。
neo4j使用PageRank算法

返回GDS的版本

RETURN gds.version()

GDS里面各种函数的用途

CALL gds.list()

GDS里面各种函数的具体参数

CALL dbms.procedures()

查到创建子图的函数参数如下:

"gds.graph.project(graphName :: STRING?, nodeProjection :: ANY?, relationshipProjection :: ANY?, configuration = {} :: MAP?) :: (nodeProjection :: MAP?, relationshipProjection :: MAP?, graphName :: STRING?, nodeCount :: INTEGER?, relationshipCount :: INTEGER?, projectMillis :: INTEGER?)"

如果需要创建两个类型的点之间的关系,

CALL gds.graph.project(
  'myGraph',
  ['users','movies'],
  'rated',
  {
    relationshipProperties:'rating'
  }
)

  • 10
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杰米的大鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值