问题标签 [datastax-enterprise-graph]

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 回答
814 浏览

java - 如何从 gremlin 返回以 Java 易于使用的格式的子图

当我尝试使用 Gremlin 进行一次遍历并一次从 DSE Graph 5.0 带来很多东西时,我对非常简单的事情感到非常沮丧。

在我的简化案例中,我有:

  • 1 个具有特定 uuid 的实体
  • 实体可以有零个(参见可选)或更多类型
  • 我需要能够返回entitytypes

到目前为止,我所拥有的东西非常丑陋:(

列表中的每一行都有实体和类型之一:/

我这样做是因为 Vertex 没有edges()根据 DSE 5.0 Fluent API 中的遍历进行填充。因此,要么我陷入了多次遍历,要么是一个巨大的可怕遍历,很难在 Java 对象中反序列化,或者我必须将 gremlin 查询作为字符串传递,但不会返回 Gremlin Vertex 对象,而是返回 DSE :(

在我不太简化的情况下,我想返回上述多个实体及其各自的类型,如何做到这一点?

最后,有什么好的方法可以为具有不同类型对象的子图的自定义对象映射生成可重用代码?

预先感谢您的帮助!

0 投票
1 回答
271 浏览

gremlin - 为什么在使用 Gremlin 的同一遍历中对边进行 DropStep 后 AddEdgeStep 不起作用?

我有这段代码,它本质上更新属性,删除所有旧IsOfType边并添加新IsOfType边(如果我删除所有方法/类抽象并使其内联):


IsOfType一切正常(即使是现有边缘的下降)。但是新IsOfType边的创建似乎并没有在图上产生新的边。如果我注释掉 drop,那么创建工作正常(!)就好像在最后发生DropStep的事情之前addEdgeStep。我什至试图放弃其他类型的边缘,它导致了同样的问题(!)。可能是隐式事务处理决定在 adrop()发生时提交next()iterate()并且forEachRemaining()?? 如果是这种情况,那么使用 Fluent API 就不会在同一事务中发生丢弃和创建,这使得它对实际应用程序不是很有用:(

这是删除后和在我的运行中添加两条边后的遍历状态IsOfType(我尝试了 Java 和 Datastax Studio 控制台):

编辑

从我在这里读到的(http://tinkerpop.apache.org/docs/current/reference/#drop-step

drop() 步骤(filter/sideEffect)用于从图中删除元素和属性(即删除)。这是一个过滤步骤,因为遍历不会产生传出对象。

没有返回任何对象,因此在发生掉落后无法执行任何操作!所以我很好奇如何使用 DSE Graph Fluent API 在单个事务中进行多次删除/添加

谢谢!

0 投票
2 回答
844 浏览

cassandra - Datastax dse 图安装

我正在ubuntu机器 上试验Datastax Dse 5.0.5 图。

我最感兴趣的是 Datastax 企业包的图形部分

我已经在不同的终端上执行了以下这些命令

  • ./bin/dse cannandra
  • ./bin/dse gremlin-console
  • ./datastax-studio/bin/server.sh

我成功地能够在 localhost 启动 datastax-studio 但出现此错误

All DSE gremlin server hosts are currently down or don't have the 'graph' workload set. Please, make sure that hosts are available and have the 'graph' workload and retry

我想做的是

我想使用 java 程序创建顶点和边,并想在 datastax-studio 上可视化它。

为此,我已经按照 dse 文档编写了 java 程序,但是我很困惑应该在哪个端口将我的数据库连接到数据库,甚至我不确定我是否真的走上了正确的道路。

你能指导我以正确的方式安装dse graph和studio吗?

0 投票
1 回答
23 浏览

datastax-enterprise - 可以为相同的边缘标签但不同的连接顶点标签定义不同的属性吗?

我很好奇这样的事情是否被允许并按预期工作:

我想知道如果只允许在 and 之间而不是在 and 之间的属性,我是否会针对createdDate模式运行两者。现在它说它已经存在,所以我有它(这并没有限制我想要的方式)EntityUserAttributeUserCreatedBy

谢谢!

0 投票
1 回答
239 浏览

graph - 使用 Gremlin 和 DSE Graph,哪种数据建模更适合这个超图的性能?

我有这种情况,其中每个(源)Entity都有Properties一个指向另一个的目标Entity。这些属性映射组合在一起。我想要做的是查询那些具有相应目标的特定属性但在同一组下的实体。

超图会这样(矩形是超边):

超图版

JSON看起来像这样:

图数据库中最平坦的版本可能如下所示:

最扁平的版本

虽然它的最扩展版本可能看起来像这样:

最扩展的版本

所以如果我想:

  • 获取所有Entities具有相同 PropertyGroupUuid“目标” Property 2和下的所有内容,我应该分别返回Property 3Entity 3Entity 4Entity 1
  • 获取所有Entities具有相同 PropertyGroupUuidProperty 1Property 2在同一 PropertyGroupUuid 下的“目标” Entity 2Entity 3我不应该回来Entity 1

如何使用 gremlin 对图形的两个版本做到这一点,以及使用正确的索引(如 DSE Graph 合并的索引),哪一个更灵活/性能更好?有没有我没有想到的更好的选择?如果答案详细且解释清楚,我将提供至少 50 的赏金 :)

谢谢!

0 投票
0 回答
122 浏览

datastax-enterprise - 用于图形的 datastax node.js 驱动程序(使用 gremlin 查询),如何获取大型结果集?

我为 dse 图使用 datastax node.js 驱动程序。

根据http://docs.datastax.com/en/developer/nodejs-driver/latest/features/paging/

它仅适用于 Cassandra 和 DSE,但我想使用 gremlin 查询对 DSE Graph 做同样的事情:获取和分页结果。我也想知道结果的总记录。(没有性能问题)

0 投票
1 回答
1617 浏览

java - NoClassDefFoundError:io/netty/handler/timeout/IdleStateHandler Datastax dse java驱动

我正在尝试使用我的 java 代码连接 ubuntu(启用图形)上的 DSE 5.0 服务器,但出现此错误

正如错误所说,netty 库可能丢失了。

我在我的 pom.xml 中添加了 netty-all 但也得到了同样的错误。

Pom.xml

感谢帮助..!

0 投票
0 回答
36 浏览

datastax - DSE Enterprise - 何时支持多边形索引?

我正在使用 DSE Enterprise 5.0.4,我需要询问关于多边形的查询,例如哪些多边形在多边形内?目前不支持多边形索引。得到空指针前。

0 投票
2 回答
127 浏览

java - 使用Java对顶点标签进行Dse图索引

我正在使用 Datastax Dse grap (5.x) java 驱动程序版本 1.1.1 beta。

我的用例是我不能允许多个顶点具有相同的顶点标签。

为此,我想在 vertex label 上创建索引

我在Datastax 官方网站上找到了以下代码 schema.vertexLabel('recipe').index('byRecipe').secondary().by('name').add()

但是,这个 datastax 教程缺少两件事

  • 如何在顶点标签上创建索引
  • 如何使用 java 执行此操作

我的问题是如何使用 java 在 Vertex 标签上索引 Dse 图

0 投票
1 回答
278 浏览

datastax-enterprise - GraphLoader 不工作

我正在使用 dse-5-0-5 和 graphloader 从 GraphML 加载数据。下达命令时:

graphloader ./scripts/graphml2Vertex/recipeMappingGraphML.groovy -graph testGraphML -address 172.31.35.238 -load_failure_log /home/centos/DSE/dse-graph-loader-5.0.5/scripts/graphml2Vertex/loadfailure.log -dryrun true

我收到错误: groovy.lang.MissingMethodException:没有方法签名:com.datastax.dsegraphloader.api.GraphSource$VerticesBuilder.withVertexId() 适用于参数类型:() 值:[] at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap (ScriptBytecodeAdapter.java:58) 在 org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:49) 在 org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) 在org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117) 在 Script1.run(Script1.groovy: 19) 在 com.datastax.dsegraphloader.cli.GroovyScriptExecutor.evaluate(GroovyScriptExecutor.java:106) 在 com.datastax.dsegraphloader.cli。com.datastax.dsegraphloader.cli.Executable.main(Executable.java:171) 上的 Executable.execute(Executable.java:72)

我已经从 orientdb 将数据作为 graphML 导入(通过使用 g.saveGraphML(filename.xml) 函数),现在尝试使用 graphloader (import graphMl) 在 DSE 图中包含相同的数据。你能告诉这种原因吗错误?

-瓦伦