最新のWeb開発のチュートリアル
 

XML RDF


RDF文書の例

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="http://www.w3ii.com/rdf/">

<rdf:Description rdf:about="http://www.w3ii.com">
  <si:title>w3ii</si:title>
  <si:author>Jan Egil Refsnes</si:author>
</rdf:Description>

</rdf:RDF>

RDFとは何ですか?

  • RDFの略R esource Dのescription F ramework
  • RDFは、ウェブ上のリソースを記述するためのフレームワークです
  • RDFは、コンピュータによって読み取られ、理解されるように設計されています
  • RDFは、人々に表示されるために設計されていません
  • RDFは、XMLで記述されています
  • RDFは、W3Cのセマンティック・ウェブ・アクティビティの一部です
  • RDFは、2004年2月10日からW3C勧告であります

RDF - 使用例

  • このような価格や可用性などのショッピングアイテム、のプロパティを記述
  • ウェブイベントのタイムスケジュールを記述する
  • Webページの情報を記述した(content, author, created and modified date)
  • ウェブピクチャの記述内容と評価
  • 検索エンジンのための記述内容
  • 電子図書館の記述

RDFは、コンピュータによって読み取りされるように設計されて

RDFは、それが読み取られ、コンピュータアプリケーションによって理解できるような情報を記述するための一般的な方法を提供するために設計されました。

RDF記述は、ウェブ上に表示されるように設計されていません。


RDFは、XMLで記述されています

RDF文書はXMLで記述されています。 RDFで使用されるXML言語は、RDF / XMLと呼ばれています。

XMLを使用することにより、RDF情報が容易にオペレーティングシステムとアプリケーションの言語の種類を使用してコンピュータの異なる種類の間で交換することができます。


RDFと"The Semantic Web"

RDF言語は、W3Cのセマンティック・ウェブ・アクティビティの一部です。 W3Cの"Semantic Web Vision"どこに未来です。

  • ウェブ情報は、正確な意味を持っています
  • ウェブ情報を理解し、コンピュータで処理可能な
  • コンピュータは、ウェブからの情報を統合することができます

RDFは、ウェブ識別子使用(URIs)リソースを識別します。

RDFは、プロパティとプロパティ値を持つリソースについて説明します。


RDFリソース、プロパティ、およびプロパティ値

RDFは、Web識別子を使用して物事を識別する(URIs) 、およびプロパティとプロパティ値を持つリソースについて説明します。

リソース、プロパティ、およびプロパティ値の説明:

  • ResourceのようなURIを持つことができるものであり、 "http://www.w3ii.com/rdf"
  • Propertyなど、名前を持つリソースである"author"または"homepage"
  • Property valueのような、プロパティの値である"Jan Egil Refsnes"または"http://www.w3ii.com" (note that a property value can be another resource)

以下のRDF文書は、リソース記述することができる"http://www.w3ii.com/rdf"

<?xml version="1.0"?>

<RDF>
  <Description about="http://www.w3ii.com/rdf">
    <author>Jan Egil Refsnes</author>
    <homepage>http://www.w3ii.com</homepage>
  </Description>
</RDF>

上記の例は単純化されます。 名前空間は省略しています。


RDFステートメント

リソース、プロパティ、およびプロパティ値の組み合わせが形成Statement (known as the subject, predicate and object of a Statement)

のより良い理解を得るために、いくつかの例ステートメントを見てみましょう:

声明: "The author of http://www.w3ii.com/rdf is Jan Egil Refsnes"

  • 上記の文の主題は、次のとおりです。http://www.w3ii.com/rdf
  • 述語は、次のとおりです。著者
  • オブジェクトは、次のとおりです。月エギルRefsnes

声明: "The homepage of http://www.w3ii.com/rdf is http://www.w3ii.com"

  • 上記の文の主題は、次のとおりです。http://www.w3ii.com/rdf
  • 述語は、次のとおりです。ホームページ
  • オブジェクトは、次のとおりです。http://www.w3ii.com

RDF例

ここではCD-リストから2つのレコードは、次のとおりです。

タイトル アーティスト 会社 価格
エンパイア・バーレスク ボブディラン アメリカ合衆国 コロンビア 10.90 1985
あなたの心を隠します ボニー・タイラー イギリス CBSレコード 9.90 1988

