python - 在 IPython Notebook 中检索或存储 AWS Neptune ML 中的 Gremlin 查询结果

标签 python jupyter-notebook gremlin amazon-neptune neptune-python-utils

我有一个存储在 AWS Neptune 上的图形数据库,我需要在 Jupyter IPython 笔记本中使用 gremlin 进行查询。我正在应用 Neptune ML 提供的图神经网络功能来执行链接预测任务。具体来说,我想预测“TYPE_X”的哪些节点与变量“id_variable”中保存的节点相关。

我的查询如下所示:

%%gremlin
g.with("Neptune#ml.endpoint","${endpoint}").
    V(${id_variable}).
    project('name', 'related to').
        by('name').
        by( out('RELATED_TO').with("Neptune#ml.prediction").
            hasLabel('TYPE_X').values('name') ).
    order(local).by(keys, desc)

返回以下输出:

{'name': 'AANAT', 'related to': 'WDR7'}
{'name': 'ACACA', 'related to': 'BTN1A1'}
{'name': 'ACTA1', 'related to': 'MDH'}
{'name': 'ALAS1', 'related to': 'WDR7'}
{'name': 'ALAS2', 'related to': 'TAC3'}
{'name': 'ALDH2', 'related to': 'SOCS2'}
{'name': 'ALDOA', 'related to': 'PRKAB2'}
{'name': 'AKR1B1', 'related to': 'ODF2L'}
{'name': 'ALOX15', 'related to': 'BMP15'}

我的问题是这个输出显示为嵌入在笔记本单元的输出中;但是,我想将其分配给变量或将其存储到文件中,例如作为 JSON。事实上,我无法使用 %%gremlin 单元魔术进行变量赋值,到目前为止我还没有找到任何方法将输出写入文件。

请注意,我无法通过 gremlin_python 库在正常的 .py 脚本中运行此查询,因为它似乎不支持 Neptune 的 ML 功能(具体来说,它会在 .with("Neptune#ml.endpoint","${endpoint}") 语法)。

欢迎任何建议!

提前谢谢您。

最佳答案

您尝试过使用 --store-to(或 -s)param – 指定用于存储查询结果的变量的名称。 ?

%%gremlin --store-to results
g.with("Neptune#ml.endpoint","${endpoint}").
    V(${id_variable}).
    project('name', 'related to').
        by('name').
        by( out('RELATED_TO').with("Neptune#ml.prediction").
            hasLabel('TYPE_X').values('name') ).
    order(local).by(keys, desc)

并检查下一个单元格中的结果变量

关于python - 在 IPython Notebook 中检索或存储 AWS Neptune ML 中的 Gremlin 查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74811145/

相关文章:

python - 使用字典查找文件中单词出现的行号

python - 查找包含两个以特定字符串结尾的文件的所有子文件夹

python - Python 中的布鲁塞尔芽菜游戏

python - 单元格运行时更改 ipython 中的输出

multithreading - 用于在 ipython/jupyter 笔记本中运行单元格的新线程

python - 如何将 numpy ndarray 转换为 C float *[]

python - 访问在 Docker 容器上运行的 Jupyter notebook

java - 以编程方式将全局变量添加到 gremlin 服务器

python - 在 python 中构造 janusgraph 的 get 查询

groovy - Gremlin/Groovy 组计数结果