2

У меня есть приложение, которое в настоящее время опирается на tinkerpop & titan. Я хотел бы оценить возможности Graph, предоставляемые DSE 5.0, но я не нашел способа создать экземпляр графа Tinkerpop с использованием API-интерфейса DSE Graph java.DSE Graph с Java Driver, как построить график с использованием Tinkerpop/Gremlin API, как в Titan?

Для титана, я использовал tinkerpop класс GraphFactory:

  • org.apache.tinkerpop.gremlin.structure.Graph г = GraphFactory.open (configurationFile);
  • Файл конфигурации в параметре относится к классу TitanFactory, который возвращать реализацию интерфейса tinkerpop Graph (gremlin.graph = com.thinkaurelius.titan.core.TitanFactory)

Есть ли эквивалент в DSE Графический API?

ответ

4

28 апреля 2017 обновление

Теперь функциональность график свободно API можно использовать с помощью этой зависимости:

<dependency> 
    <groupId>com.datastax.dse</groupId> 
    <artifactId>dse-java-driver-graph</artifactId> 
    <version>1.2.3</version> 
</dependency> 

Октябрь 28 2016 обновление

Первая реализация Gremlin беглом API доступен, хотя он все еще находится в бета-версии (https://datastax-oss.atlassian.net/browse/JAVA-1250?focusedCommentId=35907&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-35907):

<dependency> 
    <groupId>com.datastax.cassandra</groupId> 
    <artifactId>dse-driver</artifactId> 
    <version>1.1.1-beta1</version> 
</dependency> 
<dependency> 
    <groupId>com.datastax.cassandra</groupId> 
    <artifactId>java-dse-graph</artifactId> 
    <version>1.0.0-beta1</version> 
</dependency> 

Вот как это работает сегодня с небольшой пример:

 DseCluster dseCluster = DseCluster.builder() 
       .addContactPoint(HOST_IP) 
       .build(); 
     DseSession dseSession = dseCluster.connect(); 
     GraphTraversalSource g = DseGraph.traversal(dseSession, new GraphOptions().setGraphName(GRAPH_NAME)); 

     GraphTraversal<Vertex,Vertex> gT = g.addV("User").property("uuid","testuuid"); 

     GraphStatement graphStatement = DseGraph.statementFromTraversal(gT); 
     GraphResultSet grs = dseSession.executeGraph(graphStatement.setGraphName(GRAPH_NAME)); 
     System.out.println(grs.one().asVertex()); 

Исходное сообщение

Я пытался перенести код из Титана в Datastax DSE..I искал то же самое API, так как вы были такими, я подал вопрос в github-хранилище драйвера java dse: https://github.com/datastax/java-driver-dse/issues/42

В настоящее время в работу входит большая координация между differen t языковые платформы и оптимизация.

У нас есть планы на более плавный ави. Точно так же, как некоторый фон, большинство драйверов TinkerPop/gremlin используют подход на основе String - то есть отправьте траверсу String на сервер, затем сервер оптимизирует обход и выполняет его. Результат отправляется обратно в клиенту и десериализуется.

Для Titan, что люди обычно используют, это режим удаленного сервера, который дает доступ к объекту Graph. Это отлично с точки зрения развития , потому что он предлагает свободное время api, которое проверяет время компиляции и может быть заполненным кодом. С практической точки зрения, это фактически меньше , потому что это удаленный сервер, который должен сделать много раундов поездки в базовое хранилище данных для выполнения обхода. Таким образом, текущий метод String на основе фактически более эффективен.

Мы действительно видим большую ценность в беглой апи. Мы сейчас работаем над решением . Вероятно, это будет выглядеть так: RemoteGraph, поэтому у вас будет объект графика, похожий на обход . Мы также работаем в сообществе на TINKERPOP-1278 до , чтобы сделать переходы более идиоматичными на разных языках. Поэтому причина, почему это занимает немного времени, чтобы получить этот лучший опыт, заключается в том, что мы стараемся сделать так, чтобы оно было 1) выполнено эффективно и 2) что оно выполнено правильно из основания TinkerPop через DSE Graph.

В сочетании с интерфейсом RemoteGraph для обходов мы будем иметь , чтобы сделать обновления.

Вы можете посмотреть на полное обсуждение и отслеживать этот вопрос здесь: https://github.com/datastax/java-driver-dse/issues/42 (переехал в Jira)

https://datastax-oss.atlassian.net/browse/JAVA-1250

К сожалению, вам нужно будет либо придерживаться гном qraph запросов для всего в виде Строка или продолжайте использовать Titan до тех пор, пока API Datastax DSE не будут готовы.

+0

Неисправна ссылка https://github.com/datastax/java-driver-dse/issues/42 –

+0

@Hadiaboumrad проблемы были перемещены в jira и не являются публичными больше .. поэтому он был удален из github. Вот ссылки, которые находятся в сети: https://datastax-oss.atlassian.net/browse/JAVA-1250 https://datastax-oss.atlassian.net/browse/JAVA-1124 –

Смежные вопросы