本地调用图算法和NGQL图算法调用

提问参考模版:

  • nebula 版本:(V3)

  • 部署方式: 单机

  • 安装方式:Docker

  • 是否上生产环境: N

  • 问题的具体描述

1:我尝试使用ng_ai的单机去运行图算法,报错

from ng_ai import NebulaReader
from ng_ai.config import NebulaGraphConfig

# read data with nebula/networkx engine, query mode
config_dict = {
    "graphd_hosts": "192.168.1.230:9669",
    "user": "root",
    "password": "nebula",
    "space": "demo",
}
config = NebulaGraphConfig(**config_dict)
reader = NebulaReader(engine="nebula", config=config)
reader.query(edges=["follow", "serve"], props=[["degree"], []])
g = reader.read()
g.show(10)
g.draw()
pr_result = g.algo.pagerank(reset_prob=0.15, max_iter=10)
Traceback (most recent call last):
  File "D:/pythonProject3/nebula/Space_manage/__init__.py", line 14, in <module>
    reader.query(edges=["follow", "serve"], props=[["degree"], []])
  File "E:\anaconda\envs\often\lib\site-packages\ng_ai\nebula_reader.py", line 64, in query
    raise NotImplementedError
NotImplementedError

2:可以详细说一下通过ngql命令去执行图算法吗?

1 个赞

能帮我看一下你的 ng_ai 版本么? pip freeze | grep ng_ai

有一个背景是,我之前实现的时候为了兼容 pyspark 2.4(很老),造成了 python 版本支持特别窄,我怀疑你的 anaconda python 版本导致下载了早期版本的 ng_ai ,还没支持 NetworkX

得麻烦你现在用 python 3.9 的环境去做,未来我会想办法把这个问题解决一下哈

抱歉这个 ngql 执行的方式我还没来得及实现 networkx 的调用,现在只实现了 spark 模式的,就是利用了 3.5.0 开始支持的 UDF ,从 UDF 调用 API,API则是一个 web service,接受 ng_ai.algo 的调用。

是调用接口ip的方式吗

https://github.com/wey-gu/nebulagraph-ai/tree/main/ng_ai/ng_ai_api 给 spark 的实现在这哈

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。