问题标签 [tinkerpop-blueprint]
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.
graph - 如何为以下模式编写 Gremlin 查询?
我有一些微型 Gremlin 有向图,其中每个顶点都有两个属性“类型”和“文本”。“text”属性的值只是英文文本,而“type”属性可以有一个从这个集合中选择的值:
这些图中的所有边都具有相同的标签:“下一个”。
我希望能够选择具有以下节点模式的图形:
括号中的模式元素表示它是可选的。
因此,对于第一个模式,我需要选择具有文本节点的图形“,可选,然后是类型为“VP”的节点,然后是“ADVP”,然后是“NP”。
对于第二种模式,我需要选择具有节点类型“NP”的图形,然后是一个可选的节点序列,从一个带有文本的节点“,”开始,然后是最多 3 个带有任何文本和类型的节点,然后是一个带有文本的节点“,”。该可选序列之后是“VP”类型的节点,最后是带有文本“:”或“that”的节点。
与第一个模式匹配的两个示例图是:
我了解基本的 Gremlin 遍历,但我不确定如何处理上述模式的可选元素。
有什么方法可以在 Gremlin 中为此类模式编写查询?如果没有,您能否建议一种基于非 Gremlin 的方法来创建此类图表并查询它们?
java - Titan 关于图创建的 IllegalArgumentException
当我尝试在蓝图中实例化我的图表时出现初始化错误。这是我用来创建新图表的代码:
正在设置系统属性并且文件存在。TitanFactory 中抛出错误:
评估表达式 GraphDatabaseConfiguration.STORAGE_NS 会产生“null”。为什么会这样?
编辑:
我也包括堆栈跟踪
当 Maven 运行测试时,它会引发不同的错误。这看起来与依赖关系有关。
cassandra - 不使用 gremlin 从带有 cassandra 后端的 Titan 图加载数据。
我已经使用带有 java 的 blueprint api 在 Titan(cassandra 后端) 中添加了数据。我在java中使用以下配置来插入数据。
现在我正在尝试使用 gremlin 查询该数据库。我使用以下 cmd 加载它
以下是我的 cassandra.local 文件
但是当我运行“gV”时,我得到的是空图。请帮忙
谢谢
java - Titan Cassandra - 幽灵顶点和不一致的读取行为,直到重新启动
从 Titan 中删除顶点会导致读取行为不一致。我在一台运行 Cassandra 的机器上测试这个,这是我的 conf.properties:
以下方法删除相应的顶点:
当调用以下方法时,它会返回两组不同的结果:
一个结果将符合预期 - 它不包含已删除的配置文件。但是,当我运行它足够多次时——它有时会包含一个额外的配置文件——被删除的那个。
再次尝试删除相同的顶点表明不存在具有该 'uuid' 的顶点,迭代器的 hasNext() 返回 false。
但是,重新启动程序后,它永远不会返回已删除的顶点。如何解决这种不一致的行为?
java - 如何模拟 Tinkerpop 蓝图 Vertex 和 Edge 对象?
有没有办法在 Java 中创建一个假的 Tinkerpop Bluerint Vertex 和 Edge 而不是数据库的一部分?
谢谢
json - 如何在 GRAPHSON(基于 JSON 的图形元素格式)中为顶点添加标签
参考链接
https://github.com/tinkerpop/blueprints/wiki/GraphSON-Reader-and-Writer-Library
如何在 json 文件中标记顶点,从而加快图形遍历。我正在使用泰坦图数据库。因此 GRAPHSON 将用于将 json 转换为图形实例并使用 gremlin 查询语言。因此,为了加快顶点的检索,我需要标记这些顶点以进行分类。如何添加标签?
}
java - OrientDB“找不到命令请求的命令执行器”错误
我最初将此作为错误发布在 OrientDB问题跟踪器上。但是,我不太确定这是一个错误......
基本上,当我从 IDE 运行项目时,一切正常,所有查询都能顺利执行。但是,当我使用打包项目时,maven-shade-plugin
我开始收到这些Cannot find a command executor for the command request:
错误,但仅针对查询的子集。在我pom.xml
的声明中:
我已将以下过滤器添加到阴影插件中,以尝试确保没有任何内容被剥离,但似乎并没有解决问题:
堆栈跟踪:
orientdb - 使用蓝图 -OrientDB 批量插入或更新顶点属性
我正在使用 OrientDB 2.1.4 和 blueprints-core-2.6.0。
我需要更新现有顶点上的值或创建新顶点(如果不存在)。(预计每 45 秒有 30k 个顶点)
我的顶点类是:Device(Name, Type, ActiveSessionCount) - 每个设备的“名称”是一个唯一的实体。
如果设备存在,则需要更新设备上的 ActiveSessionCount,否则创建一个新的设备顶点。
我正在尝试检查顶点是否存在,如果顶点已经存在,我已经获取了顶点对象以进行进一步更新,否则创建了一个新的顶点对象。
虽然,这行得通,但执行 30k 条记录需要几分钟,而我需要在 45 秒内完成。
java - Tinkerpop Blueprints 为图形设置 id/name
我正在使用蓝图创建一些图表,稍后以 GraphML 格式存储它们,并希望通过 id 或名称来识别它们。API是否提供类似的东西?
GraphML 文件(甚至是由蓝图创建的文件)看起来像
所以有一个id属性。
有没有办法将此属性设置为 Blueprints Graph 对象并将其放入创建的 GraphML 文件?或者如果没有:有没有比从图形和名称创建包装类更好的解决方法?
orientdb - OrientDB:如何加快从 Blueprint Java API 导入?
通过使用 Blueprint Java API,我在 OrientDB 中的数据摄取非常缓慢。具体来说,我通过使用plocal
模式和OrientGraphNoTx
类从几个 CSV 文件中加载 ~ 1M 节点和 3M 边(不幸的是我不能使用 ETL,因为它不允许我读取包含现有节点之间边的文件)。代码是用 Scala 编写的,运行大约一个半小时。
数据库的模式包含 5 个顶点类、7 个边类和 6 个索引。我用来创建边的属性使用unique_hash_index
es 进行索引。在现有节点之间创建边是最耗时的操作(可能是因为有很多边),下面是我使用的代码。有人知道如何优化它吗?