问题标签 [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.
java - 在多线程中使用泰坦图的最佳实践是什么?
我用 Spring Boot 构建了一个 Web 服务。我将泰坦图用作跨 Web 服务访问的单例。因此,如果对 Web 服务有多个请求,Web 服务器将产生线程来处理请求,并且在这些线程中将使用泰坦图。这种方法有什么问题吗?我使用的是 Titan graph 1.0.0 和 tinkerpop 3.0.1-incubating。所以泰坦图对我来说很新,我不知道在多线程中使用泰坦图是否有任何冲突。如果这种方法有问题,那么在多线程中使用泰坦图的最佳实践是什么?感谢您的帮助。
titan - Gremlin-Server REST API 中的查询比 Gremlin Shell 慢
我正在使用 tinkerpop3 gremlin server。
我执行一个简单的查询(使用标准 REST api)来获取顶点的边缘。
当有很多结果(大约 2000-3000)时,查询很慢,20 多秒才能得到 JSON-results 响应。
有趣的是,当我使用 gremlin shell 运行相同的查询时,接收边缘对象结果大约需要 1 秒!
我不确定,但我怀疑 gremlin-server 的 JSON 解析器(我正在使用 GraphSon)可能有问题(可能非常慢)。
有任何想法吗?谢谢
cassandra - Gremlin-Server Cassandra
我开始与 Titan 合作,我使用 cassandra 作为后端存储。
当我启动 titan.sh cassandra 和 elasticsearch 时,gremlin 服务器没有启动。
我正在查看 titan.sh,我看到它使用 conf/gremlin-server/gremlin-server.yaml 启动 gremlin 服务器。问题是 gremlin-server.yaml 配置如下: graphs: { graph: conf/gremlin-server/titan-berkeleyje-server.properties}
使用 BerkeleyDb。我还没有看到 Gremlin Server 的 cassandra.yaml。
如何为 Cassandra 配置它?
谢谢
garbage-collection - Gremlin-Server 占用过多内存并挂起
我正在使用 gremlin-server (v3.02) 和 titan-hbase。我使用的是默认配置设置。服务器是 8GB 内存和 4 核。
经过几个小时的工作,服务器停止响应查询请求.. 必须说服务器上的请求强度不高,几乎是中低(每小时几个请求,可能低于那个)。
当检查 gremlin 的最后一条服务器日志消息时,我看到它与 Hbase 会话超时有关,并重试重新连接 hbase。
此时服务器 CPU 和内存为 90-100%。
Redhat 上的 JDK 1.8.0_45-b14 64bit
使用 jstat -gc 我可以将所有时间都花在 GC 上,oldgen 也是 100%。
我已经设置了“-Xmx 8g”,但是 htop 中的虚拟内存高达 12g,通过 xmx 的一些测试,我发现虚拟内存总是大约为“-Xmx + 4g”。
Jmap -histo 给了我大约 2g 的 [B (Byte[]) 以及 CacheRelation 的 gig 和 CacheVertex 的 gig。
重新启动 gremlin-server 后,一切恢复正常,并再次工作。
有任何想法吗?
gremlin - TinkerPop3 - 在边缘之间找到相同的属性
我正在尝试从现代图中创建的具有相同边属性(权重:0.4)的顶点输出。
谢谢。
titan - Titan 检索顶点属性
我在高度多线程的环境中创建图表,但遇到了一个奇怪的错误。在运行时,我有时会收到一个错误,即我尝试访问的属性不存在。
为了解决这个问题,我在发生错误时设置了一个断点,并发现了一些奇怪的行为。
当我运行时:
我看到了我期望的所有属性的列表,例如"PROP1"
、"PROP2"
和"PROP3"
。但是,当我运行以下命令时:
我收到该属性不存在的错误。更奇怪的是,它vertex.property(xxx).value();
适用于其他属性"PROP2"
和"PROP3"
. 什么会导致这种奇怪的行为?
titan - 如何通过 gremlin 路径仅带来完整路径?
我的 gremlin 查询如下所示:
结果:
但我不希望结果中有中间路径。我只需要两条完整的路径:例如:
有任何想法吗?
groovy - 将 Neo4j 导入 TitanDB
我试图通过使用这个片段来实现这一点,
但class org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph
不支持图形计算机。
有没有其他方法可以做到这一点?
titan - 在 Titan 1.0 上批量删除边缘
我有一长串边缘 ID(大约 120 亿个),我愿意从我的 Titan 图(托管在 HBase 后端)中删除它们。
我怎样才能快速有效地做到这一点?
我尝试通过 Gremlin 去除边缘,但这对于那么多边缘来说太慢了。
是否可以直接在 HBase 上执行 Delete 命令?我该怎么做?(如何组装要删除的密钥?)
谢谢
graph-databases - 如何在 Titan Graph 数据库上实现 A*?
我使用 Titan 1.0.0 和 Cassandra 作为后端。
我有位置数据(纬度,经度)作为这些节点之间的节点和边。我想找到从节点 A 到节点 B 的最短路径。图非常大。目前我正在使用此查询来查找两个节点之间的路径。
这个查询效率很低,并且路径大小超过 10 时会出现内存错误。在阅读了最短路径算法之后,我知道实现 A* 将比实现 Dijkstra 更可行,因为将探索更少的图。
现在我可以使用 JUNG 并将 TitanGraph 加载到内存中并实现我自己的 A* 以获得最短路径。但我不希望整个图表都在内存中。
请建议我如何在 TitanGraph 上实现 A*。我应该使用 API 查询图形,还是应该先将图形加载到内存中,然后在内存图形上运行 A*。
我也会感谢任何其他建议。