我有一个目前依赖于tinkerpop&titan的应用程序。我想评估DSE 5.0提供的Graph特性,但我没有找到任何方法来使用DSE Graph java API示例化修补图。
对于titan,我使用了tinkerpop GraphFactory类:
- org.apache.tinkerpop.gremlin.structure。Graph g=GraphFactory.open(configurationFile);
- 参数中的配置文件指的是TitanFactory类,该类返回tinkerpop Graph接口的实现(gremlin.Graph=com.thinkaurelius.titan.core.TitanFactor)
DSE Graph API中是否有任何等效项?
1条答案
按热度按时间q8l4jmvw1#
2017年4月28日更新
现在,可以通过此依赖项使用图形流畅API功能:
2016年10月28日更新
Gremlin fluent API的第一个实现是可用的,尽管它仍处于测试阶段(https://datastax-oss.atlassian.net/browse/JAVA-1250?focusedCommentId=35907&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-选项卡面板#comment-35907):
下面是一个小例子:
原始职务
我试图将代码从Titan迁移到Datastax DSE。我正在寻找与您相同的API,我在java DSE驱动程序的github存储库中提出了一个问题:https://github.com/datastax/java-driver-dse/issues/42
随着不同语言平台之间的大量协调和优化工作的进行,它目前正在发挥作用。
我们确实计划开发一个更流畅的api。就像一些背景一样,大多数TinkerPop/gremlin驱动程序都采用基于String的方法,即将遍历String发送到服务器,然后服务器优化遍历并执行它。结果被发送回客户端并反序列化。
对于Titan,人们通常使用的是远程服务器模式,它允许访问Graph对象。从开发的Angular 来看,这很好,因为它提供了一个经过编译时检查的流畅api,并且可以完成代码。从实际的Angular 来看,它实际上效率较低,因为它是一个远程服务器,必须往返底层数据存储才能执行遍历。因此,当前基于String的方法实际上更有效。
不过,我们确实看到了流畅api的巨大价值。我们正在研究解决方案。它可能采用RemoteGraph的形式,因此您将拥有一个类似于遍历的图形对象。我们还在TINKERPOP-1278社区中工作,以使遍历跨语言更加地道。因此,需要一点时间才能获得更好的体验的原因是,我们正在努力确保1)高效完成,2)从修补流行音乐基金会到DSE Graph都能正确完成。
结合用于遍历的RemoteGraph接口,我们将有一个流畅的api来进行更新。
您可以在这里查看完整的讨论并跟踪问题:https://github.com/datastax/java-driver-dse/issues/42(移至Jira)
https://datastax-oss.atlassian.net/browse/JAVA-1250
不幸的是,您要么需要坚持使用gremlin qraph查询将所有内容作为String查询,要么继续使用Titan,直到Datastax DSE API准备就绪。