24
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RDFa について勉強してみた。

Last updated at Posted at 2013-10-09

##RDFa?
htmlをマークアップするための方法の1つとして,RDFaがあります。(他にmicrodataとmicroformatsという2大巨人がいます。)個人的には,書き方が簡便で,大手の検索エンジンが採用すると公言しているmicrodataを支援していました。私たちが開発している創薬・疾患研究のための生命科学分野のデータベースの横断検索サービス Sagace では,microdataを使ってマークアップしているサイトの結果をよりよく表示するというサービスを提供しています。Sagace:マークアップ方法 。というわけでmicrodataを超プッシュしていたのですが,最近,RDFa Liteというやっちゃが現れ,書き方は,microdata並に簡単だし,外部のボキャブラリも使いやすいので,もしかしたらRDFa Liteの方が良いかもしれないということがあり,乙女心は揺れております。(詳細は,後で書きます)
RDFa Liteについてはあらかた理解していたのですが,じゃあ,RDFa Core(もともとはこれがRDFaだったのですが,RDFa Liteと区別するために,こう呼んでるみたいです。)と比べて何が違うのさ,ということを知らなかったので(遅いって?ごめんよ。だってそんなに使わないと思ったんだもん。でも,古文を理解するみたいに大事なこともあるかも。)RDFa について調べてみました。

手っ取り早く理解するには,コードを見ようぜ,というわけで,
ここのhtmlを追ってみました。http://www.w3.org/TR/rdfa-syntax/#s_Syntax_overview

以下雑記です。もしかしたら,誰かの役に立つ解説もあるかもしれない。
けど,ほんとただのメモです。分かりにくいところがあったら,@maoringoまで聞いてください。

RDF Attributes Examplesの雑多な解説

もとのhtmlを…

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Page 7</title>
    <meta name="author" content="Mark Birbeck" />
    <link rel="prev" href="page6.html" />
    <link rel="next" href="page8.html" />
  </head>
  <body>...</body>
</html>

RDFa でマークアップしてみたよ。

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>My home-page</title>
    <meta property="http://purl.org/dc/terms/creator" content="Mark Birbeck" />
    <link rel="http://xmlns.com/foaf/0.1/topic" href="http://www.example.com/#us" />
  </head>
  <body>...</body>
</html>

propertyを付け加えて,語彙の指定をしている。
link(関連する別のファイル)についても,その説明とURIを追加して書いている。

prefixを追加して,本文の表示を簡単にすることも出来る。

<html
  xmlns="http://www.w3.org/1999/xhtml"
  prefix="foaf: http://xmlns.com/foaf/0.1/
          dc: http://purl.org/dc/terms/"
  >
  <head>
    <title>My home-page</title>
    <meta property="dc:creator" content="Mark Birbeck" />
    <link rel="foaf:topic" href="http://www.example.com/#us" />
  </head>
  <body>...</body>
</html>

リンク内にprefixを入れてrelを使ってpredicateを書き,そのobjectをhref内に書くのもあり。ちなみに。relがそのまんまの矢印でー>revがreverseで逆側の矢印<ーということらしい。そして,このrelとrevはどこでも使えるらしい。

This document is licensed under the 
<a prefix="cc: http://creativecommons.org/ns#"
   rel="cc:license"
   href="http://creativecommons.org/licenses/by-nc-nd/3.0/"
   >Creative Commons By-NC-ND License</a>.

propertyもrelと同様に使えるが,もともとは,propertyの場合は,文字列をObjectとすることを対象としており,relは他のソースのオブジェクトでURIであることを前提としていたらしい。でも,いくつかこれに関して議論している人の投稿を見た限り,どっちでもいーよーと書いていた。参考 : In RDFa, difference between property=“” & rel=“”, and resource=“” & about=“”?

日付など,正式なフォーマットで書いておいたほうが,メタデータとしては良いけれど,実際の表記は,自然言語の方が読みやすいよね〜という場合にはcontentが使えて,データタイプ(その日付データの書き方は何のボキャブラリを使ったのかを示す,RDFでいうと^xsd:dateTime という感じかな?)もdatatypeで記述できる。

