Я пытаюсь добавить вершины и ребра в JanusGraph и, похоже, не работает так, как ожидалось. Я использую Cassandra и Elasticsearch в качестве backend. Я могу добавить вершины. Я использую следующий код, чтобы проверить, добавлены ли вершины и ребра.
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();
Я пытаюсь добавить вершины и ребра в JanusGraph и, похоже, не работает так, как ожидалось. Я использую Cassandra и Elasticsearch в качестве backend. Я могу добавить вершины. Я использую следующий код, чтобы проверить, добавлены ли вершины и ребра.
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();
00Java, гном, janusgraph,