问题标签 [amazon-neptune]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
699 浏览

gremlin - 从顶点移除标签

Amazon Neptune 支持一个顶点的多个标签。虽然我可以向顶点添加新标签,但我找不到删除它的方法。

我发现

http://tinkerpop.apache.org/docs/current/reference/#_multi_label

AWS Neptune 不支持。


还尝试drop()诸如属性之类的标签不起作用。

海王星文档说:

但是这样你就只能添加标签,而不会删除标签。

我正在寻找某种方法,例如removeLabel()在不删除顶点的情况下删除标签。

0 投票
1 回答
499 浏览

amazon-web-services - 用于获取具有最短距离的所有相关顶点的最佳 Neptune 查询

我需要获取到给定顶点距离最短的所有相关顶点,这些距离不超过某个最大距离值。

我想出了以下最大距离为 4 的查询,但是否可以进一步优化此查询?也许在 Neptune 中有一些用于图距离搜索的算法?

g.V('XXX').repeat(both().dedup()).emit().times(4) .project('id', 'count').by(id()).by(path().count(local))

0 投票
1 回答
1531 浏览

performance - AWS 海王星性能

我正在将数据从我们的数据库(一个 rdf 存储数据库)传输到 AWS Neptune,我正面临一些性能问题。

我在与db.r4.largeNeptune 相同的 vpc 上有一个 Neptune 实例和 ec2 实例。

基本上,我正在尝试使用以下 http 请求将数据摄取到 Neptune <myinstance>:8182/sparql:.

实际上,我从我的 ec2 实例发送 http 请求,似乎 Neptune 处理时间很慢。此外,海王星的处理似乎不是并行的。

以下是我的测试和结果:

  1. 我向 Neptune 发送了以下请求:

    time curl -X POST -d @/tmp/my_file_32m.txt http://myneptune-poc.c0zm6uyrnnwp.us-east-1.neptune.amazonaws.com:8182/sparql

    /tmp/my_file_32m.txt包含 sparql 插入命令,这个请求的时间是34.037s海王星声称它花费的时间21.846 s

    real 0m34.037s
    user 0m0.044s
    sys 0m0.062s

    一个tcpdump罐头清楚地证明,收到来自海王星的响应延迟了 34 秒。

  2. 当我发送一个 100m 的数据时,花了超过 1 分钟。

  3. 当我并行发送相同的 32m 文件时,时间是 2 的倍数:

    time xargs -I % -P 8 curl -vX POST -d @/tmp/my_file_32m.txt "http://myneptune-poc.c0zm6uyrnnwp.us-east-1.neptune.amazonaws.com:8182/sparql" < <(printf '%s\n' {1..2})<

    real 0m57.752s
    user 0m0.137s
    sys 0m0.101s

    tcpdump清楚地看到请求是并行发送的,但是在 Neptune为这两个请求wireshark返回之前有大约 1 分钟的延迟。200 OK

    实际上,Neptune 的处理似乎不是并发的。

    请求是在时间 12 发送的,并且200 ok对于两个请求都是在时间 69 发送的,这恰好是 57 秒的延迟。

  4. 我试图将我的 Neptune 实例大小增加到db.r4.xlargedb db.r4.2xlarge,但我得到了相同的性能。

  5. 我尝试以某种gzip格式发送压缩数据以缩短时间,但 Neptune 似乎不支持它(检查wireshark请求是否已正确发送)。

我想听听您对我的测试和结果的看法:

  1. 为什么单个 http 请求的性能很慢?
  2. 为什么海王星的处理不是并行的?
0 投票
1 回答
577 浏览

java - 使用 Gremlin GraphFactory 连接到 AWS Neptune

AWS 文档中的示例显示了如何使用 Gremlin 连接到 AWS Neptune,如下所示:

但是,我当前连接到通用 Gremlin 图的代码如下所示:

有谁知道如何将第二种方法与 GraphFactory 一起使用来连接到 Neptune?我无法在任何地方找到任何示例。

0 投票
1 回答
358 浏览

gremlin - 基于另一个顶点属性更新

我想在增加时highScore根据用户更新 a 。score如果新增加score的大于highScore,则设置highScore= score

它似乎在lt(__.values("score")). 它将其解析为遍历而不是值。

com.amazon.neptune.tinkerpop.structure.NeptuneGraph$NeptuneGraphTraversal 不能转换为 java.lang.Integer

如何将当前值传递score到该谓词中?我试过添加.value(),.iterate().next()

0 投票
1 回答
374 浏览

amazon-web-services - AWS Neptune 的 Django 数据库驱动程序

是否有适用于 AWS Neptune 的 Django 驱动程序。因为我将在 Django 中使用 Neptune Graph DB,并且想知道是否有可用的驱动程序。

0 投票
1 回答
210 浏览

gremlin - 升级 gremlin 断开连接

使用gremlin javascript版本3.2.10,以下函数正确连接到我的 Neptune 集群:

如果我升级到版本^3.4.0,它会引发以下错误:

“错误:TypeError:无法读取未定义的属性'reader'”

这是在 NodeJS 上的 Lambda 函数中运行的8.10。文档似乎没有指出此版本中的任何新内容,AWS 也没有指定与 Neptune 的兼容性问题。我有这个错误配置吗?

编辑:添加堆栈跟踪

0 投票
1 回答
155 浏览

gremlin - 单个顶点上的 Gremlin 属性数学

我正在尝试对顶点的属性进行一些数学运算。我的解决方案适用于 Gremlin 控制台,但在 JavaScript 中运行时会引发错误。

在控制台中运行时,我得到了预期的结果:

但是,当我在 JS 中运行它时,会出现错误:

TypeError: __.project(...).by(...).by(...).by(...).math 不是函数

小鬼版本3.2.10。我已尝试升级到,但遇到了此处^3.4.0解决的单独问题。

0 投票
1 回答
2357 浏览

gremlin - gremlin 获取与给定节点直接或间接连接的所有节点

我是gremlin的新手。

我正在尝试获取(直接或间接)连接到给定顶点的所有节点。
例如:
图中这样的一个集群。
AD
AF
FB
BC
BG
GH
GI

图中的第二个集群是这样的。
杰克
JL

我的要求当我搜索节点“B”时,我只需要获取 B 的所有连接顶点(无边方向)。
前输出:A,D,F,B,C,G,H,I

当我搜索 J.
ex outpu:J,k,L

任何帮助将不胜感激,在此先感谢。

0 投票
1 回答
321 浏览

gremlin - Issue with .project().by() in Gremlin JS 3.4.0

I'm seeing .project().by() traversals returning {} under Gremlin JS 3.4.0. When I downgrade to 3.2.10 they work correctly.

result:

but when I downgrade to Gremlin 3.2.10 the result is correct:

Do I need to change how I use project in 3.4.0?

EDIT: Results from testing against different versions. I ran each test for a gremlin version, captured results, then bumped up the version and ran the tests again. I am only running a single Neptune instance so we can be sure this is the same data.

enter image description here

A failing test means it returned data in the form of:

For the console testing I removed the final .next().

The environment I am testing in is:

AWS Lambda Node 8.10

AWS Neptune 1.0.1.0

EDIT 2: Adding JS files used during Neptune test.

index.js

package.json