问题标签 [tinkergraph]

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 投票
1 回答
766 浏览

gremlin - 使用 gremlin 的遍历和来自 Graph 的方法之间的区别

假设我有以下简单的图表。

在此处输入图像描述

我看到了两种遍历此图的方法

选项1

我可以使用Graph类提供的以下 API

选项 2

我还可以使用此处记录的GremlinPipeline API

我的问题是

  • 为什么有两个 API?
  • 什么时候用哪一个?
  • GremlinPipeline 是否利用了使用TnkerGraph 的索引相关方法创建的索引?
0 投票
1 回答
422 浏览

graph - com.tinkerpop.blueprints.Graph 对象是线程安全的吗?

我有一个用例,我根据从多个数据存储中检索到的数据构建图表。这些数据存储中的每一个都有自己的客户端库,用于构建表示该特定数据存储数据的子图。

当前实现 因为我没有任何并发​​要求,所以我在服务层构建了一个 Graph 对象并将其传递给每个客户端库,它们将使用相同的 Graph 实例

新实施 - 满足 SLA

为了满足 SLA,我想同时从这些数据存储中提取数据。

  1. 在这种情况下,每个客户端库是否可以使用从服务层传递的相同 Graph 实例来构建子图?
  2. 或者有没有更好的方法来处理这个?

编辑

如何使用对象

  1. 客户端发送 REST 请求以提取人员数据
  2. 人员数据存储在 3 个不同的数据存储中
  3. 服务层创建一个实例com.tinkerpop.blueprints.impls.tg.TinkerGraph并在 3 个不同的线程之间共享它,同时在 3 个不同的线程上从 3 个不同的存储中检索数据。每个线程还负责将拉取的数据添加到共享Graph 实例中。
0 投票
2 回答
640 浏览

orientdb - 基于 Java 的 OrientDB 边缘索引

有没有办法使用 Java API 访问 OrientDB 中的边索引以确定具有给定标签的边是否存在于两个已知顶点之间?

Afaik tinkergraph 没有为此公开任何方法?

我相信 Neo4j 提供了这样的 API:

0 投票
1 回答
139 浏览

java - 从 tinkergraph 进行多线程读取

尝试从 tinkergraph 进行多线程读取时,我遇到了非常奇怪的行为。我有以下情况:

verticesAdded是我在此randomGraph(graph)过程中添加的一组顶点。一旦有了这个列表,我就会检查这个顶点的内部属性,并根据该属性将顶点传递给线程以进行一些额外的工作。我遵循的过程大致是:

上面的代码在完全是单线程的情况下可以工作,但是一旦我引入了线程池,我就会遇到各种奇怪的错误。包含:

  1. 顶点属性"type"不存在。
  2. java.lang.IndexOutOfBoundsException: Index: 0, Size: -1尝试访问某些顶点属性时。
  3. 验证规则在最初通过时失败。

从 tinkergraph 进行多线程读取时有什么微妙之处吗?

编辑:

我将尝试简化问题:以下工作:

虽然上面的多线程版本因 TinkerGraph 失败(同样适用于支持事务的 Titan),但在从图中读取时返回不一致的结果。

0 投票
2 回答
180 浏览

erlang - erlang 通过 REST 连接到 tinkerpop

  1. 在 Tinkerpop 或 Titan 文档中,所有操作都基于示例图。如何创建一个新的空图来处理?

  2. 我正在使用连接到 Tinkergraph 的 erlang 编程,计划稍后在生产中使用 Titan。两者都没有 erlang 驱动程序,所以我通过 REST 连接。从图形中读取很容易,但是如果我想从用户的输入中读取然后写入图形,例如,创建一个名为 teddy 的人:

截图 1

我得到了那些错误。正确的方法是什么?

谢谢你。

更新:对于以下情况:

23> 新人=特里。

特里

24> 新人。

特里

如果我想加这个毛圈,下面两个就不行了。正确的方法是什么?

截图 2

0 投票
0 回答
323 浏览

java - 删除 Gremlin 顶点时出现 NegativeArraySizeException

从 Gremlin (TinkerGraph) 图中删除顶点时,我间歇性地遇到以下异常:

导致问题的代码是(下面的最后一行是 172,抛出异常的地方):

难道我做错了什么?我正在努力可靠地重现此错误以进行调试,因为它似乎是间歇性的(并且不同的数据集在不同版本的 Java 下工作)。

0 投票
1 回答
993 浏览

gremlin - gremlin 服务器中 TinkerGraph 的容量是多少?

我已经为修补图运行了一个 gremlin 服务器会话。

在会话期间,我创建了许多顶点和边。目前,当我达到 180k 顶点和 350k 边时,服务器表现不佳。例如,它无法执行简单的查询:> g.V(999).values('name')

此外,当我关闭服务器时,它并没有成功地将内容写入graphLocation=data/db.kryo,如上所定义。所以我丢失了到目前为止创建的 180k 顶点和 350k 边的所有信息。

我想知道 TinkerGraph 和 gremlin 服务器的容量:

  • 它可以处理多少个图的边、顶点和大小?
  • 有什么办法可以避免在关闭服务器并将内容写入文件时丢失数据?
  • 我应该考虑使用非内存图吗?例如,neo4j。
0 投票
1 回答
2074 浏览

java - 在 Gremlin 中,map() 是如何工作的?

为什么这两个会产生不同的结果?

相比

为什么我更喜欢 map 而不是直接调用 .out() 方法?通过这种方式,我可以组织我的代码,在那里我可以从方法和“映射”到现有遍历的遍历。

0 投票
1 回答
1175 浏览

gremlin - 如何在 Tinkerpop 中替换、合并或插入新边

当我尝试添加当前存在的边缘时,例如:

我收到这样的错误

在设置 gremlin 服务器或 tinkergraph 属性时,我是否可以使用任何设置来允许合并、更新或忽略重复的边?

0 投票
1 回答
760 浏览

graph - 无法通过 ID 访问特定顶点,在 Gremlin 控制台中使用 TinkerGraph

我无法通过执行来选择特定的顶点g.V(3640).valueMap(true).unfold()。任何在命令的括号之间包含 ID 的g.V()命令似乎都不起作用。

这就是我所做的:

我是图形数据库的新手,正在尝试使用 Gremlin 控制台。我首先创建了一个实例:

.graphml并通过导入数据库文件加载示例数据:

这似乎工作正常,因为计数给出了一个很好的结果

不幸的是,以下方法不起作用:

我认为这很奇怪,因为通过执行以下操作

ID似乎确实存在。任何想法为什么我无法访问特定 ID?我尝试了不同的命令,但g.V()似乎工作正常,g.V(3640)但没有。是因为我使用 TinkerGraph 而不是 Gremlin 数据库,这可能是什么问题?

编辑:

似乎我的 id 被保存为字符串,因为g.V("2").valueMap(true).unfold()确实给了我结果。