- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我现在正在使用 Titan。
我想在我的 Titan 应用程序中使用 Tinkerpop 支持的“g.V().values()”,实现图形遍历。
在我看来,Tinkerpop 在使用此迭代器时将全局图加载到内存中。Titan 似乎直接调用此方法而不是覆盖。
那么,Titan 在执行 g.V() 时是否将完整的图形加载到内存中?
如果答案为真。当图形足够大时,我会担心内存大小。
最佳答案
In my view, Tinkerpop loads global graph into memory when using this iterator.
我不确定您是从哪里得出这个结论的,但 TinkerPop 界面的意图恰恰相反。实现 TinkerPop 接口(interface)的图形数据库应该利用Iterator
的内存节省功能,并明智地加载数据。我用斜体写“应该”,因为 TinkerPop 确实没有办法执行该要求。当调用 g.V()
时,没有什么可以阻止图形提供者将其数据库中的所有数据拉入内存。
就是说,我真的不知道有任何持久性(即不在内存中,图形已经驻留在内存中)TinkerPop 实现可以做到这一点,包括 Titan。如果是这样的话,泰坦将无法很好地扩展。当然,这并不意味着在使用 g.V()
的 OLTP 样式遍历中对十亿边图中的所有顶点执行全局检索将意味着您会获得良好的结果。如果它完全返回(即超时和其他环境问题),您将等待很长时间才能完成该遍历。对于全局图形查询,在这些情况下,您会希望使用 titan-hadoop 和 OLAP 风格的遍历。
关于java - 使用 Tinkerpop 的 g.V() 时,TitanDB 是否将完整的图形加载到内存中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40988221/
我想使用Java API来操作远程服务器上的图形,该服务器实际上位于localhost中。我用来连接服务器的代码是: JanusGraphFactory.Builder b = JanusGraphF
我的数据结构如下: { number: Integer letter: String } 我想像这样按两个属性进行分组计数: g.V().values('number', 'lette
我目前正在使用 TinkerPop Java API 进行图形遍历。目前我必须创建相同遍历的副本来计算计数。 Long allUsersCount = gt.V().hasLabel("user").
示例数据:TinkerPop Modern Graph 条件: vadas 是否在 2 跳内连接到 lop vadas 是否在 3 跳内连接到 peter vadas 是否在 1 跳 中连接到 doe
我研究 Tinkerpop 堆栈已有一段时间了。我想我很清楚它能做什么以及它适用于哪些数据库。我现在正在考虑几个不同的数据库,但还没有确定。所以我决定只为接口(interface)编写代码,现在不考虑
如果不遍历整个事物,我似乎无法在图中找到特定节点。有什么我想念的吗? 我正在使用 tinkerpop 蓝图。 Orientdb 为诸如“#8:1”之类的节点提供了某种无意义的 id - 我如何在不知道
给定一个树形结构的 TinkerPop 图,其顶点通过标记的父子关系 ([parent-PARENT_CHILD->child]) 连接,遍历并查找所有这些节点的惯用方法是什么? 我是图形遍历的新手,
我想匹配所有 b1,其中不存在节点 b2 ,如下所示。 这是某种 2 跳不对称性。请注意,不存在 b2 必须链接到与 b1 相同的 c:C,因此其他 >(a2) --> (b3) --> (a1) 可
有没有办法在创建顶点后设置T.label。我尝试了以下方法: Vertex v = graph.addVertex(); v.property(T.label.name(), "test"); 但是当
我是 Gremlin 的新手,我需要帮助来设置最佳查询以选择唯一和过滤的结果。 从一个 team 开始,我会得到每个 的 player (注意:每个玩家可以为多个团队效力)由 is_friends_w
我正在尝试遍历图形以追踪特定节点的沿袭。我希望我的查询以广度优先模式生成该节点的前因。注意,每个节点可以有多个父节点。该图可以有很多层,我想查看给定节点的所有级别的结果。我正在尝试跟进 this配方,
总结 我正在开发一个应用程序,该应用程序旨在跨 tinkerpop 支持的多个图形数据库工作 详情 根据我的研究,相同版本的 tinkerpop 库(gremlin-python)不适用于所有图形数据
执行以下遍历时: graph.addVertex("a") graph.addVertex("b") graph.addVertex("c") graph.traversal().V().range(
当我查询路径时,例如: g.V(1).inE().outV().inE().outV().inE().outV().path() path()中既有顶点也有边,请问有没有办法只计算路径中的顶点数而忽略
我目前正在阅读 The Practitioner's Guide to Graph Data 并试图解决以下问题(仅用于学习目的)。以下是书籍电影数据集的上下文,在此示例中,它使用了一个“标签”顶点、
我有一个非常简单的示例图,我正在尝试对其进行深度优先查询。假设图形边缘如下所示 A->B A->C B->D B->E C->F C->G 从 A 开始的深度优先搜索应该返回 A-B-D-E-C-F-
例如,给定这张图: gremlin> graph = TinkerFactory.createModern() (1) ==>tinkergraph[vertices:6 edges:6] greml
我第一次使用 Frames,但我的 Java 已经很生疏了。我坚持通过框架将信息写入数据库。我一直在关注文档并拥有一个 Person 界面。 public interface Person { @
给定一组 User 顶点,我需要找到连接到这些顶点的所有 Chat 顶点,但没有其他顶点。例如,只有 Alice 和 Bob 参与的所有聊天。查询应对结果进行排序,以便首先返回连接到最新消息的聊天。
我的 Java 应用程序中有一个图形遍历,在遍历完成后需要 300 毫秒以上才能填充路径对象。这很奇怪,因为它只发生在某些特定的遍历上,而其他遍历会立即填充它们的路径。以下是 Java 代码示例,使用
我是一名优秀的程序员,十分优秀!