Java DSE GraphFrame API不完全支持从GraphTraversal到DataFrame

Gli*_*ide 1 datastax-enterprise datastax-java-driver datastax-enterprise-graph

Java DSE GraphFrame API不完全支持从GraphTraversalDataFrame

下面GraphTraversalDataFrame是可能的:

gf().E().df()
Run Code Online (Sandbox Code Playgroud)

但是,这不是:

gf().E().hasLabel("foo").df()
Run Code Online (Sandbox Code Playgroud)

这是因为hasLabel()返回GraphTraversal而不是com.datastax.bdp.graph.spark.graphframe.DseGraphTraversal并且GraphTraversal没有df()方法。

每个文档应该有可能

若要完成遍历并返回到DataFrame API(而不是list或迭代器),请使用.df()方法:

graph.V()。df()

我使用的是dse-graph-frames:5.1.4同一起dse-byos_2.11:5.1.4

这是预期的吗?我真正想要的只是进行一些图遍历并将其转换为DataFrame。

小智 5

它可以直接在Scala中工作,在Java中,您需要将演员表添加到DseGraphTraversal

((DseGraphTraversal)gf.E().hasLabel("foo")).df()
Run Code Online (Sandbox Code Playgroud)

我在这里给出了更长的答案使用GraphFrame迭代GraphTraversal会导致UnsupportedOperationException行到顶点的转换