問題タブ [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.

0 投票する
2 に答える
100 参照

amazon-dynamodb - Titan - 混合インデックスを使用した has() の奇妙な動作

永続化のために ES バックエンドと DynamoDB を備えた Titan グラフがあります。

メソッドhas("mykey", "value")が頂点を取得することはありません。mykeyElasticsearch によってインデックス付けされた を照会する場合、常に何も返しません。インデックスが更新され、有効になります。

このクエリを実行すると、

私はそれを機能させるためのトリックを試しました

これはどこかの問題のようですが、正確にはわかりません。これについて何か考えはありますか?

0 投票する
2 に答える
11396 参照

graph - Gremlin サーバーで Vertex の値を更新する方法 (Titan 1.0)

私は次の詳細を持つ頂点を持っています:

http://localhost:8182/?gremlin=gV(4192)

頂点の名前を更新したい:

次のクエリを試しました:

gV(4192).setProperty('名前','ウィリアム')

しかし、それは更新されていません。エラーが発生しています

0 投票する
1 に答える
411 参照

graph - Gremlin Server (Titan 1.0) で内部サブクエリを形成する方法は?

私は次のクエリを使用しています:

次の結果が得られます:

応答で Vertex "NotificationInitiatedByVertexId" (Edge Property ) の情報も取得したい。そのために、次のクエリを試しました:

注:クエリ自体でエッジプロパティから動的に値を取得する方法がわからなかったため、サブクエリで頂点IDを直接試しました。

エラーを出しています。私はたくさん試しましたが、解決策を見つけることができません。

0 投票する
1 に答える
627 参照

elasticsearch - Titan 1.0 の混合インデックスが警告で機能しない - クエリではすべての頂点を反復処理する必要がある

私はバックエンドとしてelasticsearchでTitan 1.0を使用しています。titan のドキュメントから、elasticsearch を使用するために、インデックスの構築中に mixedIndex を使用することを学びました。私のユースケースと問題は次のとおりです。本屋の登録データ、登録時間のデータ、および名前や年齢などのその他の個人情報用のグラフデータベースを作成しています。特定の時間範囲に登録されたすべてのユーザーを照会したい、つまり、クエリの数値比較関数が必要です。これは私がインデックスを作成する方法です:

ただし、timeIndex は正常に作成されますが、登録された時刻を次のようにクエリしたい場合は、次のようになります。

それは私に与えます:

gremlinコマンドでチェックして、データがすぐそこにあることを確認しましたが、空の結果が得られます。私は何か間違ったことをしていますか?どうすればこの問題を解決できますか?

0 投票する
1 に答える
243 参照

tinkerpop3 - Blazegraph Tinkerpop 3 インデックス作成

Blazegraph について学習しようとしています。現時点では、単純なルックアップを最適化する方法に戸惑っています。

すべての頂点にid一意のプロパティがあるとします。このプロパティはユーザーが設定します。idTinkerpop API にこだわりながら、特定の頂点の検索を高速化する方法はありますか?

ここで定義されている検索 APIが唯一の方法ですか?

私の以前の経験はTitanDBであり、Titan の場合、Tinkerpop API が完璧に統合されるインデックスを定義することが可能です。検索 API を使用せずに Blazegraph で同じ結果を得る方法はありますか?

0 投票する
0 に答える
70 参照

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); } }

上記の非効率を回避する方法はありますか?

0 投票する
4 に答える
7508 参照

gremlin - 単一のgremlinクエリに複数のエッジを追加する方法は?

私のシナリオは、1 つのクエリで頂点間に複数のエッジを追加することです。

以下のノードを想定してください: これらは私が持っているラベルと ID です

ユーザー:

4100

:

4200

4355

4676

これらの頂点間にエッジを確立する必要があります

通常、ノード間に単一のエッジを作成することで実行できます。一度に 50 を超える頂点間にエッジを作成する場合、効率的な方法ではありません。ティンカーポップを使用しています3.0.1

0 投票する
1 に答える
591 参照

gremlin - Tinkerpop 3でカスタムステップを定義するには?

Tinkerpop 2 は、Gremlin.defineStep(..) によるユーザー定義のステップをサポートするために使用されていました

Tinkerpop 3 を使用して同じことを達成するにはどうすればよいですか?

カスタムステップを作成し、トラバーサルステップのセットを組み合わせるGremlin APIはありますか?

どんな提案でも大歓迎です。

ありがとうカニスカ

0 投票する
2 に答える
978 参照

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 を返します。

この記事がメーリング リストにあることは知っていますが、内容を理解できないか、問題を解決できません。何が起こっているのか、これを修正する方法を誰かに説明してもらえますか? 以下に設定を貼り付けました。

編集:このスクリプトはエラーを再現します

0 投票する
1 に答える
897 参照

amazon-web-services - AWS Lambda + Tinkerpop/Gremlin + EC2 上の TitanDB + クラウド内の AWS DynamoDB

次のフローを実行しようとしています。

  1. ユーザーが AWS Gateway (REST) にアクセスし、

  2. AWS Lambda をトリガーし、

  3. Tinkerpop/Gremlin を使用して接続する

  4. を使用する EC2 上の TitanDB

  5. バックエンドとしてのクラウド (EC2 ではなく) の AWS DynamoDB。

現在、クラウドの DynamoDB にデータを保存する、完全に機能する TitanDB インスタンスを EC2 上に作成することができました。また、Tinkerpop/Gremlin を介して AWS Lambda から EC2 に接続できますが、この方法でのみ接続できます。

これは機能しますが、単純な Gremlin 言語の代わりに「Criteria API」(GremlinPipeline) を使用することを強く好みます。つまり、ORM か何かが必要です。Tinkerpopにはそれが含まれていることを私は知っています。私が必要としているのは、Graph クラスのオブジェクトであることに気付きました。これは私が試したことです:

ただし、「実装クラスが見つかりませんでした: com.amazon.titan.diskstorage.dynamodb.DynamoDBStoreManager」がスローされます。もちろん、IntelliJ IDEA も見つからないため、コンピューターは正しいです。

私の依存関係:

私の目標は何ですか:完全に動作するGraphオブジェクトを持っています

私の問題は何ですか: DynamoDBStoreManager クラスがなく、追加する必要がある依存関係がわかりません。

私の追加の質問は、Cluster クラスを介した接続には IP のみが必要で動作するのに、TitanFactory には EC2 の gremlin-server で使用したようなプロパティが必要なのはなぜですか? 2 番目のサーバーを作成したくありません。クライアントとしてサーバーに接続し、Graph オブジェクトを取得したいだけです。

編集:リゾルバーを追加した後、ビルドされ、出力で複数取得されます:

13689 [TitanID(0)(4)[0]] 警告 com.thinkaurelius.titan.diskstorage.idmanagement.ConsistentKeyIDAuthority - ID ブロックの取得中に一時ストレージ例外 - PT2.4S で再試行: com.thinkaurelius.titan.diskstorage.TemporaryBackendException: ID ブロック [1, 51) のクレームを PT0.342S に書いた => 遅すぎる、しきい値: PT0.3S

実行は open() メソッドでハングするため、クエリを実行できません。