Gremlin-Go: ツリー ステップはシリアル化できません

王林
リリース: 2024-02-09 10:51:19
転載
991 人が閲覧しました

Gremlin-Go: ツリー ステップはシリアル化できません

php エディター Apple Gremlin-Go は、新しいタイプの分散データベースです。シリアル化不可能なツリー ステップのテクノロジーを使用して、より効率的で信頼性の高いデータをユーザーに提供します。ストレージと処理のオプション。データをツリー構造に保存し、シリアル化不可能な手順を使用してデータの読み取りと書き込みを行うことにより、Gremlin-Go は分散環境でデータの一貫性と信頼性を維持できます。この革新的な設計コンセプトにより、Gremlin-Go は現在主要な分散データベースの 1 つとなり、あらゆる規模の企業に強力なデータ サポートを提供します。

質問の内容

特定のラベルの背後にあるすべての「イン」エッジを反復処理するクエリを実行しています。後で「アウト」エッジに対して同様のクエリを実行します。横断する複数のエッジを持つ頂点がある可能性があり、これをクライアントに反映する必要があるため、これをツリーにしたいのですが、ここで単に tolist() を使用することはできません。

現在 gremlin-go SDK を使用していますが、tree() ステップを呼び出すときに逆シリアル化エラーが発生します。これは私のクライアント コードのスニペットです:

リーリー

これにより、グラフバイナリ コア データ型「tree」であるデータ型 0x2b で逆シリアル化エラーが生成されます

リーリー

gremlin-go リファレンス ドキュメントには、特定のシリアル化サポートについては何も記載されていないようです。 gremlin-go Readme によると、すべてのコア グラフバイナリ データ型をサポートしています。 gremlin コンソールでクエリをテストして、クエリとサーバーを確認しました。 g.v(<id>).emit().repeat(__.in(<label>)).tree().next()</label></id>

追加のコンテキストとして、私は gremlin-server:3.5.3 に対してローカルで開発し、AWS Neptune のサポートでクエリを完了するという目標を実験しています。これらが完全に互換性があるわけではないことは承知しており、neptune-gremlin のリファレンスに従うことになります。 neptune の最新バージョンでは、サポートされている gremlin の最新バージョンが 3.5.3 であることが指定されています。

回避策

一般に、サブグラフやツリーなどの構造を逆シリアル化できるのは Java (および他の JVM ベースのクライアント) だけです。これは、現在利用可能なデータ構造のネイティブ実装を備えているのは、これらの Gremlin クライアントだけであるためです (たとえば、JVM クライアントには TinkerGraph が利用可能です)。

これは TinkerPop コミュニティがよく知っているものであり、改善する価値のあるもののリストに載っています。

考えられる回避策の 1 つ (あまり良くありません) は、HTTP エンドポイントを使用し (クエリをテキストとして送信し)、返された GraphSON を処理することです (そのようなデータ構造を返す必要がある場合)。

以上がGremlin-Go: ツリー ステップはシリアル化できませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!