3

Allegrographは、基本的にRDFトリプル(実際には5フィールド)ストアです。では、なぜ5つの列を持つMySQLテーブルを作成し、それらにトリプルを格納できないのでしょうか。?

AGはそのようなMySqlテーブルに対してどのような機能を持っていますか?

4

2 に答える 2

5

簡単に言えば、SPARQLをサポートしています

SPARQLはRDFのクエリ言語であり、SQLとはまったく異なるセマンティクスを持っています。SPARQLをSQLクエリに変換するツールがありますが、パフォーマンスが非常に悪いことがよくあります。さらに、 SPARQL仕様には多くの機能(特に組み込み関数)があり、MySQLには同等のものがないため、ストアドプロシージャ/ユーザー定義関数を使用するか、コードで実行する必要があります。

SPARQLの評価は、SQLの評価とはまったく異なります。これは、SPARQLが多くの複雑な結合にはるかに依存しているため、SPARQLストアは、SQLオプティマイザーと同じ原理で動作するが、従来のRDBMSとは非常に異なる種類のクエリに対処するように設計されたオプティマイザーを使用します。通常は処理します。

一般に、5列のテーブルは非常に単純です。これは、各列に複数の部分がある複雑なアイテムが含まれており、複数のテーブルを使用して保存する方がよいためです。また、単一のテーブルアプローチでは、より正規化されたテーブル設計よりも大規模なストレージ要件が発生します。

気になるのがSQLデータベースとの間でRDFトリプルを保存およびロードすることだけである場合は、単純な単一テーブルのアプローチで十分な場合があります。実際に何か便利なことをしたい場合は、より複雑なSQLデータベーススキーマまたはAllegroGraphのような適切なRDFストアが必要です。

于 2012-01-06T20:27:20.143 に答える
0

AllegroGraphは、ACID準拠のRDFグラフデータベースの業界標準を設定し、セマンティックテクノロジーを利用するOLTP、推論、およびビジネスインテリジェンスアプリケーション向けに最適化されています。

では、RDFグラフデータベースをシミュレートするために単一の5列のテーブルを作成することにした場合、何が欠けているでしょうか。

  • 他の応答で説明されているように、SPARQL(セマンティックワールドのクエリ言語)や独自のSPARQL拡張機能を作成する機能はありません。
  • mySQLは、高度に正規化されたデータベーススキーマ用に最適化されており、単一のテーブルの大きなテーブルやクエリごとの複数の自己結合ではありません。
  • AllegroGraphは、このタイプのストア用にすべて最適化されたいくつかのサーバー側プログラミング言語(Javascript、Prolog、Lisp)をサポートしています。
  • AllegroGraphは、同じデータセットでRDFデータ、Geo拡張機能、SocialNetworkAnalysis拡張機能をすべて同時にサポートします。
  • AllegroGraphは、RDFグラフデータセット(RDFS ++)に対する推論をサポートします
  • AllegroGraphはトリプルレベルのセキュリティをサポートしています。
  • AllegroGraphは、JavaセマンティックライブラリのJenaとSesame、およびPython、C#、Clojure、Lisp、Ruby、RESTインターフェイスをサポートしています。
  • 他のエンタープライズデータベースと同様に、AllegroGraphはオンラインバックアップ、レプリケーション、ウォームスタンバイ、ポイントインタイムリストアもサポートしています。
于 2012-01-28T01:40:29.527 に答える