JanusGraph добавление ребра не работает - PullRequest
0 голосов
/ 24 июня 2018

Я пытаюсь добавить вершины и ребра в JanusGraph, и он не работает должным образом. Я использую Cassandra и Elasticsearch в качестве бэкэнда. Я могу добавить вершины. Я использую код ниже, чтобы проверить, добавлены ли вершины и ребра.

this.graph = JanusGraphFactory.open("conf/janusgraph-cassandra-es.properties");
trv = graph.traversal()
trv.V().count()
//Returns count and runs as expected
trv.E().count()
//Returns 0 even though I added the edges

Я использую код ниже, чтобы добавить ребра.

tx = this.graph.newTransaction();
Long vertexId = companyMap.get(Integer.parseInt(record.get("ASSIGNEE")));
Vertex assignee = this.traversal.V(vertexId).next();
Vertex patent = this.traversal.V(patentId).next();
patent.addEdge("assigned_to", assignee);
tx.commit();

Я изменил код в соответствии с комментарием Джейсона ниже. Теперь я создаю новый объект обхода всякий раз, когда хочу получить существующую вершину, а затем добавить ребро. Кажется, сейчас работает.

GraphTraversalSource trv = this.graph.traversal();
Long vertexId = companyMap.get(Integer.parseInt(record.get("ASSIGNEE")));
Vertex assignee = this.traversal.V(vertexId).next();
Vertex patent = this.traversal.V(patentId).next();
patent.addEdge("assigned_to", assignee);
trv.tx().commit();

1 Ответ

0 голосов
/ 10 января 2019

используйте последнюю версию janusgraph 0.3.x, которая включает примеры использования для различных бэкэндов

...