我该如何使用 Graphexp 对 Amazon Neptune 的 Gremlin 图形进行可视化?

上次更新时间:2020 年 2 月 5 日

我想要使用 Graphexp 对储存在 Amazon Neptune 中的 Gremlin 图形进行可视化。

解决方法

先决条件

1.    创建 Neptune 数据库集群

2.    在与 Neptune 集群相同的 Virtual Private Cloud (VPC) 内创建 Amazon Elastic Compute Cloud (Amazon EC2) Linux 实例。确保可以通过 SSH 连接从您的本地计算机访问该实例。

3.    创建 VPC 安全组以允许 EC2 实例从 VPC 内连接至 Neptune 集群。如需更多信息,见访问 Amazon VPC 中的 Neptune 数据库集群

4.    在 EC2 实例上,安装 Gremlin 控制台并连接到 Neptune

加载 Gremlin 图表

注:以下示例使用 Apache TinkerPop GitHub 文档的图形属性。

在 Gremlin 控制台中:

1.    添加顶点:

g.addV('person').property(id,'v1').property('name','marko').property('age','29').
  addV('person').property(id,'v2').property('name','vadas').property('age','27').
  addV('software').property(id,'v3').property('name','lop').property('lang','java').
  addV('person').property(id,'v4').property('name','josh').property('age','32').
  addV('software').property(id,'v5').property('name','ripple').property('lang','java').
  addV('person').property(id,'v6').property('name','peter').property('age','35')

2.    添加边缘:

g.addE('created').from(g.V('v1')).to(g.V('v3')).property(id,'e9').property('weight','0.4')
g.addE('created').from(g.V('v4')).to(g.V('v5')).property(id,'e10').property('weight','1.0')
g.addE('created').from(g.V('v4')).to(g.V('v3')).property(id,'e11').property('weight','0.4')
g.addE('created').from(g.V('v6')).to(g.V('v3')).property(id,'e12').property('weight','0.2')
g.addE('knows').from(g.V('v1')).to(g.V('v2')).property(id,'e7').property('weight','0.4')
g.addE('knows').from(g.V('v1')).to(g.V('v4')).property(id,'e8').property('weight','1.0')

设置 SSH 隧道

SSH 隧道允许您的本地计算机连接到 EC2 服务器,然后通过本地端口转发连接到 Neptune 实例。您可以使用 SSH 客户端或 PuTTY 创建 SSH 隧道。

要通过 SSH 客户端进行连接,运行以下命令。示例使用这些值:

8182:Neptune 集群的端口
mydbcluster.cluster-123456789012.eu-west-1.neptune.amazonaws.com:Neptune 集群终端节点
my_keypair.pem:您的私有密钥对文件
ec2-user@ec2-11-111-11-111.eu-west-1.compute.amazonaws.com:EC2 实例的公有 DNS 主机名

ssh -L 8182:mydbcluster.cluster-123456789012.eu-west-1.neptune.amazonaws.com:8182 -i my_keypair.pem ec2-user@ec2-11-111-11-111.eu-west-1.compute.amazonaws.com

PuTTY:

1.    在类别窗格中,选择会话并填写以下字段:在主机名中,输入 EC2 实例的公有 DNS 主机名。在端口中,确保其值为 22

2.    在类别列表中,展开连接 > SSH,然后选择隧道。填写以下内容:在源端口中,输入您在创建 Neptune 集群时选择的端口,如 8182。在目的地中,输入 Neptune 集群终端节点和端口。示例:mydbcluster.cluster-123456789012.eu-west-1.neptune.amazonaws.com:8182.选择本地自动选项。

3.    选择添加,然后选择打开。在会话打开时会显示事件日志:

[timestamp] Local port 8182 forwarding to mydbcluster.cluster-123456789012.eu-west-1.neptune.amazonaws.com:8182

设置 Graphexp

1.    从 GitHub 下载 Graphexp 程序包

2.    在您的本地文件系统上提取 zip 文件。

3.    打开 scripts/graphConf.js 文件,并设置以下参数:

const host = "localhost";
const SINGLE_COMMANDS_AND_NO_VARS = true

在您的浏览器中访问 Neptune 图形

1.    在您的浏览器中,输入 graphexp.html 在未解压 Graphexp 目录中的路径。示例:file:///C:/Neptune/graphexp-master/graphexp-master/graphexp.html

2.    选择获取图形信息,然后选择搜索以加载并显示 Gremlin 图形。


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?