टिंकरपॉप blueprints API का उपयोग करके, यह पता लगाने का सबसे अच्छा तरीका क्या है कि किनारे दो अक्षरों के बीच मौजूद है? मैं vertex.getEdges()
से बचना चाहता हूं और सही होने तक इसे फिर से शुरू करना चाहता हूं।दो शीर्षकों के बीच किनारे को खोजने का सही तरीका क्या है?
उदा .: जाँच करें कि v1
v2
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);
}
}
मैं Vertex Query का उपयोग करना चाहिए की दोस्त है?
दुष्टात्मा के माध्यम से मैं कर सकता:
g.v(v1.getID()).outE("friends").inV.filter{it.id == v2.getID}
IndexHits<Relationship> relationships = relationshipIndex().get("type", edgeType, node1, node2);
मदद के लिए धन्यवाद! मैं अभी भी इसके लिए नया हूं। चाहे वी 2 v1 या नहीं इस प्रकार बढ़त यहाँ दिशाहीन है, यानी आप अनुमान नहीं लगा सकता:
ऐसा लगता है कि आप इसे कोर एपीआई के साथ लाने में सक्षम हैं। इस मामले में ब्लूप्रिंट्स एपीआई के "ओवरहेड" का उपयोग क्यों करें? – tstorms
कोर एपीआई नियो 4j के साथ संभव है, लेकिन उदाहरण के लिए टाइटन के साथ, मुझे सीधे ब्लूप्रिंट्स – Luccas
का उपयोग करने की आवश्यकता है, मुझे लगता है कि आप सही रास्ते पर हैं। प्रश्न समय सुधारने के लिए यदि संभव हो तो Vertex क्वेरी और vertex केंद्रित सूचकांक का उपयोग करें। https://github.com/thinkaurelius/titan/wiki/Vertex-Centric-Indices –