【问题标题】:AWS Neptune Jupyter Gremlin Queries not able to display a visualization of the graph?AWS Neptune Jupyter Gremlin 查询无法显示图表的可视化?
【发布时间】:2021-10-06 07:26:11
【问题描述】:

所以到目前为止,我一直在努力设置和查询 Neptune 图形数据库,但我一直无法使图形可视化工作。

Visualization Tutorial

例如,%seed line 魔术函数不会打开交互式下拉菜单来创建示例数据库,而是返回文本输出。

Seed Text Output

在我已经存在的数据库上运行查询将提供控制台输出,但没有查看图表的选项,并且查询元数据也简单地打印为文本。我尝试了许多其他特定查询和单元格魔术提示,但均无济于事。

Existing Query (some data omitted)

notebook 和 IPython 都是最新的。

%graph_notebook_version
2.1.4

IPython.__version__
'7.16.1'

非常感谢任何有关使可视化工作的帮助!

【问题讨论】:

  • 您好 - 有几个问题 - 您使用的是 (1) Jupyter 还是 Jupyter Labs,以及 (2) 您是否在笔记本顶部看到显示 Neptune 的菜单项?此外,笔记本的 3.0 版本刚刚发布。您可能希望更新到该级别。它具有许多新功能和示例笔记本内容。目前您需要在运行这些笔记本时使用 Jupyter 而不是 Jupyter Labs
  • 我主要通过 Jupyter Labs 工作,但是我没有在顶部看到显示 Neptune 的菜单项(这是在 Jupyter 或 Jupyter 实验室上)。我也不知道 3.0 更新,我只看到图形可视化是在去年某个时候出现的。感谢您提供有关 Jupyter 与 Jupyter Labs 的提示,我会检查一下!
  • 好的,快速更新,我通过 Jupypter 而不是实验室运行它,得到了一些不同的东西!它现在按预期包含查询元数据作为其自己的选项卡,但仍然缺少图形组件。是否有可能我最初发布的测试查询的格式不适合绘制图表?
  • 要查看图表,您将需要类似g.V().outE().inV().path() 的内容,以便在要渲染的边之后有一个顶点。我肯定会推荐升级到最新版本,因为它更容易获得漂亮的视觉效果。在这种情况下,提示需要是 v,oute,inv
  • Air-Routes-Gremlin 示例笔记本顶部有一个部分,显示了获得可视化的所有方法。正如我所提到的,如果可能的话,升级到最新的图形笔记本版本,因为它使创建视觉效果更加容易。您无需更新 Neptune 集群即可执行此操作。

标签: python jupyter-notebook gremlin amazon-neptune graph-visualization


【解决方案1】:

查询运行屏幕截图中显示的格式错误的小部件显示是使用带有 JupyterLabs 的图形笔记本扩展的结果。目前,graph-notebook 仅支持与 Jupyter Notebooks 一起使用,因此与 JupyterLabs 一起使用可能无法按预期显示查询结果。

此外,根据返回的 Gremlin 查询结果的描述性,graph-notebook 扩展可能不会自动生成图形可视化作为运行魔术查询的输出的一部分,即使调用了 path() 步骤也是如此。在这些情况下,需要调用 -p 参数并指定路径模式,以正确可视化图形节点和边。列出的查询的更正版本可能类似于:

%%gremlin -p v,oute,inv
g.V("...").outE().inV().path().limit(5)

有关路径模式的更多信息,您可以查看官方 AWS 文档:

https://docs.aws.amazon.com/neptune/latest/userguide/notebooks-visualization.html

Graph-notebook 包中包含的 Air-Routes-Gremlin 示例笔记本也有大量的示例 Gremlin 查询可视化方法,以及各种自定义选项的使用。

https://github.com/aws/graph-notebook/blob/main/src/graph_notebook/notebooks/02-Visualization/Air-Routes-Gremlin.ipynb

其中包括-d 选项,可用于指定在节点上显示哪个顶点属性值。默认情况下,graph-notebook 的 Gremlin 可视化工具将使用每个顶点的 T.label 属性。例如,如果您希望所有图形顶点显示name 属性,而不是默认值,您可以将查询编写为:

%%gremlin -p v,oute,inv -d name
g.V("...").outE().inV().path().limit(5)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-03
    • 2021-06-05
    • 1970-01-01
    • 2019-08-10
    • 2021-10-15
    • 2021-02-05
    • 2021-02-03
    • 1970-01-01
    相关资源
    最近更新 更多