現在、セマンティックWebおよび個人と組織間の関係を表す複雑なデータモデルに関する多くの研究を行っています。グラフを作成しない限り、何が使用されているのか理解できませんでしたが、セマンティックオントロジーを少し知っていました。
大学のウィキで、オントロジーを疑問視する言語はSPARQLであると考えました(間違っている場合は教えてください)。
しかし最近、セマンティックオントロジーを作成した会社が、私が知らないGraphQLの形式にした会社を見ました( https://diffuseur.datatourisme.gouv.fr/graphql/voyager/ )。
セマンティック・オントロジーは、たとえばチャットボットを作成するなど、情報を見つけやすくするために作られているようですが(私がやりたいことです)、ここではセマンティック・オントロジーをAPIに変換しました。 GraphQLを作成するには、最初にセマンティックオントロジーを構築する必要がありますか?
これらすべての違いを少し説明していただけますか、正直なところ、私には少しあいまいです。
コンテキスト
Datatourisme は、(Producteurコンポーネントを介して)公開し、Diffuseurコンポーネント)POI関連のオープンデータ。
GraphQL Voyager の助けを借りて、Diffuseurで開発された特定のアプリケーションにリンクしているようです。このアプリケーションは、Diffuseurによって公開されたGraphQL APIの機能を示しています。
APIドキュメントはここ(フランス語)から入手できます。
問題
なぜRDF
一部は「スキーマレス」のため、RDFは異種データ統合タスクで便利です。
エンターテインメントとイベント、自然と文化のサイト、レジャーとスポーツ活動、観光商品、ツアー、宿泊施設、ショップ、レストランなど、フランスのさまざまな公式データベースから抽出した観光データ全体を共通の共有形式で構築する観光国家オントロジー。
RDFはsemantic:特に、RDFは自己記述的です。
[〜#〜] sparql [〜#〜]
SPARQLはRDFクエリ用のW3C標準化言語です。他のRDFクエリ言語が提案されました。
ところで、SPARQLで非RDFソースをクエリすることは可能です。 g。 R2RMLマッピングの定義。
RDFの自己記述性とSPARQLの標準性により、毎日新しい(シッティーな)APIを作成または学習する必要がなくなります。
GraphQL
GraphQLでは、種類の異なるさまざまなデータソースをラップできますが、通常はREST APIです。
ご覧のとおり、SPARQLエンドポイントをラップするのは possible です(存在する HyperGraphQL )。
なぜGraphQL
DatatourismeがGraphQLを好むのはなぜですか?
GraphQLは、開発者と彼らが一括して使用するテクノロジーにより近いものです。過去に、JSON-LDには同じ動機がありました(ただし、JSON-LDに関する私のメモを参照してください here )。
思われるように、DiffuseurのGraphQLレイヤーはAPIキーをサポートし、複雑すぎるSPARQLクエリを防ぎます。
データはまだセマンティックです
答えは、semanticの意味によって異なります。 意見 リレーショナルモデルでさえ非常に意味論的なものでした...
Eを抽出できる場合は、肯定的に答えます。 g。 コメント to :rcs
プロパティとGraphQL(および答えは否定的なようです)。
結論
直接の質問に答える:
間接的な質問に答える:
更新
HyperGraphQLに加えて、他の興味深い収束プロジェクトがあります。
私は数年間セマンティックWebに取り組んできました。 GraphqlおよびSparqlは異なる目的のために異なる言語です。 SPARQLは、トリプルストア、グラフデータセット、およびRDFノード。GraphqlはAPI言語です。できれば[〜#〜] json [〜#〜]構造体を使用してください。特定のケースについては、アプリケーションでのAI:アプリケーションにグラフデータセットを適用する必要がある場合、データセットの推論などのより高度な知識発見を実行し、データセットの上にSPARQLを適用するためにセマンティックWebアプローチが必要になる場合があります。以下の図では、セマンティックWebは、オントロジー設計とRDF化データセットにより、知識発見、推論の実行を行うさまざまなレイヤーを提示しています。
詳しくは here をご覧ください。 AIアプリケーションにそのような要件がなく、JSONベースのデータベースを使用してデータ分析を達成できる場合、Graphqlはおそらく、最近のさまざまなWebおよびモバイルアプリケーションで広く使用されているため、APIの作成に適しています。特に、異なるプラットフォームおよびマイクロサービスを介してデータを共有するために使用されます。詳細については、 here を参照してください。
それが役に立てば幸い!
すぐに、違いは次のとおりです。
SPARQL(SPARQLプロトコルおよびRDF Query Language)は、クエリ専用の言語RDF=グラフデータベース(CRUDなど)。セマンティックWeb内の標準です。 W3C勧告によって提供されるツール。
GraphQLはFacebookが作成した言語であり、APIと通信するためにJSONに非常に似ています。これは、クライアントとサーバーエンドポイント間のコミュニケーションツールです。要求は、それ自体で回答の構造を定義します。その使用は、SQLやNoSQLに限定されるものではありません...「グラフ」は、RDFに関して「トリプルで構成された構造」を意味するものではありません。
これらは、アプリケーションごとに異なる2つの言語です。
前の回答で言及していなかった非常に重要な違いは、SPARQLは一般的にはより強力なクエリ言語ですが、表形式の出力のみを生成しますが、GraphQLはツリー構造を提供しますが、これはいくつかの実装例で重要です。