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

时间:2018-01-18 08:10:10

标签: datastax-enterprise datastax-java-driver datastax-enterprise-graph

Java DSE GraphFrame API不完全支持从GraphTraversalDataFrame

以下GraphTraversalDataFrame是可能的:

gf().E().df()

然而,这不是:

gf().E().hasLabel("foo").df()

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

这应该可以按docs

进行
  

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

     

graph.V()。DF()

我正在使用dse-graph-frames:5.1.4dse-byos_2.11:5.1.4

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

1 个答案:

答案 0 :(得分:4)

它在Scala中工作,在Java中你需要将强制转换添加到DseGraphTraversal

((DseGraphTraversal)gf.E().hasLabel("foo")).df()

我在这里给出了更长的答案Iterating a GraphTraversal with GraphFrame causes UnsupportedOperationException Row to Vertex conversion