以下のRDFドキュメントからの数行は次のとおりです。

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
  <cd:artist>Bob Dylan</cd:artist>
  <cd:country>USA</cd:country>
  <cd:company>Columbia</cd:company>
  <cd:price>10.90</cd:price>
  <cd:year>1985</cd:year>
</rdf:Description>

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Hide your heart">
  <cd:artist>Bonnie Tyler</cd:artist>
  <cd:country>UK</cd:country>
  <cd:company>CBS Records</cd:company>
  <cd:price>9.90</cd:price>
  <cd:year>1988</cd:year>
</rdf:Description>
.
.
.
</rdf:RDF>

RDF文書の最初の行はXML宣言です。 XML宣言は、RDF文書のルート要素が続いている: <rdf:RDF>

xmlns:rdf名前空間は、RDFの接頭辞を持つ要素が名前空間からのものであることを指定し"http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:cd名前空間は、CDの接頭辞を持つ要素が名前空間からのものであることを指定"http://www.recshop.fake/cd#"

<rdf:Description>要素はで識別されるリソースの説明が含まれrdf:about属性を。

要素: <cd:artist>, <cd:country>, <cd:company>,などは、リソースのプロパティです。


RDFオンライン検証

W3CのRDF検証サービスは、 RDFを学習するときに便利です。 ここでは、RDFファイルを試すことができます。

オンラインRDF Validatorは、あなたのRDF文書を解析し、あなたの構文をチェックし、表形式とあなたのRDF文書のグラフィカルなビューを生成します。

コピーし、W3CのRDFのバリデータに以下の例を貼り付けます。

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="http://www.w3ii.com/rdf/">
<rdf:Description rdf:about="http://www.w3ii.com">
  <si:title>w3ii.com</si:title>
  <si:author>Jan Egil Refsnes</si:author>
</rdf:Description>
</rdf:RDF>

あなたは上記の例を解析すると、 結果はこのようになります


RDF要素

RDFの主な要素はルート要素、<RDF>であり、 <Description>リソースを識別する要素。


<rdf:RDF>要素

<RDF:RDF>は、RDF文書のルート要素です。 これは、XML文書は、RDF文書であることを定義します。 また、RDF名前空間への参照が含まれています。

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  ...Description goes here...
</rdf:RDF>

<rdf:Description>要素

<rdf:Description>要素が持つリソースを識別するabout属性を。

<rdf:Description>要素は、リソースを記述する要素が含まれています。

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
  <cd:artist>Bob Dylan</cd:artist>
  <cd:country>USA</cd:country>
  <cd:company>Columbia</cd:company>
  <cd:price>10.90</cd:price>
  <cd:year>1985</cd:year>
</rdf:Description>

</rdf:RDF>

要素、アーティスト、国、会社、価格、年は、httpで定義されています://www.recshop.fake/cd#名前空間。 この名前空間は、外部のRDFです(and not a part of RDF) 。 RDFは、唯一のフレームワークを定義します。 要素、アーティスト、国、会社、価格、年、他の誰か(企業、組織、人、など)によって定義されなければなりません。


属性としての特性

プロパティ要素は属性として定義することができる(instead of elements)

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque"
cd:artist="Bob Dylan" cd:country="USA"
cd:company="Columbia" cd:price="10.90"
cd:year="1985" />

</rdf:RDF>

資源としてのプロパティ

プロパティ要素は、リソースとして定義することができます。

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
  <cd:artist rdf:resource="http://www.recshop.fake/cd/dylan" />
  ...
  ...
</rdf:Description>

</rdf:RDF>

上記の例では、プロパティのアーティストは値が、アーティストに関する情報を含むリソースへの参照を持っていません。


RDFコンテナ

RDFコンテナは、物事のグループを記述するために使用されます。

以下のRDF要素がグループを記述するために使用されます。<バッグ>、<配列>、および<Alt>


<rdf:Bag>要素

<rdf:Bag>要素は、特定の順序である必要はない値のリストを記述するために使用されます。

<rdf:Bag>要素は重複する値が含まれていてもよいです。

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
  <cd:artist>
    <rdf:Bag>
      <rdf:li>John</rdf:li>
      <rdf:li>Paul</rdf:li>
      <rdf:li>George</rdf:li>
      <rdf:li>Ringo</rdf:li>
    </rdf:Bag>
  </cd:artist>
</rdf:Description>

</rdf:RDF>

<rdf:Seq>要素

