RDF/XML

RDF/XML (Web)

[11] RDF/XML は、 RDFグラフXML として記述する方式の一つです。 RDF を表現する方法としては最初に定義されたものであり、元々は単に RDF と言えば RDF/XML を指していました。

代替

[44] Semantic Web コミュニティーでは、 RDF/XML の後から登場した N3 などのより簡易的な記述方法が重用されるようになり、 RDF/XML は余り使われないようになりました。それ以外のコミュニティーでは、 RDF 全体への関心が低下し、使われなくなりました。 XML名前空間に重度に依存するため、 SVGMathML を (XML ではなく) HTML に埋め込む際にも使うことができません。一時は HTMLRDF を埋め込む方法が広く検討され実装もされましたが、 XHTML の失敗と RDF への関心の低下により、既に忘れ去られています。

仕様書

RDF/XML の判定

[6] ある文書RDF/XML であるかどうかは、次のように判断します。

[15] >>6 より RDF/XML と判定される文書の一部は、 RSS 1.0 であり、 RDF/XML とみなさない方が良いかもしれません。

根要素

[13] RDF/XML 文書根要素としては rdf:RDF 要素が一般的ですが、 この要素は省略できます。その場合根要素節点要素 (rdf:Description 要素か、それに相当する要素 (展開URIrdf:type目的語として使われるような QName である要素)) とすることになります。

文脈

[33] RDF/XML はしばしば他の XML文書に埋め込まれます。

[34] rdf:RDF 要素の埋め込みについては、 rdf:RDF の項を参照してください。

[35] 理論上は他の根要素たりえる要素も埋め込めますが、現在そのような例は見つかっていません。

[32] Account Auto-discoveryCC のような RDF/XML 片 (rdf:RDF 要素) を (何故か) HTML注釈の中に埋め込むことが00年代中頃に流行りました。 詳しくはRDF/XML/HTML注釈の項を参照してください。

[45] OREoreatom:triples 要素は、 rdf:RDF 要素内容相当の内容を持てるようです。

[46] RDF/XML応用

処理

[64] RDF/XML仕様書では、 XML情報集合から RDFグラフを生成する方法が定義されています。

[65] ただしこれは正当な RDF/XML 文書の場合に限定されており、 非適合入力が与えられた場合にどう処理するべきかは定められていません。

URL の解決

[30] rdf:aboutrdf:typerdf:resource では URLの解決が発生します。これは失敗する可能性がありますが、それをどう処理するべきかはまったく言及されていません。

[31] RDF 1.1 では、 RFC 3986RFC 3987RFC 2396xml:base が参照されています (!)。

MIME 型

[19] MIME型application/rdf+xml です >>18

[20] RFC 3023 に登場しますが、まだ IANAREG には登録されていません。

[21] 3023 は登録を待つ様に言っていますが、実際にはよく使われています。登録を待ってたら何年かかることやら。

[22] text/xsltext/javascript もいつまで待ってもだしね。

[23] やっと登録されるみたいです。。。 (名無しさん )

[24] RdfAndMediaTypes - ESW Wiki <http://esw.w3.org/topic/RdfAndMediaTypes>

[49] RSS 1.0 系列の、 RDF/XML でもあった RSS では、 application/rdf+xml が使われることがありました。 しかし現実世界の RSS 1.0RDF/XML として処理されることはなく、 RDF/XML としては正しく解釈できないものも多いので、 application/rss+xml を使うのがより好ましいとされています。

[50] RSS 2.0 系列の RSS では、 application/rdf+xml を使うのは完全な誤りです。

[42] BioPAXapplication/vnd.biopax.rdf+xml を使っています。 RDF/XML応用のようですが、なぜか +rdf+xml ではありません。

拡張子

[25] 拡張子.rdf が推奨されています >>18

Macintosh ファイル型

[26] Macintoshファイル型rdf (4文字目は SPACE) が推奨されています >>18

素片識別子

[36] RDF 1.0 においては RDF素片識別子application/rdf+xml のものであるとの (多少強引な) 解釈がなされていましたが、 RDF 1.1 では素片識別子RDFグラフ中の資源を表すものとされ、 application/rdf+xml 独自の素片識別子の定義はなされなくなっています。

歴史

1999年版

2004年版

衰退

[3] 00年代前半の N3N-TriplesTurtle といった他の RDF の構文の開発により、 煩雑な RDF/XML は徐々に使われなくなっていきました。

[38] 00年代を通して多くの XML応用メタデータの記述のために RDF/XML を埋め込めるような規定を設けていました。しかし実際にはそれも規定だけで、 ほとんど利用実態は無かったようです。

rdf:RDF を参照。

[39] RSS 0.9 とその改訂である RSS 1.0RDF/XML を採用していましたが、 欧米では比較的早くに RDF に基づかない RSS 0.91RSS 0.92 とその改訂版である RSS 2.0 や同じく RDF に基づかない Atom に置き換えられていきました。日本では RSS 1.0 が比較的延命しましたが、 それも Web 2.0 ブームの収束により、衰退しました。 RSS 1.0 の改訂である RSS 1.1 は完成せずに頓挫しました。

[40] MozillaRDF/XML を標準のデータベース形式として採用していましたが、 その後置き換えられ、廃止されました。

[41] XML名前空間が現在のように複雑な仕様となったのは RDF/XML の要件のためだったと言われていますが、その Semantic Web コミュニティーから見捨てられ、 XML には複雑な構造だけが残ったわけです...

RDF 1.1

[27] rdf:XMLLiteral規定から参考になったほかは技術的内容に変化がない >>16 とされています。実際には rdf:XMLLiteral の解釈が微妙に変わっています。 また2004年版の誤りが幾つか修正されています。構文の定義から参照されている N-Triples も2004年版から RDF 1.1 版に更新されているため、RDFリテラルデータ型の解釈が新しいものに変わっています。

[29] ですので、 RDF 1.0 時代はデータ型 xs:string型付きリテラル平リテラルは区別されていましたが、 RDF 1.1 では区別できません。

メモ

[14] RDF/XML は必要以上に複雑であり、 N3JSON-LD など RDF/XML 以外の表現方法が人気になってきています。

[4] 今から思うとあの RDF/XML 熱(?) はなんだったんだろうね。なんで誰もおかしいといわなかったんだろうね。 裸の王様だね。

[43] Strawman simpler syntax for RDF ( 版) <http://www.w3.org/DesignIssues/Syntax.html>

[47] PubChemRDF Release Notes () <https://pubchem.ncbi.nlm.nih.gov/rdf/#_Toc421254649>

Abbreviated RDF/XML

application/rdf+xml+abbrev

rdfxml-abbrev

RDF/XML

application/rdf+xml

text/rdf

rdfxml

rdf

xml

[48] RDFメタデータの設置場所ガイド () <http://s-web.sfc.keio.ac.jp/intap-public/data/rss_guide_v1.html>

以下のように、元コンテンツの拡張子を.rdfとすることで、対応するRDFメタデータファイルのファイル名とします。

コンテンツ作成者がRDFメタデータも自由に作成してローカルに管理することができるので、当委員会として最も推奨する方法です。