问题标签 [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 投票
1 回答
1487 浏览

graph - KryoException:缓冲区太小

我正在使用 Gremlin 3.0.2 和 Titan 1.0.0。

我发送到 Gremlin 服务器的请求将返回节点列表及其属性。实际上,它是一个项目列表,如下所示:

在一种情况下,一个请求将返回 38 个与上述类似的项目,一切都很好。在另一种情况下,列表将包含 56 个这样的项目,我得到以下异常:

这个问题去年已经在这里讨论过了。但是,对于不同版本的 Titan 以及将数据写入 Titan,而不是像这里那样读取。

我没有看到任何编程方式来调整(反)序列化器的缓冲区大小,那么处理这个问题的首选方法是什么?此外,将一些限制(哪个?,在哪里?)设置为更高的值只能是一个临时解决方案,因为我永远不知道请求将返回多少数据。

无论如何 - 我收到的数据量相当小(可能比 8500 字节多一点)。我很惊讶这个异常被抛出了?

0 投票
1 回答
411 浏览

graph - 如何在 Gremlin Server (Titan 1.0) 中形成内部子查询?

我正在使用以下查询:

它给出以下结果:

我也想在响应中获取顶点“NotificationInitiatedByVertexId”(边缘属性)的信息。为此,我尝试了以下查询:

注意:我直接尝试在子查询中使用顶点 ID,因为我不知道如何从查询本身的边缘属性中动态获取值。

它给出了错误。我尝试了很多,但找不到任何解决方案。

0 投票
1 回答
650 浏览

graph - 如何使用 Gremlin 删除图形模式

这个问题指的是 Gremlin 3.0.2。

我想删除图形的架构以清除后端存储中的所有元数据

使用 Java 与 Titan 对话可以编写

Gremlin 中是否有类似的简单功能?为了更清楚地说明,这并不是要删除图形的所有顶点和边。这在这一点上已经完成了。

0 投票
1 回答
627 浏览

elasticsearch - Titan 1.0 混合索引不适用于警告 - 查询需要遍历所有顶点

我使用 Titan 1.0 和 elasticsearch 作为后端。从 Titan 文档中,我了解到使用 elasticsearch 时,我们在构建索引时使用了混合索引。这是我的用例和问题:我正在为书店的注册数据、我有注册时间的数据以及姓名和年龄等其他个人信息创建一个图形数据库。我想查询在给定时间范围内注册的所有用户,换句话说,我想要一个用于查询的数字比较函数。这就是我创建索引的方式:

timeIndex 已成功创建,但是,当我想查询注册时间时:

它给了我:

它给了我一个空的结果,尽管我用 gremlin 命令检查并确认数据就在那里。我做错什么了吗?我怎么解决这个问题?

0 投票
1 回答
243 浏览

tinkerpop3 - Blazegraph Tinkerpop 3 索引

我正在尝试了解 Blazegraph。目前我很困惑如何优化简单的查找。

假设我所有的顶点都有一个id唯一的属性。此属性由用户设置。有什么方法可以加快找到特定顶点的速度,id同时仍然坚持使用 Tinkerpop API?

此处定义的搜索 API是唯一的方法吗?

我以前的经验是在TitanDB中,在 Titan 的情况下,可以定义一个索引,Tinkerpop API 可以完美地集成。有什么方法可以在不使用搜索 API 的情况下在 Blazegraph 中实现相同的结果?

0 投票
0 回答
70 浏览

orientdb - (Tinkerpop) DAO 对象到模型对象之间的 FramedGraph 映射

我正在使用 OrientDb 2.2 和 TinkerPop FramedGraph。我使用 FramedGraph 是为了方便与对象模型交互,而不是做setProperty("name", "bob")

我对 FramedGraph 不了解的一件事是为什么我有无法实现的接口 DAO 对象?由于上述限制,我有重复的对象:tinkerpop DAO 接口和模型对象。

interface UserNode { private String firstName; private String lastName; }

class User { private String firstName; private String lastName; }

这在写入和读取大块数据时会产生重大开销。

List<User> fetchAllUsers() { Iterable<UserNode> userNodes = graph.query().vertices(UserNode.class); List<User> users = new ArrayList<>(); for (UserNode userNode: userNodes) { User user = new User(); user.setFirstName(userNode.getFirstName()); user.setLastName(userNode.getLastName()); users.add(user); } }

有没有办法避免上述低效率?

0 投票
4 回答
7508 浏览

gremlin - 如何在单个 gremlin 查询中添加多个边?

我的场景是在单个查询中的顶点之间添加多条边:

假设以下节点:这些是我拥有的标签和 ID

用户

4100

歌曲

4200

4355

4676

我必须在这些顶点之间建立边

我们可以通过在节点之间创建一条边来正常地做到这一点。如果我们想一次在超过 50 个顶点之间创建边,这不是一种有效的方法。我正在使用 Tinkerpop 3.0.1

0 投票
1 回答
591 浏览

gremlin - 如何在 Tinkerpop 3 中定义自定义步骤?

Tinkerpop 2 曾经通过 Gremlin.defineStep(..) 支持用户定义的步骤

如何使用 Tinkerpop 3 达到同样的效果?

是否有任何 Gremlin API 来创建自定义步骤并组合一组遍历步骤?

任何建议将不胜感激。

谢谢卡尼斯卡

0 投票
2 回答
978 浏览

apache-spark - 使用 SparkGraphComputer 计算泰坦图上的顶点会引发 org.apache.spark.SparkException:作业因阶段失败而中止:

当尝试使用 SparkGraphComputer 计算集群上泰坦图上的顶点数时,我收到一个错误,我不知道如何处理。我在我的代码和集群上使用 tinkerpop 3.1.1-incubating 和 Titan 1.1.0-SNAPSHOT 我安装了 datastax community edition 2.1.11 和 spark 1.5.2-bin-hadoop2.6

我整理了一个最小的 Java 示例来重现我的问题:

使用 OLTP 和使用带有 FulgoraGraphComputer 的 OLAP 的计数返回正确答案。然而,使用 SparkGraphComputer 的 OLAP 计数会抛出 org.apache.spark.SparkException: Job aborted due to stage failure:

有趣的是,如果我通过与 Titan 打包在一起的 gremlin 控制台运行类似的脚本,我会因为似乎是相同的算法而得到不同的错误:

这会抛出org.apache.thrift.protocol.TProtocolException: Required field 'keyspace' was not present! Struct: set_keyspace_args(keyspace:null)两次,但会完成并返回 0,这是不正确的。

我知道邮件列表中有这篇文章,但我无法理解它或解决问题。谁能向我解释发生了什么以及如何解决这个问题?我在下面粘贴了我的配置。

编辑:此脚本将重现错误

0 投票
1 回答
98 浏览

scala - 使用 gremlin-scala 包装器将顶点写入 OrientDB

我正在使用"com.michaelpollmeier" %% "gremlin-scala" % "3.2.0.1"with"com.michaelpollmeier" % "orientdb-gremlin" % "3.2.0-incubating.1-SNAPSHOT"将一些域对象作为顶点存储到 OrientDB (v2.1.20)

我知道这是非常前沿的代码,但我想要一些指针来理解为什么驱动程序会抛出这个异常:

引起:com.orientechnologies.orient.core.exception.ODatabaseException:com.orientechnologies.orient.core.serialization.serializer.record.binary.OSerializableWrapper.fromStream(OSerializableWrapper.java:47) 处的可序列化反序列化错误。 orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.readSingleValue(ORecordSerializerBinaryV0.java:382) ... 13 更多原因:java.lang.ClassNotFoundException: com.esc.domain.Address

任何提示都会非常感谢发生了什么:)

最佳,爱德华多