<rdf:Seq>要素は、値の順序付きリストを説明するために使用される(For example, in alphabetical order)

<rdf:Seq>要素には、重複する値が含まれていてもよいです。

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
  <cd:artist>
    <rdf:Seq>
      <rdf:li>George</rdf:li>
      <rdf:li>John</rdf:li>
      <rdf:li>Paul</rdf:li>
      <rdf:li>Ringo</rdf:li>
    </rdf:Seq>
  </cd:artist>
</rdf:Description>

</rdf:RDF>

<rdf:Alt>要素

<rdf:Alt>要素は、代替値のリストを記述するために使用される(the user can select only one of the values)

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
  <cd:format>
    <rdf:Alt>
      <rdf:li>CD</rdf:li>
      <rdf:li>Record</rdf:li>
      <rdf:li>Tape</rdf:li>
    </rdf:Alt>
  </cd:format>
</rdf:Description>

</rdf:RDF>

RDFの利用規約

我々上記の例では話しました"list of values"コンテナ要素を記述するとき。 RDFでは、これらの"list of values"メンバーと呼ばれています。

だから、私たちは次のようにあります。

  • コンテナは、物事を含むリソースであります
  • 含まれるものは、メンバーと呼ばれ(not list of values)

RDFコレクション

RDFコレクションは、指定されたメンバーを含むことができるグループについて説明します。


rdf:parseType="Collection"属性

それは他のメンバーが許可されていないことを言っていない - 前章で見られるように、コンテナが含むリソースがメンバーであることを述べています。

RDFコレクションにのみ指定メンバーを含有することができる基を説明するために使用されます。

parseTypeを=「コレクション」:コレクションは、属性RDFによって記述されます。

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://recshop.fake/cd#">

<rdf:Description
rdf:about="http://recshop.fake/cd/Beatles">
  <cd:artist rdf:parseType="Collection">
    <rdf:Description rdf:about="http://recshop.fake/cd/Beatles/George"/>
    <rdf:Description rdf:about="http://recshop.fake/cd/Beatles/John"/>
    <rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Paul"/>
    <rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Ringo"/>
  </cd:artist>
</rdf:Description>

</rdf:RDF>

RDFスキーマおよびアプリケーションクラス

RDFスキーマ(RDFS) RDFを拡張したものです。

RDFは、クラス、プロパティ、および値を持つリソースについて説明します。

また、RDFは、アプリケーション固有のクラスとプロパティを定義する方法を必要とします。 アプリケーション固有のクラスとプロパティは、RDFの拡張機能を使用して定義する必要があります。

そのような拡張は、RDFスキーマです。


RDFスキーマ(RDFS)

RDFスキーマは、実際のアプリケーション固有のクラスとプロパティを提供していません。

代わりに、RDFスキーマは、アプリケーション固有のクラスとプロパティを記述するためのフレームワークを提供します。

RDFスキーマのクラスは、多くのオブジェクト指向プログラミング言語のクラスのようです。 これは、リソースがクラスのインスタンス、及びクラスのサブクラスとして定義されることを可能にします。


RDFS例

次の例では、RDFS施設のいくつかを示しています。

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://www.animals.fake/animals#">

<rdf:Description rdf:ID="animal">
  <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
</rdf:Description>

<rdf:Description rdf:ID="horse">
  <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
  <rdfs:subClassOf rdf:resource="#animal"/>
</rdf:Description>

</rdf:RDF>

上記の例では、リソース"horse"クラスのサブクラスである"animal"


例短縮

代わりに、RDFのクラス::RDFSクラスはRDF資源であるため、我々はRDFSを使用して上記の例を短縮することができます説明、およびRDFドロップ:タイプ情報を:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://www.animals.fake/animals#">

<rdfs:Class rdf:ID="animal" />

<rdfs:Class rdf:ID="horse">
  <rdfs:subClassOf rdf:resource="#animal"/>
</rdfs:Class>

</rdf:RDF>

それでおしまい!


ダブリンコア

ダブリン・コア・メタデータ・イニシアティブ(DCMI)文書を記述するためのいくつかの定義済みのプロパティを作成しました。

RDFは、メタデータである(data about data) 。 RDFは、情報資源を記述するために使用されます。

ダブリンコアは、文書を記述するための定義済みのプロパティのセットです。

最初のダブリンコア特性は、で定義されたMetadata Workshop in Dublin, Ohio 1995年に、現在によって維持されているダブリン・コア・メタデータ・イニシアティブ

