2016-03-24 40 views
0

Adlandırılmış iki köşe yaşıyorum - KullanıcıAdı ve ŞirketAdı, Kullanıcı herhangi bir şirketi ziyaret ettiğinde kenar alanını artırırım (ör. PageVisit). tek tek sonuçlar için bu sayfayı ziyaret ediyorumVisit değerleri ama tüm kullanıcı pageVisits toplamını nasıl alabilirim?Grafik veritabanındaki kenar alanın toplamı gremlin kullanılarak nasıl edinilir?

Bir şirket sayfasındaki toplam Page Ziyaret sayısını göstermek istiyorum, kenar değerlerini eklemenin bir yolunu bulamadım.

cevap

3

kullanabilirsiniz sum() step:

Ben pageVisit sayımı eklemek için Rexster kullanıyorum, bu yüzden bir dize olarak kaydedildiğini
gremlin> graph = TinkerGraph.open() 
==>tinkergraph[vertices:0 edges:0] 
gremlin> vUser1 = graph.addVertex("UserName","user1") 
==>v[0] 
gremlin> vUser2 = graph.addVertex("UserName","user2") 
==>v[2] 
gremlin> vCompany = graph.addVertex("CompanyName","Company") 
==>v[4] 
gremlin> vUser1.addEdge('visits',vCompany,'pageVisit',10) 
==>e[6][0-visits->4] 
gremlin> vUser2.addEdge('visits',vCompany,'pageVisit',20) 
==>e[7][2-visits->4] 
gremlin> g = graph.traversal() 
==>graphtraversalsource[tinkergraph[vertices:3 edges:2], standard] 
gremlin> g.V(vCompany).inE('visits').values('pageVisit').sum() 
==>30 
+0

. Sum() operatörünü dize değerleriyle nasıl kullanabilirim? –

+0

Bunu bir ip gibi saklamanın iyi bir fikir olduğunu sanmıyorum. Verileri yerel türünde saklamanız gerekir. Veritabanına yazdığınızda bu dizeyi sayıya dönüştürün. Ayrıca, bu cevabın TinkerPop 3.x sözdiziminde olduğunu ve TinkerPop 3.x'te Rexster bulunmadığını unutmayın - yerine Rexster'in yerini alan Gremlin Server: http://tinkerpop.apache.org/docs/3.1.1-incubating/referans/# gremlin-sunucu –