本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Node.js 连接到 Neptune 数据库实例
如果可以的话,请始终使用您的引擎版本支持的最新版本的 Apache TinkerPop JavaScript Gremlin 客户端 gremlingremlin
要使用的版本通常与表中描述的 Java Gremlin 客户端 TinkerPop 版本一致。
以下部分将指导您完成 Node.js 示例的运行,该示例连接到 Amazon Neptune 数据库实例并执行 Gremlin 遍历。
您必须在 Neptune 数据库EC2实例所在的虚拟私有云 (VPC) 中的 Amazon 实例中按照这些说明进行操作。
开始之前,请执行以下操作:
验证是否已安装 Node.js 版本 8.11 或更高版本。如果没有,请从 Nodejs.org 网站
下载并安装 Node.js。
使用 Node.js 连接到 Neptune
-
输入以下命令以安装
gremlin-javascript
程序包:npm install gremlin
-
创建名为
gremlinexample.js
的文件并在文本编辑器中打开它。 -
将以下内容复制到
gremlinexample.js
文件中。Replace(替换)your-neptune-endpoint
以及您的 Neptune 数据库实例的地址。有关查找 Neptune 数据库实例的地址的信息,请参阅连接到 Amazon Neptune 端点部分。
const gremlin = require('gremlin'); const DriverRemoteConnection = gremlin.driver.DriverRemoteConnection; const Graph = gremlin.structure.Graph; dc = new DriverRemoteConnection('wss://
your-neptune-endpoint
:8182/gremlin',{}); const graph = new Graph(); const g = graph.traversal().withRemote(dc); g.V().limit(1).count().next(). then(data => { console.log(data); dc.close(); }).catch(error => { console.log('ERROR', error); dc.close(); }); -
输入以下命令以运行示例:
node gremlinexample.js
上述示例通过使用 g.V().limit(1).count().next()
遍历返回图形中的单个顶点的计数。要查询其他内容,请将其替换为具有其中一种适当的结尾方法的其他 Gremlin 遍历。
注意
要将遍历提交到服务器进行评估,需要 Gremlin 查询的最后一部分 next()
。如果您未包含该方法或其它等效方法,该查询将不会提交到 Neptune 数据库实例。
以下方法将查询提交到 Neptune 数据库实例:
toList()
toSet()
next()
nextTraverser()
iterate()
如果您需要序列化并返回查询结果,请使用 next()
,否则请使用 iterate()
。
重要
这是独立的 Node.js 示例。如果您计划在 AWS Lambda 函数中运行这样的代码,请参阅Lambda 函数示例,了解有关在 Neptune Lambda 函数中 JavaScript 高效使用的详细信息。