プロパティ 定義
投稿者 リソースのコンテンツへの貢献をする責任エンティティ
カバレッジ リソースのコンテンツの程度または範囲
クリエイター リソースのコンテンツを作成するための主に担当するエンティティ
フォーマット リソースの物理的またはデジタル症状
日付 リソースのライフサイクルにおけるイベントの日付
説明 リソースのコンテンツのアカウント
識別子 指定されたコンテキスト内のリソースへの明確な参照
言語 リソースの知的内容の言語
出版社 リソースを利用可能にするための責任エンティティ
関係 関連リソースへの参照
ライツ リソースおよびにわたり開催された権利に関する情報
ソース 現在のリソースが誘導されるリソースへの参照
テーマ リソースのコンテンツの話題
タイトル リソースに与えられた名前
タイプ リソースのコンテンツの性質やジャンル

上記の表で簡単に見は、RDFは、ダブリン・コアの情報を表現するための理想的であることを示しています。


RDF例

次の例では、RDF文書でダブリンコア・プロパティのいくつかの使用方法を示しています。

<?xml version="1.0"?>

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

<rdf:Description rdf:about="http://www.w3ii.com">
  <dc:description>w3ii - Free tutorials</dc:description>
  <dc:publisher>Refsnes Data as</dc:publisher>
  <dc:date>2008-09-01</dc:date>
  <dc:type>Web Development</dc:type>
  <dc:format>text/html</dc:format>
  <dc:language>en</dc:language>
</rdf:Description>

</rdf:RDF>

RDFリファレンス

RDF名前空間(xmlns:rdf)次のとおりです。 http://www.w3.org/1999/02/22-rdf-syntax-ns#

RDFS名前空間(xmlns:rdfs )次のとおりです。 http://www.w3.org/2000/01/rdf-schema#

RDFファイルの推奨ファイル拡張子はあります.rdf 。 しかし、拡張.xml 、多くの場合、古いXMLパーサーとの互換性を提供するために使用されます。

MIMEタイプがあるべきである"application/rdf+xml" 。


RDFS / RDFクラス

素子 のサブクラス
rdfs:Class All classes  
rdfs:Datatype Data types Class
rdfs:Resource All resources Class
rdfs:Container Containers Resource
rdfs:Literal Literal values (text and numbers) Resource
rdf:List Lists Resource
rdf:Property Properties Resource
rdf:Statement Statements Resource
rdf:Alt Containers of alternatives Container
rdf:Bag Unordered containers Container
rdf:Seq Ordered containers Container
rdfs:ContainerMembershipProperty Container membership properties Property
rdf:XMLLiteral XML literal values Literal

RDFS / RDFのプロパティ

素子 ドメイン 範囲 説明
rdfs:domainPropertyClass リソースのドメイン
rdfs:rangePropertyClass リソースの範囲
rdfs:subPropertyOfPropertyProperty プロパティは、プロパティのサブプロパティです
rdfs:subClassOfClassClass リソースは、クラスのサブクラスであります
rdfs:commentResourceLiteral リソースの人間が読める形式の説明
rdfs:labelResourceLiteral 人間が読めるラベル(name)リソースの
rdfs:isDefinedByResourceResource リソースの定義
rdfs:seeAlsoResourceResource リソースに関する追加情報
rdfs:memberResourceResource リソースのメンバー
rdf:firstListResource
rdf:restListList
rdf:subjectStatementResource RDFステートメント内のリソースの対象
rdf:predicateStatementResource RDFステートメント内のリソースの述語
rdf:objectStatement Resource RDFステートメント内のリソースのオブジェクト
rdf:valueResourceResource 値に使用されるプロパティ
rdf:typeResourceClass リソースは、クラスのインスタンスであります

RDFの属性

属性 説明
rdf:about リソースが記載されている定義
rdf:Description リソースの説明のためのコンテナ
rdf:resource プロパティを識別するためのリソースを定義します
rdf:datatype 要素のデータ型を定義します
rdf:ID 要素のIDを定義します
rdf:li リストを定義します
rdf:_ n ノードを定義します
rdf:nodeID 要素ノードのIDを定義します
rdf:parseType 要素が解析される方法を定義します
rdf:RDF RDF文書のルート
xml:base XMLベースを定義します
xml:lang 要素内容の言語を定義します