RDFクエリ言語は、リソース記述フレームワーク(RDF) 形式 で保存されたデータを取得および操作できるコンピューター言語、具体的にはデータベース用のクエリ言語です。
SPARQLは標準的なRDFクエリ言語として登場し、[1] 2008年にW3C勧告となった。[2] [3]
クエリ言語のプロパティ
RDFクエリ言語設計に関連する特性には、RDF形式のサポートが含まれる: [4]
- RDFグラフを形成するトリプルのコレクションであるRDFデータのサポート
- RDFグラフの意味についての推論である含意を可能にするRDFセマンティクスと推論のサポート
- XMLスキーマなどのスキーマデータ型のサポート
望ましい言語機能については、
- 表現力: 構築できるクエリ式の力
- 閉包: RDFグラフ上のデータ操作は別のRDFグラフを生成する
- 直交性: データ操作は、それが使用されるコンテキストから独立している
- 安全性: すべての式は有限の結果セットを返します。
クエリ言語ファミリー
RDFクエリ言語は言語ファミリーに分類することができ、各ファミリーは密接に関連した言語の集合で構成されています。[5]
SPARQLファミリーの言語には、SquishQL、RDQL、SPARQL、TriQLが含まれます。[5]これらの言語は、RDFデータストアを、必ずしもオントロジーやスキーマ情報が関連付けられているわけではないトリプルストアとして扱います。SPARQLファミリーのメンバーは、リレーショナルまたはパターンベースの操作を行うため、リレーショナルクエリ言語と見なされます。[6] SquishQLは、使いやすく、SQLに構造が似ているように構築された言語です。RDQL(RDF Data Query Languageの略)は、SquishQLをさらに発展させたものです。RDQLは、シンプルな低レベルのRDF言語となることを目指しており、一時期W3C標準化の候補となりました。[7] SPARQLは、RDFサブグラフの抽出をサポートするRDQLの拡張版です。2008年にSPARQL 1.0がW3C勧告となり[8]、2013年にSPARQL 1.1がW3C勧告となりました。[9]
RQL言語ファミリーには、RQL、SeRQL、eRQLが含まれます。[5]これらの言語は、データとスキーマの両方のクエリをサポートしています。RDFクエリ言語の略語であるRQLは、RDFスキーマ(RDFS)で定義された型を使用してスキーマクラス階層をクエリし、型によるデータクエリをサポートすることで知られています。RQLはSPARQL言語ファミリーよりも表現力が高いと考えられていますが、機能が多すぎることや構文が独特であるという批判もありました。SeRQLとeRQLは、RQLの簡略化された代替言語として開発されました。
XMLクエリ技術に着想を得たRDFクエリ言語ファミリーが存在します。[5] XQuery for RDFは、XMLクエリ言語XQueryを用いてRDFデータをクエリします。RDFデータをXML形式にシリアル化し、その結果に対してXQueryを適用することでクエリを実行します。これは「構文ウェブアプローチ」と呼ばれています。TreeHuggerとRDF TwigはXSLTを用いてRDFデータをクエリします。4SuiteのVersaは、 XPathからインスピレーションを得たクエリ言語です。
他の原理に基づくRDFクエリ言語も存在します。[5] Metalogはクエリと推論を組み合わせ、英語に似た構文を持っています。AlgaeはW3Cによって開発されたクエリ言語で、反応型ルール([10]とも呼ばれる)を追加します。これは、例えばAlgaeの式がデータクエリなのかデータ更新なのかを判断するアクションとも呼ばれます。
RDFクエリ言語の他の例としてはRDFDBQLがある。[11]
例
<http://swordfish.rdfweb.org/discovery/2003/11/cities/xmlrdf.jsp?query=port>から?uri 、?name 、 ?lat 、 ?lon
を選択します。ここで、( ?city 、<rdfs:label> 、? name )、( ?city 、<rdfs:label> 、? uri )、( ?city 、<pos:lat> 、? lat )、( ?city 、<pos:long> 、? lon )を使用します。rdfs FOR <http://www.w3.org/2000/01/rdf-schema#> 、pos FOR <http://www.w3.org/2003/01/geo/wgs84_pos#> 、doilair FOR <http://www.daml.org/2001/10/html/airport-ont#> 、vcard FOR <http://www.w3.org/vcard-rdf/3.0#>
関連言語
RDF データをクエリできる他の言語には次のものがあります:
- DQL、XMLベース、 DAML+OILで表現されたクエリと結果
- XUL には、RDF 内のデータ一致ルールを宣言するためのテンプレート要素があります。XULはデータバインディングに RDF を広範に使用します。
- Adenine (RDF で書かれたプログラミング言語)。
XQuery(XML Query)は、XML文書用の標準クエリ言語です。[12]
Cypher Query Language、GraphQL、Gremlinなどのグラフクエリ言語は、RDFデータストアなどのグラフデータベースをクエリするために設計されています。 [13]
トピックマップクエリ言語(TMQL)[14]はトピックマップ用のクエリ言語であり、RDFに似ていますが、より一般的なデータ表現です。
参考文献
- ^ ニコス・ビカキス、クリスア・ツィナラキ、ネクタリオス・ギオルダシス、イオアニス・スタヴラカントナキス、スタブロス・クリストドゥラキス(2013年1月1日)「XMLとセマンティックウェブの世界:技術、相互運用性、統合:現状の概観」セマンティックハイパー/マルチメディア適応. 計算知能研究. 第418巻. pp. 319– 360. arXiv : 1608.03556 . doi :10.1007/978-3-642-28977-4_12. ISBN 978-3-642-28976-7. S2CID 6357481。
- ^ Prud'hommeaux, Eric; Seaborne, Andy (2008年1月15日). 「RDF用SPARQLクエリ言語」. W3C . ワールド・ワイド・ウェブ・コンソーシアム.
- ^ Herman, Ivan (2008年1月15日). 「SPARQLは勧告です」.セマンティックウェブアクティビティニュース. ワールドワイドウェブコンソーシアム.
- ^ Haase, Peter; Broekstra, Jeen; Eberhart, Andreas; Volz, Raphael (2004年11月7日). 「RDFクエリ言語の比較」.セマンティックウェブ – ISWC 2004.コンピュータサイエンス講義ノート. 第3298巻. pp. 502–517. CiteSeerX 10.1.1.105.8731 . doi :10.1007/978-3-540-30475-3_35. ISBN 978-3-540-23798-3。
- ^ abcde Bailey, James; Bry, François; Furche, Tim; Schaffert, Sebastian (2005年1月1日). 「WebとセマンティックWebクエリ言語:概説」. Reasoning Web. Lecture Notes in Computer Science. Vol. 3564. pp. 35– 133. doi :10.1007/11526988_3. ISBN 9783540278283. 2016年10月23日閲覧。
{{cite book}}:|journal=無視されました (ヘルプ) - ^ ティム・ファーシュ、ベネディクト・リンセ、フランソワ・ブライ、ディミトリス・プレクサキス、ゲオルグ・ゴットロブ(2006年1月1日)「RDFクエリ:言語構成と評価手法の比較」Reasoning Web . コンピュータサイエンス講義ノート. 第4126巻. pp. 1– 52. CiteSeerX 10.1.1.71.227 . doi :10.1007/11837787_1. ISBN 978-3-540-38409-0。
- ^ 「RDQL - RDF用クエリ言語」www.w3.org . W3C . 2016年10月23日閲覧。
- ^ 「SPARQLは勧告です | セマンティックウェブアクティビティニュース」www.w3.org 2008年1月15日. 2016年10月23日閲覧。
- ^ 「11のSPARQL 1.1仕様がW3C勧告に | セマンティック・ウェブ・アクティビティ・ニュース」www.w3.org . 2013年3月21日. 2016年10月23日閲覧。
- ^ ベルステル、ブルーノ;ボナール、フィリップ。ブライ、フランソワ。エッカート、マイケル。パトランジャン、パウラ=ラヴィニア(2007 年 1 月 1 日)。 「ウェブ上のリアクティブなルール」。推理ウェブ。コンピューターサイエンスの講義ノート。 Vol. 4636。183–239 ページ。土井:10.1007/978-3-540-74615-7_3。ISBN 978-3-540-74613-3。
- ^ フェンゼル, ディーター; シカラ, カティア; ミロポウルス, ジョン (2003). セマンティックウェブ - ISWC 2003.シュプリンガー. p. 89. ISBN 9783540203629. 2016年10月21日閲覧。
- ^ 「XQuery 3.0: XMLクエリ言語」www.w3.org . W3C . 2016年10月23日閲覧。
- ^ アングルズ、レンゾ、グティエレス、クラウディオ(2005年5月29日)「グラフデータベースの観点から見たRDFデータのクエリ」セマンティックウェブ:研究と応用、コンピュータサイエンス講義ノート、第3532巻、pp. 346– 360 、 doi :10.1007/11431053_24、ISBN 978-3-540-26124-7。
- ^ 「トピックマップクエリ言語(TMQL)」www.isotopicmaps.org . 2016年10月23日閲覧。
外部リンク
- RDFクエリ仕様
- RDFクエリ言語調査
- RDFクエリ言語の比較
- RDFクエリの使用例(クエリ言語のサンプルを含む)
- スパーQL