问题标签 [tinkerpop3]

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 投票
2 回答
846 浏览

graph-databases - Titan db的嵌套遍历gremlin查询

我想知道如何有一个以嵌套格式返回结果的 gremlin 查询。假设有如下属性图:

USER以及PAGE具有某些属性的顶点,例如AGEfor USERvertex;

FOLLOWUSER和之间的边缘PAGE

我正在寻找一个有效的查询,它为所有年龄大于 20 岁的用户以及这些用户所关注的所有页面提供信息。我可以使用应用程序端的一个简单循环来做到这一点,并且每次迭代都使用一个简单的遍历查询。不幸的是,这种解决方案对我来说效率不高,因为它会产生大量查询,并且在这种情况下网络延迟可能会很大。

0 投票
1 回答
189 浏览

elasticsearch - Titan 1.0[Berkeley+ES] - ES索引延迟更新

Titan 1.0 [Berkeley+ Remote Elastic Search] 我们使用的是 Titan 的这种组合。以下是属性文件 -

我们只使用混合索引。
现在我们通过 Java 代码添加一个具有少量属性的节点,然后获取它。

我们通过在其上创建混合索引的属性进行查询。
当我们通过键(创建混合索引)查询节点时,我们不会立即获取节点。但是,它会在延迟后可用。
我们做错了什么?还是预期会延迟更新 ES 实例?
这是Java代码。

创建索引的代码是 -

0 投票
1 回答
297 浏览

graph-databases - 如何使用 Tinkerpop 3 找到顶点之间的最短路径,但对搜索深度有限制?

我试图在 Tinkerpop 3 中找到两个顶点(fromNode 和 toNode)之间的最短路径,其限制是我需要在某个深度 N 处停止搜索。没有这个限制,我将永远无法完成,因为图表太大.

到目前为止,这是我能想到的最好的:

这个问题以及我尝试过的所有其他方法都是长度为 N 的路径作为结果返回,即使它们没有到达 toNode。

我需要返回 fromNode 和 toNode 之间长度为 N 或以下的所有路径。

0 投票
0 回答
263 浏览

neo4j - 联合查询上的 Mysql vs Cypher vs Gremlin

我正在做一个项目,我必须根据过滤器进行实时推荐。我决定看一下graph db并开始使用neo4j并将它的性能与mysql进行比较。

行是关于:

mysql的查询看起来像:

在我的本地机器上,查询在大约 300 毫秒内执行。这可能是可以接受的,但对于实时处理来说,100 毫秒以下会更好。

我还在一些帮助下写了一个 thinkerpop3 查询:

查询执行大约 700 毫秒!

===== 编辑 =====

因为我想显示查询的分析,所以我得到了:

这表明 68% 的时间发生在没有索引的 gV() 上!

突然间,我试图找到一种方法来获得一个单一的起点,所以我做到了:

现在查询看起来像:

执行时间现在是 137 毫秒!

===== 结束编辑 =====

在我的情况下,Neo4j 比 mysql 慢...

所以我决定用这种天真的方法在密码中进行查询(感谢这篇文章):

我大约是 68614 毫秒!

我对graph db非常失望,但我不明白为什么,我在每个属性上都使用了索引并将java内存设置为4g左右,与mysql相比它卡住了,为什么?图数据库仅适用于 mysql 无法执行连接的大数据?

0 投票
2 回答
1115 浏览

gremlin - Gremlin:如何在图中获取重复项?

假设我有一个带有属性的顶点的图name,什么是获取所有具有相同名称的顶点的 Id 的好方法。

扩展这一点,如果我有一个带有daymonth属性的图,如何返回这些共享相同值的顶点的 ID。

0 投票
1 回答
434 浏览

groovy - 如何从 Gremlin (Tinkerpop) 中提取原始值以进行比较或操作

我知道我在这里遗漏了一些明显的东西。我正在尝试使用 Gremlin 从 TitanDB 中提取值,以便在 Groovy 中进行比较。

但显然我在这里实际上(错误地)做的是比较显然不起作用的遍历步骤:

无法将 org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal 与值 '[TinkerGraphStep(vertex,[name.eq(marko)]), VertexStep(OUT,[knows],edge), CountGlobalStep] 进行比较' 和 org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal 值为 '[TinkerGraphStep(vertex,[name.eq(lop)]), VertexStep(OUT,[knows],edge), CountGlobalStep] '

我在从属性中提取值以在 Groovy 中使用时也遇到了同样的问题。我在文档中没有看到任何指示如何设置这样的原始值的内容。

从 Gremlin 返回实际值需要什么,以便稍后在我的 Groovy 代码中使用?

0 投票
1 回答
276 浏览

python - 没有这样的属性:V 类:

我正在尝试使用名为goblin的最新 OGM 。我阅读了示例,基本上我只想执行一个简单的查询: MyVertex.all() 应该返回“myvertex”类型的所有顶点,但我得到了

这是我正在做的事情:

0 投票
2 回答
100 浏览

amazon-dynamodb - Titan - 具有混合索引的 has() 的奇怪行为

我有一个带有 ES 后端和 DynamoDB 的 Titan 图,用于持久性。

方法has("mykey", "value")从不检索顶点。在查询mykey由 Elasticsearch 索引的 a 时,它总是不返回任何内容。索引已更新并启用。

运行此查询时,

我尝试了一个技巧来让它工作

这似乎是某个地方的问题,但不确定具体在哪里。对此有什么想法吗?

0 投票
1 回答
2397 浏览

titan - Titan Gremlin 服务器给出错误“不是 WebSocket 握手请求:缺少升级”

我从 url 下载了 EC2 服务器上的 Titan 1.0 版

Titan 1.0.0 与 Hadoop 1 - 推荐

然后我解压缩并使用以下命令运行 Titan 服务器:

bin/titan.sh 启动

然后我尝试从 Titan 1.0 版本中的 HTTP 请求(在 Titan 0.4 版本中 Rexster 工作正常)但我得到以下错误

不是 WebSocket 握手请求:缺少升级Titan 1.0 HTTP 请求错误

0 投票
2 回答
11396 浏览

graph - 如何在 Gremlin 服务器中更新 Vertex 的值(Titan 1.0)

我有一个具有以下详细信息的顶点:

http://localhost:8182/?gremlin=gV(4192)

我想更新顶点的名称:

我尝试了以下查询:

gV(4192).setProperty('name','William')

但它没有更新,它给出了错误