2013-06-20 8 views
6

Cách dễ nhất & cách hiệu quả nhất để đếm số lượng nút/cạnh trong biểu đồ lớn thông qua Gremlin là gì? Điều tốt nhất tôi đã tìm thấy được bằng cách sử dụng iterator V:Số lượng các nút/cạnh trong một đồ thị lớn thông qua Gremlin?

gremlin> g.V.gather{it.size()} 

Tuy nhiên, đây không phải là một lựa chọn khả thi cho đồ thị lớn, theo documentation for V:

các đỉnh iterator cho đồ thị. Sử dụng tính năng này để lặp qua tất cả các số các đỉnh trong biểu đồ. Sử dụng cẩn thận trên biểu đồ lớn trừ khi sử dụng kết hợp với tra cứu chỉ mục chính.

Trả lời

5

Tôi nghĩ rằng cách ưa thích để làm một số của tất cả các đỉnh sẽ là:

gremlin> g = TinkerGraphFactory.createTinkerGraph() 
==>tinkergraph[vertices:6 edges:6] 
gremlin> g.V.count() 
==>6 
gremlin> g.E.count() 
==>6 

Mặc dù vậy, tôi nghĩ rằng trên một đồ thị rất lớn g.V/E chỉ bị phá vỡ không có vấn đề gì bạn làm. Trên một đồ thị rất lớn, lựa chọn tốt nhất để đếm là sử dụng một công cụ như Faunus (http://thinkaurelius.github.io/faunus/) để bạn có thể tận dụng sức mạnh của Hadoop để thực hiện việc đếm song song.

+0

Tuyệt vời, cảm ơn bạn! Tôi đã nghĩ rằng siêu dữ liệu có thể được theo dõi và truy cập ở đâu đó, nhưng Faunus có vẻ giống như một sự thay thế vững chắc. – bcm360

+0

Tôi không biết rằng bất kỳ biểu đồ nào theo dõi rõ ràng như siêu dữ liệu, mặc dù có bất kỳ biểu đồ nào sẽ cụ thể cho các hoạt động của chính biểu đồ đó. Không có gì trong Blueprints/Gremlin nhận được trực tiếp, cũng không Blueprints phơi bày siêu dữ liệu theo bất kỳ cách nào. Nếu bạn thấy rằng việc triển khai biểu đồ đã có siêu dữ liệu để cung cấp cho bạn thông tin này, bạn có thể truy cập nó bằng cách lấy biểu đồ bên dưới bằng 'getRawGraph()'. –

+0

OK, cảm ơn Stephen – bcm360