问题标签 [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.
graph-databases - Titan db的嵌套遍历gremlin查询
我想知道如何有一个以嵌套格式返回结果的 gremlin 查询。假设有如下属性图:
USER
以及PAGE
具有某些属性的顶点,例如AGE
for USER
vertex;
FOLLOW
USER
和之间的边缘PAGE
;
我正在寻找一个有效的查询,它为所有年龄大于 20 岁的用户以及这些用户所关注的所有页面提供信息。我可以使用应用程序端的一个简单循环来做到这一点,并且每次迭代都使用一个简单的遍历查询。不幸的是,这种解决方案对我来说效率不高,因为它会产生大量查询,并且在这种情况下网络延迟可能会很大。
elasticsearch - Titan 1.0[Berkeley+ES] - ES索引延迟更新
Titan 1.0 [Berkeley+ Remote Elastic Search] 我们使用的是 Titan 的这种组合。以下是属性文件 -
我们只使用混合索引。
现在我们通过 Java 代码添加一个具有少量属性的节点,然后获取它。
我们通过在其上创建混合索引的属性进行查询。
当我们通过键(创建混合索引)查询节点时,我们不会立即获取节点。但是,它会在延迟后可用。
我们做错了什么?还是预期会延迟更新 ES 实例?
这是Java代码。
创建索引的代码是 -
graph-databases - 如何使用 Tinkerpop 3 找到顶点之间的最短路径,但对搜索深度有限制?
我试图在 Tinkerpop 3 中找到两个顶点(fromNode 和 toNode)之间的最短路径,其限制是我需要在某个深度 N 处停止搜索。没有这个限制,我将永远无法完成,因为图表太大.
到目前为止,这是我能想到的最好的:
这个问题以及我尝试过的所有其他方法都是长度为 N 的路径作为结果返回,即使它们没有到达 toNode。
我需要返回 fromNode 和 toNode 之间长度为 N 或以下的所有路径。
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 无法执行连接的大数据?
gremlin - Gremlin:如何在图中获取重复项?
假设我有一个带有属性的顶点的图name
,什么是获取所有具有相同名称的顶点的 Id 的好方法。
扩展这一点,如果我有一个带有day
和month
属性的图,如何返回这些共享相同值的顶点的 ID。
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 代码中使用?
python - 没有这样的属性:V 类:
我正在尝试使用名为goblin的最新 OGM 。我阅读了示例,基本上我只想执行一个简单的查询: MyVertex.all() 应该返回“myvertex”类型的所有顶点,但我得到了
这是我正在做的事情:
amazon-dynamodb - Titan - 具有混合索引的 has() 的奇怪行为
我有一个带有 ES 后端和 DynamoDB 的 Titan 图,用于持久性。
方法has("mykey", "value")
从不检索顶点。在查询mykey
由 Elasticsearch 索引的 a 时,它总是不返回任何内容。索引已更新并启用。
运行此查询时,
我尝试了一个技巧来让它工作
这似乎是某个地方的问题,但不确定具体在哪里。对此有什么想法吗?
titan - Titan Gremlin 服务器给出错误“不是 WebSocket 握手请求:缺少升级”
我从 url 下载了 EC2 服务器上的 Titan 1.0 版
然后我解压缩并使用以下命令运行 Titan 服务器:
bin/titan.sh 启动
然后我尝试从 Titan 1.0 版本中的 HTTP 请求(在 Titan 0.4 版本中 Rexster 工作正常)但我得到以下错误
graph - 如何在 Gremlin 服务器中更新 Vertex 的值(Titan 1.0)
我有一个具有以下详细信息的顶点:
我想更新顶点的名称:
我尝试了以下查询:
gV(4192).setProperty('name','William')
但它没有更新,它给出了错误