1

我已经尝试了java中的datastax图形的本机api和流畅api。 我发现流畅的api更具可读性,因为它类似于java的OOP。DataStax图形本地API与Fluent API

原生api在java中的可读性较差,因为基本上字符串被添加来创建整个gremlin脚本。但在正面进行一次调用来执行整个gremlin脚本

我想知道哪一个是最好的api,以防万一我需要在一个事务中添加大量的边和顶点以及什么是在任何情况下可能发生的性能问题

回答

1

今后,我会推荐在基于字符串的API上使用Fluent API。尽管我们仍然支持DataStax驱动程序中基于字符串的API,但我们的大部分工作和改进都将使用流畅的API。

Fluent API的主要优点是可以直接使用Apache TinkerPop库来构建遍历,它不需要通过groovy脚本引擎(如基于String的API)。

就加载一个事务中的多个顶点/边而言,您可以使用Apache TinkerPop来实现,并且它比基于String的API更有效,因为这些都不需要通过gremlin来评估-groovy引擎。此外,有关批处理的任何未来工作都可能会在Fluent API中完成(通过Apache TinkerPop),有关更多详细信息,请参阅JAVA-1311

+0

感谢您的回答。我将继续使用Fluent API。我也有过关于批处理的问题,因为现在流利每次遍历都会更新我需要运行executeGraph()函数的图形,并且找不到创建批处理遍历的方法。很高兴知道这也将在不久的将来可用 –

+0

现在除了在单个遍历上调用addV()函数外,没有什么可以做的了。下面是一个例子(虽然在scala中):https://github.com/mpollmeier/gremlin-scala-examples/blob/master/dse-graph/src/test/scala/SimpleSpec.scala#L82-L89。希望这会随着时间而改变。 –