Resource Description Framework

Resource Description Framework (RDF) について



Resource Description Framework(RDF、リソース記述フレームワーク)は、ウェブ上の情報を記述するためのW3C(World Wide Web Consortium)の仕様の一つです。元々はメタデータのデータモデルを記述するためのフレームワークとして設計されましたが、現在ではウェブ上のリソースに関する情報を概念的に記述・モデル化するための一般的な手法として広く利用されています。ナレッジマネジメントの分野でも応用されています。

RDFは、セマンティックウェブを実現するための重要な構成要素であり、Linked Open Data(LOD)の基盤技術としても活用されています。1999年にW3C勧告として初めて発表され、その後2004年にRDF 1.0、2014年にRDF 1.1と仕様が改訂されています。

RDFの構造



RDFの基本的な構造は「トリプル」と呼ばれる形式で表現されます。トリプルは、主語(subject)、述語(predicate)、目的語(object)の3つの要素から構成されます。

主語: 記述対象となるリソース
述語: 主語の特性や主語と目的語との関係性を示す。
目的語: 主語との関係性を持つ対象や、述語の値。

例えば、「空の色は青い」という情報をRDFで表現する場合、「空」を主語、「(~という)色を持つ」を述語、「青」を目的語として扱います。このように、RDFにおける主語、述語、目的語は、一般的な文法とは異なる意味合いを持つ場合があります。

トリプルはグラフ理論におけるグラフで表現することが可能です。リソースはノードとして表現され、ノード間の関係は述語を重みとするエッジで表現されます。これにより、RDFに記述されたすべてのトリプルを可視化することができます。このグラフはRDF Validation Serviceなどのツールで描画できます。

RDFはトリプルに基づく抽象構文を定義しており、具体的な構文としてはXMLを用いたRDF/XMLが定義されています。他にも、トリプルを簡易に表現するための形式として、N-Triples、Notation3、Turtleなどがあります。

N-Triples: 各行に1つのトリプルを主語、述語、目的語の順にスペースで区切って記述する形式。
Notation3: N-Triplesを拡張し、XMLのような接頭辞とローカル名に基づく表記や、推論規則の記述を可能にした形式。
Turtle: N-TriplesにNotation3の便利な記述形式を取り入れた形式。

リソースの識別



RDFにおける主語は、URI(Uniform Resource Identifier)で示されるリソースか、URIを持たない空白ノードのいずれかです。述語は必ずURIで示されます。目的語はUnicode文字列、URIで示されるリソース、または空白ノードのいずれかです。

RSSやFOAFなどのRDFベースの技術では、ウェブ上に存在するデータを指し示すURIが用いられますが、RDFではインターネット上で参照できないURIも扱うことができます。この場合、抽象的な概念を表すURIである可能性があり、その意味を事前に定義する必要があります。RDF自体は共通の語彙を提供していませんが、Dublin Coreのような共通語彙が利用可能です。

RDFの例



例として、「門前仲町の略語は“モンナカ”である」という文をRDFで表現する場合を考えます。この文は以下のトリプルで表現されます。

主語: 「門前仲町」(URI: https://www.wikidata.org/wiki/Q11654956)
述語: 「略語である」(URI: http://purl.org/dc/terms/alternative)
目的語: 「モンナカ」(文字列リテラル)

この例では、主語と述語はURIで表現されたリソースである必要がありますが、目的語は単なる文字列でも構いません。

別の例として、Wikipedia英語版の「Tony Benn」のページに関する情報をRDFで記述する場合を考えます。

ページのURI: `http://en.wikipedia.org/wiki/Tony_Benn`
タイトル: 「Tony Benn」
発行元: 「Wikipedia」

この例では、1つの主語に対して複数のトリプルが関連付けられます。

xml
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">

Tony Benn
Wikipedia




RDFで情報を記述することにより、コンピュータがその情報を理解することが可能になります。特に、Dublin Coreのような共通語彙を使用することで、情報の意味を明確に定義し、ソフトウェア間での相互運用性を高めることができます。

RDFの活用例



Open Directory Project

関連技術



RDF Schema
OWL
RSS
マイクロフォーマット
RDFクエリ言語 - SPARQL
トピックマップ

参考資料



W3C公式RDFサイト
RDF Primer
RDF Primer(和訳)
What is RDF?
RDF/XML構文の簡単な説明

一般的な語彙



Dublin Core Metadata Terms
FOAF Vocabulary Specification

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。