1
下面我試圖找到在頂點上沒有使用過濾器的傳入邊的所有頂點。 fullyQualifiedName是一個唯一索引。我注意到一些頂點似乎有入射邊緣,所以我在下面添加了一個步驟,以便將它們打印出來,如果它們存在的話。因爲我認爲我已經過濾了上面的這些頂點,所以我期望沒有輸出;不過,我仍然看到顯示的傳入邊緣。如何找到所有沒有傳入邊的頂點?
def g = BerkeleyGraphFactory.create()
def vertices = g.V.filter {
it.inE('depends').count() == 0
}
Set<String> u = []
u.addAll(vertices.collect {v->
v.fullyQualifiedName
})
u.each {
def focusIter = g.V('fullyQualifiedName', it)
def vertex = focusIter.next()
// this shouldn't print out anything since these vertices were filtered above
vertex.inE('depends').each { e->
def classRefV = e.outV.next()
println it + " is used by " + classRefV.name + " " + e.toString()
}
}
嘗試了你的建議沒有運氣。即使在fullyQualifiedName上有一個唯一鍵,我正在瀏覽圖表並注意到重複的頂點。我現在正在調查我的提交,但仍不確定查詢的錯誤。 – tjg184 2014-10-01 14:22:18
我想到了這一點,但無法弄清楚爲什麼它會影響 – 2014-10-01 15:33:05