2017-11-29 6 views
0

überschreiben Ich bin ein Scheitelpunkt mit den gleichen Eigenschaften einfügen, und in meinen Augen sollten sie das gleiche sein, aber wenn ich tx.addVertex(T.label, "phone", "value", mobile) verwenden, sind sie verschiedene Scheitelpunkte in Grafik. Wenn ich also etwas bekommen will, kann ich nicht bekommen, was ich will.Wie Scheitelpunkt in JanusGraph

Hier ist mein Code:

for (i <- 0 until 500000) { 
     val grap = JanusGraphFactory.open("d:\\janusgraph\\janusgraph-hbase.properties") 
     val tx = grap.newTransaction() 

     var mobile = "" 
     if (i < 10) { 
      mobile = "1370000000" + i 
     } else if (i < 100) { 
      mobile = "137000000" + i 
     } else if (i < 1000) { 
      mobile = "13700000" + i 
     } else if (i < 10000) { 
      mobile = "1370000" + i 
     } else if (i < 100000) { 
      mobile = "137000" + i 
     } else if (i < 1000000) { 
      mobile = "13700" + i 
     } 
     val rd = Random.nextInt(100) 

     val phonev = tx.addVertex(T.label, "phone", "value", mobile) 
     for (j <- 0 until rd) { 
      val dev = "dev" + j 
      val devv = tx.addVertex(T.label, "deviceid", "value", dev) 
      phonev.addEdge("phone-dev", devv, "value", mobile + "_" + dev) 
     } 
     tx.commit() 
     tx.close() 
    } 

Antwort

0

Wenn u addVertex nennen es wird immer eine neue Ecke in der Tat schaffen, aber man kann zu einem var zuweisen und die Eigenschaft, über die property() Methode anstelle eingestellt.

+0

Also, ich kann g.V() nur verwenden, um diesen Eckpunkt zu finden und EdgeEdge hinzuzufügen? – user7687835

Verwandte Themen