问题标签 [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.
gremlin - 从顶点移除标签
Amazon Neptune 支持一个顶点的多个标签。虽然我可以向顶点添加新标签,但我找不到删除它的方法。
我发现
http://tinkerpop.apache.org/docs/current/reference/#_multi_label
AWS Neptune 不支持。
还尝试drop()
诸如属性之类的标签不起作用。
海王星文档说:
但是这样你就只能添加标签,而不会删除标签。
我正在寻找某种方法,例如removeLabel()
在不删除顶点的情况下删除标签。
amazon-web-services - 用于获取具有最短距离的所有相关顶点的最佳 Neptune 查询
我需要获取到给定顶点距离最短的所有相关顶点,这些距离不超过某个最大距离值。
我想出了以下最大距离为 4 的查询,但是否可以进一步优化此查询?也许在 Neptune 中有一些用于图距离搜索的算法?
g.V('XXX').repeat(both().dedup()).emit().times(4)
.project('id', 'count').by(id()).by(path().count(local))
performance - AWS 海王星性能
我正在将数据从我们的数据库(一个 rdf 存储数据库)传输到 AWS Neptune,我正面临一些性能问题。
我在与db.r4.large
Neptune 相同的 vpc 上有一个 Neptune 实例和 ec2 实例。
基本上,我正在尝试使用以下 http 请求将数据摄取到 Neptune <myinstance>:8182/sparql
:.
实际上,我从我的 ec2 实例发送 http 请求,似乎 Neptune 处理时间很慢。此外,海王星的处理似乎不是并行的。
以下是我的测试和结果:
我向 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 秒。当我发送一个 100m 的数据时,花了超过 1 分钟。
当我并行发送相同的 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 秒的延迟。我试图将我的 Neptune 实例大小增加到
db.r4.xlarge
dbdb.r4.2xlarge
,但我得到了相同的性能。- 我尝试以某种
gzip
格式发送压缩数据以缩短时间,但 Neptune 似乎不支持它(检查wireshark
请求是否已正确发送)。
我想听听您对我的测试和结果的看法:
- 为什么单个 http 请求的性能很慢?
- 为什么海王星的处理不是并行的?
java - 使用 Gremlin GraphFactory 连接到 AWS Neptune
AWS 文档中的示例显示了如何使用 Gremlin 连接到 AWS Neptune,如下所示:
但是,我当前连接到通用 Gremlin 图的代码如下所示:
有谁知道如何将第二种方法与 GraphFactory 一起使用来连接到 Neptune?我无法在任何地方找到任何示例。
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()
amazon-web-services - AWS Neptune 的 Django 数据库驱动程序
是否有适用于 AWS Neptune 的 Django 驱动程序。因为我将在 Django 中使用 Neptune Graph DB,并且想知道是否有可用的驱动程序。
gremlin - 升级 gremlin 断开连接
使用gremlin javascript版本3.2.10
,以下函数正确连接到我的 Neptune 集群:
如果我升级到版本^3.4.0
,它会引发以下错误:
“错误:TypeError:无法读取未定义的属性'reader'”
这是在 NodeJS 上的 Lambda 函数中运行的8.10
。文档似乎没有指出此版本中的任何新内容,AWS 也没有指定与 Neptune 的兼容性问题。我有这个错误配置吗?
编辑:添加堆栈跟踪
gremlin - 单个顶点上的 Gremlin 属性数学
我正在尝试对顶点的属性进行一些数学运算。我的解决方案适用于 Gremlin 控制台,但在 JavaScript 中运行时会引发错误。
在控制台中运行时,我得到了预期的结果:
但是,当我在 JS 中运行它时,会出现错误:
TypeError: __.project(...).by(...).by(...).by(...).math 不是函数
小鬼版本3.2.10
。我已尝试升级到,但遇到了此处^3.4.0
解决的单独问题。
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
任何帮助将不胜感激,在此先感谢。
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.
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