<html
  xmlns="http://www.w3.org/1999/xhtml"
  prefix="xsd: http://www.w3.org/2001/XMLSchema#
          dc: http://purl.org/dc/terms/"
  >
  <head><title>My Home Page</title></head>
  <body>
    <h1 property="dc:title">My home-page</h1>
    <p>Last modified: <span property="dc:modified"
            content="2015-09-16T16:00:00-05:00"
            datatype="xsd:dateTime">16 September 2015</span>.</p>
  </body>
</html>

subjectの内容を明示して決められるabout属性。

<html
  xmlns="http://www.w3.org/1999/xhtml"
  prefix="bibo: http://purl.org/ontology/bibo/
          dc: http://purl.org/dc/terms/"
  >
  <head>
    <title>Books by Marco Pierre White</title>
  </head>
  <body>
    I think White's book
    '<span about="urn:ISBN:0091808189" 
           property="dc:title">Canteen Cuisine</span>'
    is well worth getting since although it's quite advanced stuff, he
    makes it pretty easy to follow. You might also like
    <span 
     about="urn:ISBN:1596913614" 
     property="dc:description"
     >White's autobiography</span>.
  </body>
</html>

マークアップしたいオブジェクトに対する直接のpredicateの他に,Subjectからそれが何の種類であるかを示すpredicateとして,aboutが使えるらしい。

<html
  xmlns="http://www.w3.org/1999/xhtml"
  prefix="bibo: http://purl.org/ontology/bibo/
          dc: http://purl.org/dc/terms/"
  >
  <head>
    <title>Books by Marco Pierre White</title>
  </head>
  <body>
    I think White's book
    '<span about="urn:ISBN:0091808189" typeof="bibo:Book"
           property="dc:title">Canteen Cuisine</span>'
    is well worth getting since although it's quite advanced stuff, he
    makes it pretty easy to follow. You might also like
    <span 
     about="urn:ISBN:1596913614"
     typeof="bibo:Book"
     property="dc:description"
     >White's autobiography</span>.
  </body>
</html>

こんな書き方も出来て,場合によってはCURIE(short for Compact URI)よりもフルのIRIsの方が便利だよね,ということらしい。

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Books by Marco Pierre White</title>
  </head>
  <body>
    I think White's book
    '<span
     about="urn:ISBN:0091808189"
     typeof="http://purl.org/ontology/bibo/Book"
     property="http://purl.org/dc/terms/title"
     >Canteen Cuisine</span>'
    is well worth getting since although it's quite advanced stuff, he
    makes it pretty easy to follow. You might also like
    <span
     about="urn:ISBN:1596913614"
     typeof="http://purl.org/ontology/bibo/Book"
     property="http://purl.org/dc/terms/description"
     >White's autobiography</span>.
  </body>
</html>

vocabを使うと,prefixと異なり,デフォルトの語彙を設定できる。

<div vocab="http://xmlns.com/foaf/0.1/" about="#me">
   My name is <span property="name">John Doe</span> and my blog is called
   <a rel="homepage" href="http://example.org/blog/">Understanding Semantics</a>.
</div>

##まとめ
参照:http://www.w3.org/TR/rdfa-syntax/#A-rel

個人的には,表記に揺れがあり,ややこしいRDFa Coreはやはり,あまりオススメできません。ただ,RDFa Liteに対して,RDFa Coreが大体,包含関係にあるということがわかったので,安心しました。

###補足
あたくしlink属性についてよく知らなかったの…・というわけで。

Linkについて

タグはその文書ファイルと関連する別の文書ファイルを指定し、 その関係を定義するもので、~間で使用します。

参考:★HTMLタグリファレンス|<LINK>・・・・・関連する文書ファイルを指定する

<head>	 
<title>文書番号002</title>	 
<link rel="index" href="../index.htm">	←indexページとの関係
<link rel="contents" href="mokuji.htm">	←目次ページ
<link rel="search" href="kensaku.html">	←検索ページ
<link rel="help" href="help.html">	←ヘルプページ
<link rel="prev" href="001.htm">	←前のページ
<link rel="next" href="003.htm">	←次のページ
</head>
24
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?