问题标签 [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.
amazon-web-services - AWS Lambda + Tinkerpop/Gremlin + EC2 上的 TitanDB + 云中的 AWS DynamoDB
我正在尝试执行以下流程:
用户点击 AWS Gateway (REST),
它触发 AWS Lambda,
使用 Tinkerpop/Gremlin 连接到
EC2 上的 TitanDB,它使用
云中的 AWS DynamoDB(不在 EC2 上)作为后端。
现在,我已经设法在 EC2 上创建了完全正常工作的 TitanDB 实例,该实例将数据存储在云中的 DynamoDB 中。我也可以通过 Tinkerpop/Gremlin 从 AWS Lambda 连接到 EC2,但只能通过这种方式:
这很有效,但是我更喜欢使用“Criteria API”(GremlinPipeline)而不是简单的 Gremlin 语言。换句话说,我需要 ORM 或类似的东西。我知道,Tinkerpop 包含它。我已经意识到,我需要的是类 Graph 的对象。这是我尝试过的:
但是,它会抛出“找不到实现类:com.amazon.titan.diskstorage.dynamodb.DynamoDBStoreManager”。当然,计算机是正确的,因为 IntelliJ IDEA 也找不到它。
我的依赖:
我的目标是什么:拥有完全正常工作的 Graph 对象
我的问题是什么:我没有 DynamoDBStoreManager 类,也不知道我必须添加什么依赖项。
我的另一个问题是:为什么通过 Cluster 类连接只需要 IP 并且可以工作,但 TitanFactory 需要像我在 EC2 上的 gremlin-server 上使用的那些属性?我不想创建第二个服务器,我只想作为客户端连接到它并获取 Graph 对象。
编辑:添加解析器后,它会构建,在输出中我得到多个:
13689 [TitanID(0)(4)[0]] 警告 com.thinkaurelius.titan.diskstorage.idmanagement.ConsistentKeyIDAuthority - 获取 id 块时出现临时存储异常 - 在 PT2.4S 中重试:com.thinkaurelius.titan.diskstorage.TemporaryBackendException:在 PT0.342S 中为 id 块 [1, 51) 编写声明 => 太慢,阈值为:PT0.3S
并且执行挂在 open() 方法上,因此不允许我执行任何查询。
hadoop - 在titan/cassandra 图上实现OLAP
我在顶级 cassandra 上使用 Titan 1.0.0。我想在 Titan/cassandra 图上使用 SparkGraphComputer 使用 OLAP 服务。我有两个问题
1)怎么做?
gremlin 代码:
错误:
这是完整的跟踪: http: //pastebin.com/CiuXjFB2
2)当数据已经存储在titan/cassandra上时,为什么要转换为hadoopGraph?参考资料: https ://groups.google.com/forum/#!topic/gremlin-users/fVijONCxvSI
datastax - DataStax/Tinkerpop - 删除属性的能力
我正在寻找一种方法来删除架构中的propertyKey。此处的文档说明了如何添加属性,但没有关于删除的信息。这是否意味着不可能?
由于 DataStax 依赖于支持表更改的 Cassandra,我想有一些方法可以实现这一点,否则如何处理可以添加或删除属性的动态模式?
编辑:为了更清楚,我想删除模式和数据中的属性。ALTER DROP
与SQL 中的完全一样:
amazon-dynamodb - Gremlin-Server 添加具有多个属性的顶点 (Titan 1.0.0)
我正在创建一个 Titan 图(由 Dynamodb 支持);我正在使用 Titan 1.0.0 并运行 Gremlin-Server 3(在 TinkerPop3 上)。
我正在尝试将一个顶点添加到我的图形中,并在一行中添加一个标签和多个属性。我可以添加带有标签和单个属性的顶点,并且可以在创建顶点后将多个属性添加到顶点,但似乎我不能一次完成所有操作。
为了进行测试,我在 gremlin shell 中运行命令,但最终用例是通过 REST api 与它进行交互(已经可以正常工作)。
作为说明,我在每笔交易后都回滚,所以我有一个干净的名单。
这是我开始会话的方式:
我可以创建一个带有标签和单个属性的顶点,如下所示:
我还可以创建一个顶点,然后从我刚刚创建的顶点开始遍历,然后附加许多属性:
这一切都很好,但我试图避免进行 2 次调用来实现这个结果,所以我想一次创建具有所有这些属性的顶点。本质上,我希望能够执行以下操作,但它失败了超过 1 .property()
:
我也尝试过使用 1.property()
和多个属性(以及我能想到的所有其他语法变体),但它似乎只抓住了第一个:
我已经查看了所有我可以从我能找到的所有来源获得的所有文档,但我找不到关于这种“一次性”方法的任何内容。有没有人这样做过或知道如何做到这一点?
提前致谢!
cassandra - 在 Titan-1.1.0-SNAPSHOT 中增加节俭帧大小的正确配置是什么
我使用 fulgora 图计算机在带有泰坦图的集群上执行 count 方法并得到这个常见错误:
Frame size (20769719) larger than max length (15728640)!
这可以通过在配置文件中指定来纠正:
storage.cassandra.frame-size-mb=60
但是,在指向相同数据的 hadoop 图上使用 SparkGraphComputer 时,我得到了相同的错误。我已经尝试了所有这些设置,但它们都不起作用:
titanmr.ioformat.conf.storage.cassandra.frame-size-mb=60
titanmr.ioformat.conf.storage.cassandra.frame-size=60
titan.hadoop.input.conf.storage.cassandra.thrift.frame-size=60
titan.hadoop.input.conf.storage.cassandra.thrift.frame-size-mb=60
storage.cassandra.thrift.frame-size=60
storage.cassandra.thrift.frame-size-mb=60
有谁知道当前的正确设置?
java - Tinkerpop3 连接到远程 TitanDB 服务器
我正在尝试使用 Java 中的 Tinkerpop3 作为客户端从已经运行的 TitanDB 服务器获取 Graph 对象(我不想创建服务器)。
换句话说,我正在尝试实现这样的功能:
我试图这样做: AWS Lambda + Tinkerpop/Gremlin + TitanDB on EC2 + AWS DynamoDB in cloud
但据我了解,TitanFactory.open()
启动服务器,我不想这样做 - 我只想连接到现有服务器。
文档以及 Internet 中的大多数材料都使用内存图作为示例,但我找不到显示如何:
创建新图形并将其保存在远程服务器上
从远程服务器检索现有图形
更新这样的远程图,所以在添加/删除边缘后提交更改
删除整个图
我不想通过 Gremlin 语言(字符串)做上述事情,而是通过 Java API(TinkerpopBlueprins)。这个人正在接近我需要的东西:
在 Java 中将顶点添加到 TitanDB Graph
然而,他的方法已经Graph
作为参数。
我在互联网上的很多地方都看到过 GraphFactory.open() 获取属性文件的路径,但是我还没有看到此类文件内容的示例,尤其是 TitanDB 相关数据,所以我更喜欢使用Configuration
对象。
说,没有 gremlin.graph 属性。
说GraphFactory
找不到 [titan] - 确保 jar 在类路径中
是否有任何带有枚举和常量的静态类型构建器,而不是Map<String, Object>
,它会告诉我,我必须提供哪些属性以及它们的类型是什么?是否有任何开源项目,它使用 Tinkerpop3 作为客户端连接到远程 TitanDB 服务器,我可以用作示例?
我希望看到完整的工作示例,而不是具有外部配置的内存。
titan - 使用 SparkGraphComputer 遍历 Titan 集群会抛出错误
我使用 tinkerpop-3.1.1、titan-1.1.0-SNAPSHOT、spark-1.5.2 和 hadoop-2.7.1 设置了一个集群,并运行此脚本以重现错误:
最后一次调用会产生这个错误:
奇怪的是,hadoop-gryo.properties 图(诚然在我执行的机器上是本地的)可以执行所需的遍历。仅当我尝试执行任何遍历而不是指望指向 Titan 集群的 hadoop 图时才会发生该错误(我已在末尾附加了配置)。这是一个错误,还是我错过了一个设置?
graph - DSE Graph 认证错误
在全新安装时,DSE Graph 向 Gremlin 控制台抛出错误,抱怨身份验证配置。
Gremlin 控制台正常启动:
但是当你尝试对 Gremlin Server 进行任何操作时,你会得到一个错误:
问题是:如何克服这个错误?
这已经尝试过了:
- 在 dse.yaml 中取消激活 Kerberos 身份验证
- 将 krb5.conf 重置为默认文件(DSE 沙箱中的文件)
orientdb - 使用 OrientDB-Gremlin 创建事务
我正在使用这个插件,以便我可以使用 tinkerpop 3.x 与 orient DB 交互。
我想知道如何创建不同的交易?
使用 TitanDB,它非常简单:
我用 OrientDB-Gremlin 尝试了以下操作:
并收到以下错误:
这是否意味着获得不同事务的唯一方法是在不同线程的范围内打开它们?