gremlinに新しいです。私はtinkerpop3の文書に従った。しかし、私はストアと選択キーワードの使用を理解できませんでした..誰もそれを簡単に説明できますか?gremlinでのstoreキーワードとselectキーワードの使用
答えて
ステップは、トラバーサルを通過するオブジェクトをトラバーサルの副作用として収集します。たとえばのは、私が(TinkerPopにパッケージ近代的なおもちゃのグラフを使用して)このトラバーサルを持っているとしましょう:
gremlin> g.V().has("name","marko").store("markos").outE()
==>e[9][1-created->3]
==>e[7][1-knows->2]
==>e[8][1-knows->4]
トラバーサルは自分にトラバースし、「マルコス」と呼ばれるリストで「マルコ」店舗、それらを命名し、すべての頂点を取得しますアウトエッジをoutE()
とし、出力としてエッジを取得します。我々はトラバーサルのうち、その「マルコス」リストを取得したい場合は、追加のポイントとして、私たちはトラバーサルをcap()
する必要があります。
gremlin> g.V().has("name","marko").store("markos").outE().cap('markos')
==>[v[1]]
store()
ステップは、この文脈ではあまり役に立たないですが、グレムリンを伝えるためにそれを使用して想像しますグラフの周りを歩いている間、あなたのために物を集める。おそらく、あなたは、例えば、エッジの束を収集するために彼に言うことができる:
gremlin> g.V().has("name","marko").outE().store("edges").inV().outE().store('edges').inV().cap('edges')
==>[e[9][1-created->3],e[7][1-knows->2],e[8][1-knows->4],e[10][4-created->5],e[11][4-created->3]]
をまた副作用へのアクセスを許可する工程を経て経てstore()
によって集められたリストを参照することができます。 store()
がその作業に怠惰であることを思い出すことは重要である
gremlin> g.V().has("name","marko").store('marko').out().in()
==>v[1]
==>v[4]
==>v[6]
==>v[1]
==>v[1]
gremlin> g.V().has("name","marko").store('marko').out().in().where(without('marko'))
==>v[4]
==>v[6]
:一般的な使用例は、既にトラバース何かを無視するかもしれません。トラバーサルが実行されるときに収集されます。逆の場合は、評価に熱心なaggregate()
と一緒に行かなければなりません(aggregate()
が呼び出されるまでトラバーサルを使い果たします)。
キーワードselect()
を使用すると、トラバーサルの前の部分にアクセスしたり、マップを分割したりすることができます。前者に関しては、あなたがアクセスする必要があるかもしれません手順ラベル:私はあなたが選択する必要があるときのための具体的な使用例があることをわからない
gremlin> g.V().has('name','marko').valueMap().select('name')
==>[marko]
gremlin> g.V().has('name','marko').valueMap().select(values)
==>[[marko],[29]]
:
gremlin> g.V().has("name","marko").as('a').outE().select('a')
==>v[1]
==>v[1]
==>v[1]
gremlin> g.V().has("name","marko").as('a').outE().inV().as('b').select('a','b')
==>[a:v[1],b:v[3]]
==>[a:v[1],b:v[2]]
==>[a:v[1],b:v[4]]
、後者のようにそれは広範な適用性を有する一般的な一種のステップなので。
- 1. volatileキーワードとロックステートメントの使用
- 2. FileInfoでのキーワードの使用
- 3. PHPのキーワードと新しいキーワードを使用
- 4. PHP - クラス外の使用キーワードとクラス内の使用キーワードの違い
- 5. React-Native変更selectTextOnFocusキーワード(Select、Select All、Paste)
- 6. Pythonの "from"キーワードの使用?
- 7. C#のvarキーワードの使用
- 8. 静的キーワードの使用
- 9. C# "is"キーワードの使用パターン
- 10. plt.scatter; SyntaxError:キーワード以外のキーワードargキーワード
- 11. javaでキーワード "this"を使用
- 12. cでtypedefキーワードを使用
- 13. LINQ/Entity Frameworkクエリの "SELECT VALUE" - valueキーワード
- 14. Webpack 2では、useキーワードとloaderキーワードはいつ使用しますか?
- 15. JavaScriptをこのキーワードで使用する
- 16. JinjaでPythonの `set`キーワードを使用
- 17. 使用importキーワードは、6
- 18. Java - 'super'キーワードを使用
- 19. ミックスインパターンアンダースコア、_.extendキーワードを使用
- 20. DatabaseError:ORA-00928:SELECTキーワードがありません
- 21. returnキーワードとnewキーワードのコンストラクタパターンの違いは何ですか?
- 22. alignasキーワードとalignofキーワードはどのようなものですか?
- 23. 構文エラー - キーワード以外のキーワードargキーワードの後
- 24. TwythonのキーワードとLED
- 25. マウントシステムコールのsourceキーワードとtargetキーワードで混同されています
- 26. c#の "$"キーワードの使用方法 - ウェブAPI
- 27. javaの "this"キーワードの使用方法
- 28. グローバル変数へのstaticキーワードの使用
- 29. Javascript新しいキーワードの使用
- 30. `stackalloc`キーワードの実際的な使用