6
什麼是最簡單的&通過Gremlin來計算大圖中節點/邊的數量的最有效方法?最好的我發現是使用V迭代器:通過Gremlin的大圖中的節點/邊的數量?
gremlin> g.V.gather{it.size()}
然而,這不是大圖一個可行的選擇,每documentation for V:
頂點迭代器的圖形。利用它遍歷圖中頂點的所有 。除非將 與鍵索引查找結合使用,否則請小心使用大圖。
什麼是最簡單的&通過Gremlin來計算大圖中節點/邊的數量的最有效方法?最好的我發現是使用V迭代器:通過Gremlin的大圖中的節點/邊的數量?
gremlin> g.V.gather{it.size()}
然而,這不是大圖一個可行的選擇,每documentation for V:
頂點迭代器的圖形。利用它遍歷圖中頂點的所有 。除非將 與鍵索引查找結合使用,否則請小心使用大圖。
我認爲做所有頂點的計數的首選方法是:
gremlin> g = TinkerGraphFactory.createTinkerGraph()
==>tinkergraph[vertices:6 edges:6]
gremlin> g.V.count()
==>6
gremlin> g.E.count()
==>6
不過,我認爲,一個非常大的圖形g.V/E
剛剛打破了,不管你做什麼。在一張非常大的圖表上,做一個計數的最佳選擇是使用像Faunus(http://thinkaurelius.github.io/faunus/)這樣的工具,以便您可以利用Hadoop的強大功能來並行執行計數。
太好了,謝謝!我認爲元數據可能在某處被跟蹤和訪問,但Faunus聽起來像是一個很好的選擇。 – bcm360
我不知道任何圖表跟蹤,作爲元數據明確,但如果有的話,它將特定於圖本身的操作。 Blueprints/Gremlin中沒有直接獲取該計數的信息,Blueprints也不以任何方式公開元數據。如果你發現一個圖形實現確實有元數據來爲你提供這些信息,你可能通過getRawGraph()獲得底層圖形來訪問它。 –
明白了,謝謝Stephen – bcm360