問題タブ [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.
graph - Gremlin Server (Titan 1.0) で内部サブクエリを形成する方法は?
私は次のクエリを使用しています:
次の結果が得られます:
応答で Vertex "NotificationInitiatedByVertexId" (Edge Property ) の情報も取得したい。そのために、次のクエリを試しました:
注:クエリ自体でエッジプロパティから動的に値を取得する方法がわからなかったため、サブクエリで頂点IDを直接試しました。
エラーを出しています。私はたくさん試しましたが、解決策を見つけることができません。
elasticsearch - Titan 1.0 の混合インデックスが警告で機能しない - クエリではすべての頂点を反復処理する必要がある
私はバックエンドとしてelasticsearchでTitan 1.0を使用しています。titan のドキュメントから、elasticsearch を使用するために、インデックスの構築中に mixedIndex を使用することを学びました。私のユースケースと問題は次のとおりです。本屋の登録データ、登録時間のデータ、および名前や年齢などのその他の個人情報用のグラフデータベースを作成しています。特定の時間範囲に登録されたすべてのユーザーを照会したい、つまり、クエリの数値比較関数が必要です。これは私がインデックスを作成する方法です:
ただし、timeIndex は正常に作成されますが、登録された時刻を次のようにクエリしたい場合は、次のようになります。
それは私に与えます:
gremlinコマンドでチェックして、データがすぐそこにあることを確認しましたが、空の結果が得られます。私は何か間違ったことをしていますか?どうすればこの問題を解決できますか?
orientdb - (Tinkerpop) DAO オブジェクトからモデル オブジェクトへの FramedGraph マッピング
OrientDb 2.2 と TinkerPop FramedGraph を使用しています。オブジェクトモデルとのやり取りを簡単にするために、FramedGraph を使用しています。setProperty("name", "bob")
FramedGraph について理解できないことの 1 つは、実装できないインターフェイス DAO オブジェクトがあるのはなぜですか? 上記の制約により、オブジェクトの重複があります: tinkerpop DAO インターフェイスとモデル オブジェクトです。
interface UserNode {
private String firstName;
private String lastName;
}
class User {
private String firstName;
private String lastName;
}
これは、大量のデータを読み書きするときに大きなオーバーヘッドを引き起こします。
List<User> fetchAllUsers() {
Iterable<UserNode> userNodes = graph.query().vertices(UserNode.class);
List<User> users = new ArrayList<>();
for (UserNode userNode: userNodes) {
User user = new User();
user.setFirstName(userNode.getFirstName());
user.setLastName(userNode.getLastName());
users.add(user);
}
}
上記の非効率を回避する方法はありますか?
gremlin - 単一のgremlinクエリに複数のエッジを追加する方法は?
私のシナリオは、1 つのクエリで頂点間に複数のエッジを追加することです。
以下のノードを想定してください: これらは私が持っているラベルと ID です
ユーザー:
4100
曲:
4200
4355
4676
これらの頂点間にエッジを確立する必要があります
通常、ノード間に単一のエッジを作成することで実行できます。一度に 50 を超える頂点間にエッジを作成する場合、効率的な方法ではありません。ティンカーポップを使用しています3.0.1
。
gremlin - Tinkerpop 3でカスタムステップを定義するには?
Tinkerpop 2 は、Gremlin.defineStep(..) によるユーザー定義のステップをサポートするために使用されていました
Tinkerpop 3 を使用して同じことを達成するにはどうすればよいですか?
カスタムステップを作成し、トラバーサルステップのセットを組み合わせるGremlin APIはありますか?
どんな提案でも大歓迎です。
ありがとうカニスカ
apache-spark - SparkGraphComputer を使用してタイタン グラフの頂点をカウントすると、org.apache.spark.SparkException: Job aborted due to stage failure:
SparkGraphComputer を使用してクラスター上のタイタン グラフの頂点数をカウントしようとすると、対処方法がわからないというエラーが表示されます。コードでtinkerpop 3.1.1-incubatingとTitan 1.1.0-SNAPSHOTを使用しており、クラスターにdatastax community edition 2.1.11とspark 1.5.2-bin-hadoop2.6をインストールしました
私の問題を再現するために、最小限の Java の例をまとめました。
OLTP を使用したカウントと、FulgoraGraphComputer で OLAP を使用したカウントは、正しい答えを返します。ただし、SparkGraphComputer を使用した OLAP カウントは、org.apache.spark.SparkException: Job aborted due to stage failure: をスローします。
興味深いことに、Titan に同梱されている gremlin コンソールで同様のスクリプトを実行すると、同じアルゴリズムのように見える別のエラーが発生します。
これは 2 回スローorg.apache.thrift.protocol.TProtocolException: Required field 'keyspace' was not present! Struct: set_keyspace_args(keyspace:null)
しますが、完了して正しくない 0 を返します。
この記事がメーリング リストにあることは知っていますが、内容を理解できないか、問題を解決できません。何が起こっているのか、これを修正する方法を誰かに説明してもらえますか? 以下に設定を貼り付けました。
と
編集:このスクリプトはエラーを再現します