問題タブ [tinkerpop3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
titan - Titan と Tinkerpop の使用を開始するためのいくつかの基本的な質問
今朝、タイタンを試してみることにしました。私は Neo4j と OrientDB の両方を使用しており、これらのグラフ データベースの 1 つを使用して多言語持続性モデルを実装しようとしていました。しかし、私はすでに Cassandra を使用しているので、Titan を試してみることにしました。
Titan のドキュメントと Tinkerpop のドキュメントを読みましたが、まだ不明な点がいくつかあります。Neo4j と OrientDB はどちらもほぼプラグ アンド プレイです。Titan は、Cassandra のような db バックエンドの上にあるレイヤーのように見えるので、セットアップを開始する方法がわかりません。gremlin コンソールを起動して Cassandra クラスターに接続し、titan サーバーを起動できます。どちらもコンソールから実行できます。
私の主な質問は、titan をサービスとしてインストールすることになっていますか? 独自の init スクリプトを作成するか、supervisor/monit/etc を使用して管理しますか? 基本的に、すべてを実行して利用可能にしておく正しい方法は何ですか?
indexing - Tinkerpop API は、titan からデータを取得する際に混合 Elasticsearch インデックスを使用しません
Tinkerpop API は、titan からデータを取得する際に混合 Elasticsearch インデックスを使用しません。ただし、titan API を直接使用すると、混合 Elasticsearch インデックスが使用されます。
たとえば、名前に混合インデックスを作成しました。
tinkerpop API を使用するgraph.iterator().V().has("name", "Apple")
と、"name" に混合インデックスが使用されず、警告ログに「Query requires iterating over all vertices」が表示されます。
titan API を使用すると、正常に動作し、以下に示すように「名前」に混合インデックスを使用します
この理由は何ですか?
titan - Gremlin: 2 つの頂点間のエッジを見つける効率的な方法は?
したがって、明らかに、2 つの頂点間のエッジを見つける簡単な方法は次のとおりです。
そのfilter
ステップはすべてのエッジを反復処理する必要があり、多くのエッジを持つ一部のアプリケーションでは非常に遅くなると思います。
別の方法は次のとおりです。
最初のアプローチよりも高速になるIDインデックスを使用するため、2番目のアプローチははるかに高速になると思います。
(IO に関して) どちらがより高速で効率的ですか?
私は Titan を使用しているので、答えを Titan 固有のものにすることもできます。
編集
時間的には、最初のアプローチの方が速いようです (頂点のエッジは 20k でした)b
イオはどうですか?
stack-trace - TinkerPop 3.1.0 コンソール - スタック トレースを表示しますか?
私は現在、TinkerPop 3.1.0 Console Incubating を使用しており、オプションがあるたびに
Display stack trace? [yN]
「y」または「N」を入力して、スタック トレースを表示または非表示にすることができません。単に新しい行に移動し、yN の回答を入力する機会がありません。これは、gremlin スクリプトやコマンドなどに関するデバッグを行うことができないことを意味します。
次の図に例を示します。Gremlin コンソール スタック トレース メッセージ
TinkerPop 3.1.0 Console Incubating を実行している 2 台の別々のマシンでこの問題が発生しましたが、以前にテストしていた gremlin-2.6.0 Console バージョンでは同じ問題は発生しませんでした。
他の誰かがこの問題を抱えていますか? 迅速な修正の可能性はありますか?それとも、新しいリリースを待って、問題が解決するかどうかを確認する必要がありますか?
前もって感謝します。-M
graph-databases - タイタン グラフ: データスキーマ。グラフのどこに状態を配置するか
「ユーザー」頂点 (いくつかの可能な役割) へのいくつかの関係/エッジを持つ「製品」頂点があります。これらの役割/エッジには状態があります (NON、IN_PROGRESS、DONE など)。Titan グラフでこれらの状態を保存するのに最適な場所setup? エッジ プロパティ? 一連のトランザクションの間、状態は一時的なものですが、ユーザーが一連のトランザクションを中断したり、ネットワーク障害などによって切断したりした場合は、状態をバックエンド ストアに永続化する必要があります (要求を行うクライアントは損失の多いモバイル接続から来ています)。
したがって、頂点とエッジには独自の「状態」があり、イベントとして、およびログに意味があります。これらの状態を (一時的に) 保存して (永続的に) 保存する最良の方法を探していますか? この問題について私にアドバイスできる人はいますか? とても有難い!
titan - TinkerPop3 Restful インターフェイスを使用して Titan Graph DB に接続する
私は Titan/Gremlin/TinkerPop3 を初めて使用し、Restful API インターフェイスを使って遊んだり実験したりして、データベースの頂点/エッジを作成/変更/削除しています。
私は基本的に、tinkerpop3 によって公開されている API をグラフ処理に使用できるかどうかを確認したいと考えています。
以下を使用して、gremlin サーバーで最新のグラフを作成しました。
Restful API を介して Titan に接続し、以下を実行できます。
しかし、以下は何も返しません。
http://tinkerpop.incubator.apache.org/docs/3.0.1-incubating/#_connecting_via_restから読みました。
どんな助けでも大歓迎です。前もって感謝します。
graph - TitanDbでエッジの多重度を変更するには?
TitanDbでエッジの多重度を変更するには? エッジを ONE2MANY に設定しましたが、MULTI に変更する必要があります。
titan - Vertex Titan 1.0 Tinkerpop 3 で複数のプロパティ キーを削除/削除できない
非常に基本的な質問です
。Titan を 0.54 からTitan 1.0 Hadoop 1 / TP3 バージョン 3.01にアップグレードしました。
の値を削除する際に問題が発生しました
おそらく、アップグレード プロセスまたは私の TP3 の誤解によるものです。
今、すべての値「role1、role2 ....」を削除したい
//---------------- 期待される結果 ----------: 空の頂点プロパティ
残念ながら、結果は空ではありません。
//------------------- 出力 --------------:
削除後も、値は明らかです。
何か案は?
titan - 述語テキストを使用して、Titan 1.0 / TP3 3.01 で頂点インデックス間の論理 OR を作成する方法
TP2 0.54 -> TP3 titan 1.0 / Tinkerpop 3.01 からの移行中
異なる Vertex インデックスのプロパティ間で Predicate Text を使用して「論理 OR」を作成する gremlin クエリを作成しようとしています。
何かのようなもの:
------------------- 事前定義された ES インデックス: ------------------
- - - - - - - - - - 期待される結果: - - - - - -
プロパティ「storyContent」に一致するすべての頂点を返したい text contains prefix 、または大文字と小文字が一致するプロパティ「userContent」を持つすべての頂点を返します。
この場合、v1 と v2 を返します。v3 が一致せず、v4 が重複しているため、重複除去ステップで無視する必要があるためです。
または多分 :
PS、
私は TP3 OR step を dedup で使用すると思っていましたが、gremlin はエラーをスローします...
助けてくれてありがとう
ヴィタリー
scala - TinkerPop3 でオプションのブランチを収集するには?
gremlin-scalaを使用して、 A からトラバースしてこれらのタプルを収集しようとしています。
(A, Some(A1)), (B, None), (C, Some(A2))
α
したがって、基本的にはエッジを繰り返し取り出し、必要に応じて に分岐してβ
、それらのアウトを収集したいと考えています。エッジがない場合は空の「ステップ」を挿入する必要があるとβ
思いますが、その方法を理解できませんでした。
また、不思議なことに削除されたトラバース後に巻き戻す方法についても少し混乱しβ
てjump
います(TP 3.1+)
これまでのところ、次のようなものがあります。
ただし、これはメインのトラバーサルに巻き戻さず、「トランク」上のノードにβ
アウト エッジがない場合は失敗します。