問題タブ [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.
amazon-web-services - AWS Lambda + Tinkerpop/Gremlin + EC2 上の TitanDB + クラウド内の AWS DynamoDB
次のフローを実行しようとしています。
ユーザーが AWS Gateway (REST) にアクセスし、
AWS Lambda をトリガーし、
Tinkerpop/Gremlin を使用して接続する
を使用する EC2 上の TitanDB
バックエンドとしてのクラウド (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() メソッドでハングするため、クエリを実行できません。
hadoop - titan/cassandra グラフに OLAP を実装する
トップcassandraでTitan 1.0.0を使用しています。titan/cassandra グラフで SparkGraphComputer を使用して OLAP サービスを使用したいと考えています。2つの質問があります
1) やり方は?
グレムリンコード:
エラー:
ここに完全なトレースがあります: http://pastebin.com/CiuXjFB2
2) データが既に titan/cassandra に保存されているのに、なぜ hadoopGraph に変換するのですか? 参照: https://groups.google.com/forum/#!topic/gremlin-users/fVijONCxvSI
datastax - DataStax/Tinkerpop - プロパティを削除する機能
スキーマでpropertyKeyを削除する方法を探しています。ここのドキュメントでは、プロパティを追加する方法について説明していますが、削除に関する情報はありません。ありえないということでしょうか?
DataStaxはテーブルの変更をサポートするCassandraに依存しているので、それを達成する方法があると思います.そうでなければ、プロパティを追加または削除できる動的スキーマをどのように扱うのですか?
編集:より明確にするために、スキーマとデータの両方でプロパティを削除したいと思います。ALTER DROP
SQLの場合とまったく同じです。
amazon-dynamodb - Gremlin-Server は、複数のプロパティを持つ頂点を追加します (Titan 1.0.0)
Titan グラフを作成しています (Dynamodb を使用)。Titan 1.0.0 を使用し、Gremlin-Server 3 (TinkerPop3 上) を実行しています。
1 行にラベルと複数のプロパティを含む頂点をグラフに追加しようとしています。ラベルと単一のプロパティを持つ頂点を追加することはできます。また、頂点を作成した後に複数のプロパティを頂点に追加することもできますが、すべてを一度に行うことはできないようです。
テストのために、gremlin シェルでコマンドを実行していますが、最終的なユース ケースは REST API を介して対話しています (既に正常に動作しています)。
注意として、私はこれらの各トランザクションの後にロールバックしているので、白紙の状態になっています。
セッションを開始する方法は次のとおりです。
次のように、ラベルと単一のプロパティを持つ頂点を作成できます。
また、頂点を作成し、作成したばかりの頂点から開始するトラバーサルを使用して、後で多くのプロパティを追加することもできます。
これで問題ありませんが、この結果を得るために 2 つの呼び出しを行わないようにしているので、これらすべてのプロパティを一度に使用して頂点を作成したいと思います。基本的に、次のようなことができるようにしたいのですが、複数で失敗します.property()
:
また、複数のプロパティで1.property()
を使用してみましたが (考えられる他のすべての構文バリエーションと一緒に)、最初のものしかキャッチしていないようです:
見つけられるすべての情報源から手に入れることができるすべてのドキュメントに目を通しましたが、この「一度に」方法については何も見つかりません。誰かがこれを以前に行ったことがありますか、またはそれを行う方法を知っていますか?
前もって感謝します!
cassandra - Titan-1.1.0-SNAPSHOT でスリフト フレームのサイズを大きくするための正しい構成は何ですか?
フルゴラ グラフ コンピューターを使用して、タイタン グラフを含むクラスターで count メソッドを実行すると、次の一般的なエラーが発生します。
Frame size (20769719) larger than max length (15728640)!
これは、構成ファイルで次のように指定することで修正できます。
storage.cassandra.frame-size-mb=60
ただし、同じデータを指す Hadoop グラフで SparkGraphComputer を使用すると、同じエラーが発生します。これらの設定をすべて試しましたが、どれも機能しません。
titanmr.ioformat.conf.storage.cassandra.frame-size-mb=60
titanmr.ioformat.conf.storage.cassandra.frame-size=60
titan.hadoop.input.conf.storage.cassandra.thrift.frame-size=60
titan.hadoop.input.conf.storage.cassandra.thrift.frame-size-mb=60
storage.cassandra.thrift.frame-size=60
storage.cassandra.thrift.frame-size-mb=60
誰かが現在の正しい設定を知っていますか?
java - Tinkerpop3 がリモートの TitanDB サーバーに接続
Java で Tinkerpop3 をクライアントとして使用して、既に実行されている TitanDB サーバーから Graph オブジェクトを取得しようとしています (サーバーを作成したくありません)。
言い換えれば、私はそのような機能を実装しようとしています:
私は次のようにしようとしていました: AWS Lambda + Tinkerpop/Gremlin + EC2 上の TitanDB + クラウド内の AWS DynamoDB
しかし、私が理解しているように、TitanFactory.open()
サーバーを起動しますが、これはしたくありません-既存のサーバーに接続したいだけです。
ドキュメンテーションやインターネットのほとんどの資料では、例としてインメモリ グラフが使用されていますが、次の方法を示すグラフが見つかりません。
新しいグラフを作成してリモート サーバーに保存する
リモート サーバーから既存のグラフを取得する
そのようなリモートグラフを更新するため、エッジを追加/削除した後、変更をコミットします
グラフ全体を削除
上記のことは、Gremlin 言語 (文字列) ではなく、Java API (TinkerpopBlueprins) を介して行いたいと考えています。この男は私が必要としているものに近づいています:
Add vertices to TitanDB Graph in Java です
が、彼のメソッドは既にGraph
引数として取ります。
インターネットの多くの場所で、GraphFactory.open() がプロパティ ファイルへのパスを取得することを見てきましたが、特に TitanDB 関連データでは、そのようなファイルの内容の例を見たことがないので、Configuration
オブジェクトを使用することをお勧めします。
gremlin.graph プロパティはありません。
[titan]がGraphFactory
見つからないと表示されます - jar がクラスパスにあることを確認してください
代わりに、列挙型と定数を使用して静的に型指定されたビルダーはありMap<String, Object>
ますか?提供する必要があるプロパティとその型を教えてくれますか? Tinkerpop3 を使用してクライアントとしてリモートの TitanDB サーバーに接続するオープン ソース プロジェクトはありますか?
外部構成を使用したメモリ内ではなく、完全に機能する例を見たいと思います。
orientdb - OrientDB-Gremlin でトランザクションを作成する
私はこのプラグインを使用して、tinkerpop 3.x を使用して orient DB とやり取りできるようにしています。
どうすればさまざまなトランザクションを作成できるのでしょうか?
TitanDB を使用すると、次のように簡単になります。
OrientDB-Gremlin で次のことを試しました。
次のエラーを受け取りました:
これは、異なるトランザクションを取得する唯一の方法は、異なるスレッドのスコープ内でそれらを開くことであることを意味しますか?