tinkerpop blueprints API'u kullanarak, iki köşe arasında bir kenar olup olmadığını bulmanın en iyi yolu nedir? vertex.getEdges()
'dan kaçınmak ve doğru olanı buluncaya kadar yinelemek istiyorum. v1
v2
İki köşe arasında bir kenar bulmanın doğru yolu nedir?
Vertex v1 = g.addVertex(null);
Vertex v2 = g.addVertex(null);
Edge edge = g.addEdge(null, v1, v2, "friends");
Edge edge = g.addEdge(null, v1, v2, "follows");
// Node with lots of edges - Supernode - problem?
List<Edge> edges = new ArrayList<Edge>();
for(Edge edge : g.getVertex(v1.getId()).getEdges(Direction.OUT, "friends")){
if(edge.getVertex(Direction.IN).getId().equals(v2.getId()){
edges.add(edge);
}
}
Ben Vertex Query kullanmalıyım arkadaşı ise
.: edin Örn? gremlini Via
yapabileceğim: Yardım için
g.v(v1.getID()).outE("friends").inV.filter{it.id == v2.getID}
IndexHits<Relationship> relationships = relationshipIndex().get("type", edgeType, node1, node2);
Teşekkür! Hala bu konuda yeniyim.
Bunu çekirdek API ile getirebilirsiniz. Bu durumda, planların API'sinin "üstünü" neden kullanmalısınız? – tstorms
Çekirdek API Neo4j ile mümkündür, ancak Titan ile, örneğin doğrudan doğruya planlarda olduğunuzu düşünüyorum – Luccas
. Sorgu sürelerini geliştirmek için mümkünse Vertex sorgusunu ve vertex merkezli indekslerini kullanın. https://github.com/thinkaurelius/titan/wiki/Vertex-Centric-Indices –