0

ソースと宛先の頂点 ID、およびエッジ ラベルを指定して、エッジのプロパティ値を取得しようとしています。

グレムリン端末では、以下が機能しました:

g.V("fromNodeId").outE("edgeLabel").where(inV().hasID("toNodeID")).values("edgeProp")

悲しいことに、groovy では inV() と hasID() が認識されず、それを機能させるための正しいインポートが見つかりません。

試したインポートは次のとおりです。

import org.apache.commons.configuration.Configuration;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource
import org.apache.tinkerpop.gremlin.process.*
import org.apache.tinkerpop.gremlin.groovy.*
import org.apache.tinkerpop.gremlin.groovy.function.*
import org.apache.tinkerpop.gremlin.groovy.util.*
import org.apache.tinkerpop.gremlin.pipes.filter.*
import org.apache.tinkerpop.gremlin.structure.Edge
import org.apache.tinkerpop.gremlin.structure.Vertex
import org.apache.tinkerpop.gremlin.structure.EdgeTest;
import org.apache.tinkerpop.gremlin.structure.Graph

他のクエリは次のように機能することに注意してください。

String getPropValueByID(Long id, String prop){
    def result = []
    **g.V(id).values(prop).fill(result)**
    if(result.empty) return null

    return result.first()
}
4

1 に答える 1