問題タブ [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 投票する
0 に答える
195 参照

hadoop - titan/cassandra グラフに OLAP を実装する

トップcassandraでTitan 1.0.0を使用しています。titan/cassandra グラフで SparkGraphComputer を使用して OLAP サービスを使用したいと考えています。2つの質問があります

1) やり方は?

構成: https://github.com/thinkaurelius/titan/blob/titan10/titan-dist/src/assembly/static/conf/hadoop-graph/read-cassandra.properties

グレムリンコード:

エラー:

ここに完全なトレースがあります: http://pastebin.com/CiuXjFB2

2) データが既に titan/cassandra に保存されているのに、なぜ hadoopGraph に変換するのですか? 参照: https://groups.google.com/forum/#!topic/gremlin-users/fVijONCxvSI

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

datastax - DataStax/Tinkerpop - プロパティを削除する機能

スキーマでpropertyKeyを削除する方法を探しています。ここのドキュメントでは、プロパティを追加する方法について説明していますが、削除に関する情報はありません。ありえないということでしょうか?

DataStaxはテーブルの変更をサポートするCassandraに依存しているので、それを達成する方法があると思います.そうでなければ、プロパティを追加または削除できる動的スキーマをどのように扱うのですか?

編集:より明確にするために、スキーマとデータの両方でプロパティを削除したいと思います。ALTER DROPSQLの場合とまったく同じです。

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

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()を使用してみましたが (考えられる他のすべての構文バリエーションと一緒に)、最初のものしかキャッチしていないようです:

見つけられるすべての情報源から手に入れることができるすべてのドキュメントに目を通しましたが、この「一度に」方法については何も見つかりません。誰かがこれを以前に行ったことがありますか、またはそれを行う方法を知っていますか?

前もって感謝します!

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

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

誰かが現在の正しい設定を知っていますか?

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

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 サーバーに接続するオープン ソース プロジェクトはありますか?

外部構成を使用したメモリ内ではなく、完全に機能する例を見たいと思います。

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

neo4j - Tinkerpop Neo4j 暗号クエリが機能しない

(gremlin を使用して作成された) neo4j グラフがあり、Gremlin を使用してそれを使用したいのですが、グラフの暗号クエリが機能していないようです:

これは私がクエリを実行しようとする方法です:

グラフを Neo4j サーバーにロードすると、同じクエリが neo4j Web コンソールで機能します。

neo4j出力

次のライブラリを使用しています。

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

orientdb - OrientDB-Gremlin でトランザクションを作成する

私はこのプラグインを使用して、tinkerpop 3.x を使用して orient DB とやり取りできるようにしています。

どうすればさまざまなトランザクションを作成できるのでしょうか?

TitanDB を使用すると、次のように簡単になります。

OrientDB-Gremlin で次のことを試しました。

次のエラーを受け取りました:

これは、異なるトランザクションを取得する唯一の方法は、異なるスレッドのスコープ内でそれらを開くことであることを意味しますか?

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

gremlin - Gremlinを使用してDSE Graphからすべてのノードをストリーミング

私はDataStax Enterprise Graphを使用しており、Gremlin を使用してグラフ データベースからアプリにすべてのノードをストリーミングしたいと考えています。

:永続変数のセッションを使用して、WebSocket 経由でGremlin サーバーと通信しています。

メモリ内のすべてのノードを取得せずにこれを行うには、まずサーバー上にイテレータを作成します。

次に、反復子をバッファに徐々に読み込み、バッファの内容を返します。

以前はTitanDBでこれを行っていましたが、問題なく動作しました (1 秒あたり数千ノードの読み取り)。

DSE Graphを使用すると、はるかに遅くなり (1 秒あたり 330 回の読み取り)、わずか 400,000 個のノードを読み取った後に次のエラー エラーが発生します。

操作がタイムアウトになりました - 0 応答しか受信しませんでした。

DSE Graphでこれを行うより良い方法はありますか?

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

titan - Gremlin Server コマンド評価パフォーマンスの改善

何万ものノードとエッジを cassandra でバックアップされた tinkerpop に挿入すると、Gremlin Server を除いて、基本的にすべてのサービスがほとんどアイドル状態になっていることがわかります。つまり、Websocket に接続され、Gremlin 形式のコマンドを送信するクライアントは、多くの CPU 時間を消費しておらず、Cassandra や ElasticSearch も消費していません。一方、Gremlin Server は複数の CPU を消費しています (数十のコアと数百ギガバイトの RAM を備えたかなり強力なマシン上で)。

GS ワーカー スレッドの数を増やしても、プラスの影響はありません。許可される同時 Websocket リクエストの数 (クライアント設定) を増やしても効果はありません。奇妙なことに、無制限の数の同時 Websocket 要求により、データの挿入に失敗し、HTTP エラー メッセージの応答がありません。

作業理論では、gremlin サーバーのボトルネックは Gremlin コマンド (g.addV など) の評価です。websocket プラグインを使用して高い取り込み率を得た経験のある人はいますか? または、文字列の解析と評価を回避するために、バイナリ データで動作する独自の JVM 言語プラグインを作成する必要がありますか?

編集: スクリプトは、頂点挿入またはエッジ/頂点/エッジ挿入の最大 100 ステートメントのバッチです。

頂点の挿入:

エッジ、頂点、エッジのトリプルの場合:

「ident」はノードにインデックスが付けられているため、.has高速である必要があります。悲しいことに、データセットには存在しないソースまたは宛先のエッジが含まれているため、「FastNoSuchElementException」エラーが発生します。エラーの場合、一連のステートメントを半分に分割し、スクリプトを 2 つの小さな挿入試行として再試行します。たとえば、50 個のエッジ/頂点/エッジ挿入ステートメントが失敗したスクリプトは、25 個のスクリプトの 2 つになり、このプロセスは失敗が無視される単一の e/v/e 挿入を含むスクリプトまで続きます。

注意: Titan 1.0 を使用しています。

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

gremlin - TinkerPop 3: エッジ方向ごとにカウントをグループ化する Gremlin クエリ

最初に頂点 ID があり、インエッジとアウトエッジの数を取得したいと考えていました。

.by() ステップは方向タイプを受け入れないため、別の方法はありますか?