1
現在、私はこのグレムリン/グルーヴィーなコードを持っている:頂点が存在しない場合にのみ頂点を追加する方法と、この単一の横断を他のグラフの突然変異と続けますか?
if(!g.V().has("Number","number","3").hasNext()) {
g.addV("Number").property("number","3")
}
は、それが複数のトラバースを使用せずに同じ結果を持つことは可能ですか?
私はそれがここ(https://stackoverflow.com/a/33965737/986160)示唆されたものをしようとしたが、それは私がすることはできません
g.V().choose(has("Number","number", "3"),
addV("Number").property("number", "3"),
has("Number","number", "3")
).as("number")
.addV("User").property("uuid","test uuuid")
.forEachRemaining(System.out::println);
(それは数またはユーザー頂点のいずれかを追加しません)私はこれを試してみましたが、それは動作しません。 DSEの1回の取引で別のユーザーを追加して1回のトラバーサルを続けてください:
g.V()
.has("Number","number", "3")
.tryNext()
.orElseGet(
() -> g.addV("Number")
.property("number", "3").next()
);
ありがとうございます!
'' '1'''は' ''(1) '' 'トラバーサルのための固有の番号で注入しますか?異なる番号のcreateIfnotExistsが複数ある場合はどうなりますか?私は '' 'g.inject(1).coalesce(V)が(" Number "、" number "、3)、addV(" Number ")プロパティ(" number "、3)を持つことができますか?プロパティ( "number"、4)); '' '?(1).coalesce(V()。has(" Number "、" number "、4)、addV(" Number "または '' 'inject(2)' ''を実行する必要がありますか?ありがとう –
これは、V()。has( "Number"、 "number"、3)が何も出さなくても、トラバーサルを生かし続けるものです。 'g.inject(" michail ")'とすることができます。 –
私は '' 'GraphTraversal traversal = g.inject();' ''のどこかでもできますか?コード内のどこかで '' coalesce() ''を続けますか? –