मुझे ग्राफ़ की तरह कुछ मिला है:
g = new tinkergraph () v1 = G.addVertex ([name: 'one']) v2 = g.addVertex ([name: 'two']) v3 = g.addVertex ([name: 'three']) v4 = g.addVertex ([name: 'चार']) v5 = g.addVertex ([name: 'five']) v1.addEdge ('contains', v2) v2.addEdge ('contains', v3) v3.addEdge ('contains', v4) v4 .addEdge ('contains', v5)
अब मैं v1
और उसके सभी "बच्चों"
v1 को निकालना चाहता हूं .out ('शामिल है')। लूप (1) {it.loops & lt; 10} {सत्य} .order {-it.a.path.toList ()। अद्वितीय {a, b - & gt; एक & lt; = & gt; बी}। आकार & lt; = & gt; It.b.path.toList ()। अद्वितीय {a, b - & gt; एक & lt; = & gt; बी} .सिसेज} .remove () v1.remove ()
(यह मुझे पत्तियों से हटा दिया जाना चाहिए)
क्या आप इस ग्रूवी क्वेरी को फिर से लिखने में मेरी सहायता कर सकते हैं जावा? आदेश {...} भाग में हमें एक समस्या है सुनिश्चित करें कि पथ
से pair & lt; vertex, vertex & gt;
।
सुनिश्चित नहीं है कि यदि आपको एक माता पिता नोड और उसके सभी बच्चों को निकालना है, तो आदेश महत्वपूर्ण है। मैंने एक जूनिट टेस्ट लिखा था जो मुझे लगता है कि आपकी समस्या का हल।
<पूर्व> आयात करें com.tinkerpop.blueprints.Direction; आयात करें com.tinkerpop.blueprints.Graph; आयात करें com.tinkerpop.blueprints.Vertex; आयात करें com.tinkerpop.blueprints.impls.tg.TinkerGraph; आयात करें org.junit.Assert; आयात org.junit.Test; आयात करें java.util.Iterator; सार्वजनिक वर्ग SOTest {निजी स्थिर अंतिम स्ट्रिंग EDGE_LABEL = "शामिल"; @Test सार्वजनिक शून्य परीक्षण कुछ () {ग्राफ़ जी = नया टिंकरग्राफ (); वर्टेक्स v1 = बनानेवार्टेक्स (जी, "नाम", "एक"); वर्टेक्स v2 = बनावट (जी, "नाम", "दो"); वर्टेक्स v3 = बनानेवार्टेक्स (जी, "नाम", "तीन"); वर्टेक्स v4 = बनानेवार्टेक्स (जी, "नाम", "चार"); वर्टेक्स v5 = बनानेवार्टेक्स (जी, "नाम", "पांच"); V1.addEdge (EDGE_LABEL, v2); V2.addEdge (EDGE_LABEL, v3); V3.addEdge (EDGE_LABEL, v4); V4.addEdge (EDGE_LABEL, v5); removeParentAndChildren (v1); Assert.assertEquals (g.getVertices ()। Iterator ()। HasNext (), गलत); } प्राइवेट स्टैटिक व्हाइड डिलीपप्रेनेंट और चाइल्डन (वर्टेक्स वर्टेक्स) {फाइनल इटरेटर & लेफ्टिनेंट; वर्टेक्स & gt; VertexIterator = vertex.getVertices (दिशा.उ.टी., EDGE_LABEL)। निदेशक (); If (vertexIterator.hasNext ()) {vertex.getVertices (Direction.OUT, EDGE_LABEL)। ForEach (सोटेस्ट :: डिलीवर पालक और बच्चे); } Vertex.remove (); } निजी वर्टेक्स बनावट (अंतिम ग्राफ़ जी, अंतिम स्ट्रिंग कुंजी, अंतिम स्ट्रिंग मान) {वर्टेक्स वी = जी.एडविटेक्स (रिक्त); V.setProperty (कुंजी, मान); वापसी वी; }}
No comments:
Post a Comment