CyberLibrarian

【注意】 このドキュメントは、W3CのSKOS Simple Knowledge Organization System Primer W3C Working Group Note 18 August 2009の和訳です。
このドキュメントの正式版はW3Cのサイト上にある英語版であり、このドキュメントには翻訳に起因する誤りがありえます。誤訳、誤植などのご指摘は、訳者までお願い致します。

First Update: 2011年9月21日


W3C

SKOS入門

W3Cワーキンググループ・ノート 2009年8月18日

本バージョン:
http://www.w3.org/TR/2009/NOTE-skos-primer-20090818/
最新バージョン:
http://www.w3.org/TR/skos-primer
旧バージョン:
http://www.w3.org/TR/2009/WD-skos-primer-20090615/
編集者:
Antoine Isaac, Vrije Universiteit Amsterdam
Ed Summers, Library Of Congress

このドキュメントに対する正誤表 を参照してください。いくつか修正が含まれているかもしれません。

翻訳版も参照してください。


要約

SKOS(Simple Knowledge Organization System)は、シソーラス、分類体系、件名標目表、タクソノミー、フォークソノミー、およびその他の同種の統制語彙のような概念体系の基本構造や内容を表現するためのモデルを提供します。SKOSにより、Resource Description Framework(RDF)の応用として、ウェブ上で概念を編成して公開し、ウェブ上のデータにリンクして他の概念体系と統合させることが可能になります。

このドキュメントは、SKOSを用いて自身の概念体系を表現したいと考えている人々のための利用者用ガイドです。

基礎的なSKOSでは、概念資源(概念)は、URIで識別され、1つ以上の自然言語の文字列でラベル付けされ、各種の注記と共に記録され、非形式的な階層構造と関連性ネットワークで相互に意味的に関連づけられ、概念体系に集約されます。

高度なSKOSでは、概念資源は、概念体系にまたがってマッピングされ、ラベル付きまたは順序付きの集合にグルーピングできます。関係は概念ラベル間で指定できます。最終的に、SKOSボキャブラリー自身は、特定の実践コミュニティのニーズに合うように拡張したり、他のモデリング・ボキャブラリーに結合したりすることが可能です。

このドキュメントは、SKOSに関する規範的なリファレンスを提供するSKOSリファレンスの手引きです。


このドキュメントのステータス

この項は、このドキュメントの公開時のステータスについて記述しています。他のドキュメントがこのドキュメントに取って代わることがありえます。現行のW3Cの刊行物およびこの技術報告の最新の改訂版のリストは、http://www.w3.org/TR/のW3C技術報告インデックスにあります。

このドキュメントは、W3Cセマンティック・ウェブ・アクティビティの一部であるセマンティック・ウェブ展開ワーキンググループによって発表されたワーキンググループ・ノートです。このバージョンは、2009年6月15日の前の草案を更新したものです。このバージョンには、表記法の体系が自然言語と一致しないラベルの表記法(例えば、記号の表記法)の体系を参照する1つの方法を提案した例の削除と、いくつかの軽微な編集上の変更が含まれています。この提案は、言語の識別のためのタグの使用に関するIETFのBest Current Practice 47と矛盾していると考えられました。ユーザは表記法の予備体系のサポートのためにSKOS拡張語彙を検討すべきです。

これは、2009年8月18日付けのSKOSリファレンス W3C勧告の関連ドキュメントです。

このドキュメントに関するコメントは、public-swd-wg@w3.orgに送ってください。件名に「SKOSコメント」という文字列を入れてください。このアドレスで受信したすべてのメッセージは、公開アーカイブで見られます。

このドキュメントは、2004年2月5日のW3C特許方針の下で活動しているグループによって作成されました。W3Cは、このグループの成果物に関連するあらゆる特許の開示の公開リストを維持し、このページには特許の開示に関する指示も含まれています。不可欠な請求権(Essential Claim(s))を含んでいると思われる特許に関して実際に知っている人は、W3C特許方針の6項に従って情報を開示しなければなりません。

ワーキンググループ・ノートとしての公開は、W3Cメンバーによる承認を意味するものではありません。これは草案ドキュメントであるため、他のドキュメントによって、随時更新されたり、置き換えられたり、廃止されることもありえます。このドキュメントを「作業中」以外のものとして引用することは適当ではありません。


目次


1 はじめに

SKOS(Simple Knowledge Organization System)は、シソーラス、タクソノミー、分類体系や件名標目表などの準形式的な知識組織化体系(KOS、knowledge organization systems)を表現するためのRDFボキャブラリーです。SKOSはRDF(Resource Description Framework)[RDF-PRIMER]に基づいているため、その表現は機械可読であり、ソフトウェア・アプリケーション間で交換可能で、WWWで公開できます。

SKOSは、既存の組織化体系をセマンティック・ウェブに移植するための安価な移行パスを提供するように設計されています。SKOSは、新しいKOSを開発・共有するための軽くて直感的な概念モデリング言語の提供も行います。これは、単独でも、ウェブ・オントロジー言語(OWL)[OWL]のような、より形式的な言語と組み合わせても使用できます。SKOSは、OWLなどのオントロジー言語の厳密な論理形式と、ソーシャル・タギング・アプリケーションに例示されるような、非秩序的、非形式的、そして緩やかに構造化されたウェブベースの共同作業ツールの領域との間にミッシング・リンクを提供し、橋渡しをする技術と考えることもできます。

SKOSの目的は、元の概念ボキャブラリーの最初の利用環境を置き換えるのではなく、単純化されたモデルに基づき、より広範囲な再使用とより良い相互運用性を可能にし、共用空間に移植できるようにすることです。

1.1 この入門について

このドキュメントは、RDFに関する基礎知識を有しているユーザが、自らの概念体系をSKOSデータで表現し、公開するのに資することを目指しています。この入門書は、SKOSボキャブラリーの利用に関する入門レベルの例とガイダンスを提供することを目指しています。

参照セマンティクスを含むSKOSボキャブラリーの全要素の体系的な説明に関しては、規範であるSKOS Reference[SKOS-REFERENCE]を参照すべきです。これは、クラスとプロパティーのレベルで、テキストの出現箇所(例えば、skos:Concept)をクリックすればできます。SKOSのユースケースの概要と、その設計を導き出した要件の概要に関しては、SKOS Use Cases and Requirements[SKOS-UCR]を参照してください。

この入門は、SKOS Reference[SKOS-REFERENCE]とともに、現在は非推奨である以前のSKOS Core Guide[SWBP-SKOS-CORE-GUIDE]とSKOS Core Vocabulary Specification [SWBP-SKOS-CORE-SPEC]を置き換えるものです。

SKOSモデルの必須機能については2項で説明します。ここでは、KOSの表現に最も一般的に用いられる語彙要素の集合を提供します。3項では、表現のリンク付けまたは他のセマンティック・ウェブ資源への関連づけによって、表現に値を追加する方法を示します。多くのSKOSアプリケーションが3項で示す機能の一部を用いると予想されます。4項では、少数のSKOSアプリケーションで必要となりそうな、より高度な表現の必要性に焦点を合わせます。5項では、他のモデリング・アプローチ、特にOWLに関連したSKOSの使用について論じます。

この入門における例について

このガイドのほとんどの例は、Turtle syntax for RDF[TURTLE]を用いたRDFグラフのシリアル化として提供されます。Turtleでシリアル化された例は、次のようなコード列で表されます。

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix ex: <http://www.example.com/>.

ex:aResource ex:aProperty ex:anotherResource;  ex:anotherProperty "An RDF Literal"@en.

上記は、RDF/XML参照構文[RDF/XML-SYNTAX]による次の式と同等です。

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
         xmlns:ex="http://www.example.com/">
<rdf:Description rdf:about="http://www.example.com/aResource">
  <ex:aProperty rdf:resource="http://www.example.com/anotherResource"/>
  <ex:anotherProperty xml:lang="en">An RDF Literal</ex:anotherProperty>
</rdf:Description>
</rdf:RDF>

簡潔さのために、例では、多くの名前空間宣言を省略しています。これは、標準的な名前空間(SKOS、RDF/RDFS[RDF-PRIMER]、OWL[OWL]、および、ダブリン・コア[DC])に適用されますが、例示のために作成したものにも適用されます。一般的に、これらの名前空間は、次のコードで宣言できます。

@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://www.example.com/> .
@prefix ex1: <http://www.example.com/1/> .
@prefix ex2: <http://www.example.com/2/> .

2 SKOS必須事項

この項では、ほとんどのユースケース[SKOS-UCR]に見られるような、SKOSモデルの中心部分、すなわち、大部分のKOSを表現するために必要な機能を紹介します。

基礎的なSKOSでは、概念資源(概念)はURIで識別され、1つ以上の自然言語の字句文字列でラベル付けされ、各種の注記と共に記録され、非形式的な階層構造と関連性ネットワークで相互に意味的に関連づけられ概念体系に集約されます。


2.1 概念

SKOS語彙の基本要素は概念です。概念は、多くの知識組織化体系[SKOS-UCR]の基礎となる、考えの単位[WillpowerGlossary]―アイデア、意味、または、物事や出来事(のカテゴリ)―です。概念自体は、ラベル付け用の用語から独立した抽象的実体として頭の中に存在しています。

SKOSはクラスskos:Conceptを採用しており、実装者が、ある資源が概念であると言明できるようになっています。これは、次の2段階で行われます。

  1. 概念を一意に特定するためにURI(Uniform Resource Identifier[URI])を作成(または、再利用)する。
  2. プロパティーrdf:typeを用いて、このURIで識別される資源がタイプskos:Conceptに属すると、RDF内で言明する。

例:

<http://www.example.com/animals> rdf:type skos:Concept.

これは、上記で定義した名前空間接頭辞exを用いて、次のように、Turtleでよりコンパクトに表すこともできます。

ex:animals rdf:type skos:Concept.

SKOSを用いて概念体系を公開すると、セマンティック・ウェブ上の資源記述内の概念への参照が容易になります。HTTP URIは、標準的なウェブ技術を用いてアクセスできる表現を解決できるため、概念のURIを作成する際には、HTTP URIを用いることをお勧めします。セマンティック・ウェブのURIに関する詳細に関しては、Cool URIs for the Semantic Web[COOLURIS]とBest Practice Recipes for Publishing RDF Vocabularies[RECIPES]を参照してください。


2.2 ラベル

概念の第一の特徴は、自然言語で概念を言及するために用いる式、つまり、ラベルです。SKOSには、概念資源にラベル付けするために、skos:prefLabelskos:altLabelskos:hiddenLabelの3つのプロパティーがあります。各プロパティーは、導入するラベルの特定の状況を示唆し、それは、強力な一義の外延関係から、表示に有用な文字列に及びます。これらのプロパティーは、形式的には、対で素であると定義されています。これは、例えば、同じリテラルに優先ラベルと代替ラベルの両方があれば、その概念はエラーであることを意味します。

SKOS Reference5項で定められているように、skos:prefLabelskos:altLabelskos:hiddenLabelは、シンプルなラベルです。これらはすべて、rdfs:labelのサブプロパティーであり、skos:ConceptRDFプレーン・リテラルにリンクするために用いられ、これは、任意の言語タグ(例えば、「en-US」)に結合された文字列(例えば、「love」)です。

2.2.1 優先字句ラベル

skos:prefLabelプロパティーにより、資源に優先語彙ラベルを割り当てることが可能になります。例えば、インデキシング・システムにおいて記述子(descriptor)として用いられている用語[WillpowerGlossary]は、このプロパティーを用いて次の例のように表されるでしょう。

ex:animals rdf:type skos:Concept;
  skos:prefLabel "animals".

RDFプレーン・リテラルは、形式的には、任意の言語タグを持つ文字列と定義されています。そのため、SKOSでは、シンプルな形の多言語ラベルを付与できます。これは、特定の言語に範囲を制限するために字句ラベルの言語タグを用いて行います。次の例は、概念に対し、1つの英語の優先ラベルと、もう1つ別のフランス語の優先ラベルをどのように付与するかを示しています。

ex:animals rdf:type skos:Concept;
  skos:prefLabel "animals"@en;
  skos:prefLabel "animaux"@fr.

SKOS Reference [SKOS-REFERENCE]の5項で説明しているように、資源はそのようなラベルを言語タグごとに1つしか持てないということを、優先ラベルの概念が暗示することに注意してください。

KOS設計の一般的な習慣に従い、概念の優先ラベルは、その概念をKOSやそのアプリケーションの中で一意に表すためにも使用できます。そのため、SKOSのデータ・モデルは、形式的にはこれを強制しないものの、同じKOSの2つの概念に、任意の言語タグの同じ優先字句ラベルを付与しないことをお勧めします。

2.2.2 代替字句ラベル

skos:altLabelプロパティーにより、概念に代替字句ラベルを割り当てることが可能になります。これは、概念に対して優先以外のラベルを割り当てる場合、例えば、同義語を表現する必要がある場合に特に役立ちます。

ex:animals rdf:type skos:Concept;
  skos:prefLabel "animals"@en;
  skos:altLabel "creatures"@en;
  skos:prefLabel "animaux"@fr;
  skos:altLabel "creatures"@fr.

優先ラベルに対する同義語の表現のみがskos:altLabelの用途ではないことに注意してください。同じ方法で、類義語、略語と頭文字語を表すことができます。

ex:fao rdf:type skos:Concept;
  skos:prefLabel "Food and Agriculture Organization"@en;
  skos:altLabel "FAO"@en.

アップポスティングに関する注: skos:altLabelは、アップポスティング(上位語自動付与)[ISO-2788]に関する事例を表すためにも用いることができます。すなわち、概念が、検討中のKOSでは概念として明示的に導入しないような、より専門的な概念を集約する場合です。

ex:rocks rdf:type skos:Concept;
  skos:prefLabel "rocks"@en;
  skos:altLabel "basalt"@en;
  skos:altLabel "granite"@en;
  skos:altLabel "slate"@en.

しかし、SKOSは、KOS設計[ISO-2788, BS8723-2]に取って代ることを意図しているわけではありませんが、アップポスティングは推奨されないことを意識すべきです。この領域により適したKOSでは、例えば、考えついた岩石の種類(玄武岩、花崗岩、粘板岩)ごとにskos:Conceptを導入し、それはex:rockの下位概念であると言明するでしょう。

2.2.3 非表示字句ラベル

skos:hiddenLabelプロパティーで表される非表示字句ラベルは、資源用の語彙ラベルです。KOSの設計者は、テキストベースのインデキシングや検索を実行するアプリケーションが文字列を容易に利用できるようにしたいと考えるものの、そのラベルを表示したいとは思いません。例えば、非表示ラベルは、ある字句ラベルの誤ったスペルを別途含むために用いられるかもしれません。例:

ex:animals rdf:type skos:Concept;
  skos:prefLabel "animaux"@fr;
  skos:altLabel "betes"@fr;
  skos:hiddenLabel "betes"@fr.

2.3 意味関係

KOSでは、意味関係は、概念定義において極めて重要な役割を果します。概念の意味は、自然言語による単語のラベルで定義されるだけではなく、語彙中の他の概念へのリンクによっても定義されます。SKOSでは、シソーラス[ISO2788]などの語彙に用いられている基本的な関係のカテゴリをそのまま採用して、次の3つの標準的なプロパティーが提供されています。

2.3.1 より広義/狭義な関係

ある概念が別の概念より広義(すなわち、より一般的)であると言明するために、skos:broaderプロパティーを用います。skos:narrowerプロパティーは、その逆、すなわち、ある概念が別の概念より狭義(すなわち、より具体的)であると言明するために用いられます。例:

ex:animals rdf:type skos:Concept;
  skos:prefLabel "animals"@en;
  skos:narrower ex:mammals.
ex:mammals rdf:type skos:Concept;
  skos:prefLabel "mammals"@en;
  skos:broader ex:animals.

KOSにおいてしばしばそうであるように、SKOSの概念は、複数のより広義な概念に同時に付与できます。例えば、概念ex:dog(犬)は、より広義な概念として、ex:mammals(哺乳類)とex:domesticatedAnimals(家畜)の両方を持つことができます。(訳注:英語の「domesticated animals」(家畜)にはペットも含まれる。)

skos:broaderの方向性に関する注: 過去の経緯により、skos:broaderプロパティーの名前(「より広義」(broader)という言葉)は、方向性を示しません。「より広義」という言葉は、ここでは「より広義な概念を持っている」と読むべきです。skos:broaderステートメントの主語は、言明に含まれるより具体的な概念であり、その目的はより一般的な概念です。

暗示的なskos:broader/skos:narrowerステートメントに関する注: プロパティーskos:broaderskos:narrowerは、互いに逆です。概念Xが別の概念Yより広義である場合は、SKOSのデータ・モデル[SKOS-REFERENCE]に従えば、常にYはXより狭義の概念です。これは、SKOSの表現を、それに含まれる情報を制限することによって、より効果的にするために役に立つ場合があります。例えば、上の例の場合、ステートメントex:mammals skos:broader ex:animalsは、概念体系のデータを使用する前に、OWL推論システムを用いてステートメントex:animals skos:narrower ex:mammalsを推論すれば、省くことができます。

多くの場合、概念体系における階層関係は、推移的[OWL]であると考えることができます。ex:animals(動物)がex:mammals(哺乳類)より広義で、そのex:mammals(哺乳類)はex:cats(猫)より広義である場合、ex:animalsex:catsより広義であると言明することは意味が通ります。しかし、特に、標準的なうまく設計されたシソーラスとは異なり、KOSには「難しい」階層があり、その場合、そのような特徴は適切であるとは見なされないでしょう。例えば、ex2:vehicles(乗り物)がex2:cars(車)より広義と述べられており、そのex2:cars(車)はex2:wheels(自動車)より広義と言明さているケースを考えてみてください。「wheels」が「vehicles」に関するより狭義の概念であると自動的に推論されれば、問題がありえます。SKOSは、skos:broaderskos:narrowerが一般的に推移的なプロパティーであると定義しないことによって、このような問題を予測します。「推移的階層」を表現したい場合は、4.5項を読むことをお勧めします。この項で定義しているskos:broaderのセマンティクスとの互換性を担保しつつ、これを行う方法を示しています。

推移的ではないvs.非推移的に関する注: SKOSモデルは、skos:broaderskos:narrowerが推移的であるとは述べません。しかし、これは、これらのプロパティーが非推移的であることを意味しません。概念mammalsより狭義である概念cats(そして、mammalsanimalsより狭義である)を考えてみてください。SKOSモデルとの互換性を保ったままで、catsanimalsより狭義であるとも言明できます。skos:broaderを推移的と定めないということは、SKOS公理を適用して、catsanimalsの間に新たなskos:broaderステートメントを推論することはできないということを意味します。これは、SKOS概念体系を公開した人がローカルに推移的な挙動を反映した階層のステートメントを言明しないようにすることを妨げません

同様に、SKOSは、階層関係がデフォルトで非反射的であるとは想定しません。多くのシソーラスのガイドラインでは、自身より広義である概念を持つことが禁止されています。しかし、古いシソーラスに囚われない特定のケースでは、skos:broaderステートメントが出現する可能性があります。既存のRDFS/OWLオントロジーをSKOS概念体系に変換する場合を考えてみてください。このような場合には、すべてのrdfs:subClassOfステートメントをskos:broaderとして解釈し直すことは妥当です。しかし、rdfs:subClassOfは反射的なプロパティーであり、これは、すべてのクラスCにおいて、C rdfs:subClassOf Cであることを意味します[OWL]。したがって、この場合、すべての概念は、より広義な概念の中に自身を含むことになります。

基礎的なSKOSでカバーしていないのは、インスタンス―クラス関係や部分―全体関係などの、階層関係の形式の区別です。興味を持った人は、4.7項を参照してください。この課題に対応するために意味関係を専門化する方法について説明しています。

2.3.2 連合関係

2つの概念間の連合関係を言明するために、skos:relatedを使用できます。

ex:birds rdf:type skos:Concept;
  skos:prefLabel "birds"@en;
  skos:related ex:ornithology.
ex:ornithology rdf:type skos:Concept;
  skos:prefLabel "ornithology"@en.

SKOS Reference[SKOS-REFERENCE]で述べているように、skos:relatedプロパティーは対称的[OWL]です。例えば、上記のRDFグラフから、ex:ornithology(鳥類学)は、ex:birds(鳥)を目的語として持つskos:relatedステートメントの主語であるということになります。

skos:relatedの(非)推移性に関する注: 読者は、SKOSデータ・モデルでは、skos:relatedは推移的なプロパティーと定義されていないことを知っているべきです。推移的なskos:relatedは、次の例のように、望ましくない結果を招くかもしれません。

ex:renaissance skos:related ex:humanism.
ex:humanism skos:related ex:philosophicalAnthropology.
ex:philosophicalAnthropology skos:related ex:philosophyOfMind.
ex:philosophyOfMind skos:related ex:cognitiveScience.

skos:relatedが推移的であれば、ex:renaissance(ルネッサンス)は、ex:cognitiveScience(認知科学)に直接関連づけられています。個々のステートメントはすべて意味をなしますが、推論後のステートメントは、KOSの設計者が本来意図したものと一致しないかもしれません。

階層と関連との混合に関する注: skos:broaderの推移閉包は、skos:relatedとは素です。資源AとBがskos:relatedで関連づけられている場合、AからBへのskos:broader関係の連鎖はあってはなりません。これは、skos:narrowerにも当てはまります。


2.4 記録ノート

多くのKOSのガイドラインが強調しているように、概念の定義にとって意味関係は極めて重要です。しかし、この構造化した特性とは別に、スコープ・ノート定義のような、人間が読める(「非形式的な」)記録を用いて、さらに概念を定義しなければならないことがあります。

SKOSは、一般的な記録を目的として、skos:noteプロパティーを提供します。[ISO2788]や[BS8723-2]などの既存のKOSガイドラインの影響を受けて、このプロパティーは、より特定的な記録に適合するように、skos:scopeNoteskos:definitionskos:exampleskos:historyNoteへと専門化されます。

skos:scopeNoteは、特にインデキシングの実行において、どのように概念の使用が制限されるかを示すものとして、概念が意図する意味に関する、いくつかの、部分的でありえる情報を提供します。次の例の出典は[ISO2788]です。

ex:microwaveFrequencies skos:scopeNote 
    "Used for frequencies between 1GHz to 300Ghz"@en.

skos:definitionは、概念が意図する意味に関する完全な説明を提供します。次の例の出典は[ISO2788]です。

ex:documentation skos:definition 
    "the process of storing and retrieving information 
    in all fields of knowledge"@en.

skos:exampleは、概念の使用例を提供します。

ex:organizationsOfScienceAndCulture skos:example 
    "academies of science, general museums, world fairs"@en.

skos:historyNoteは、概念の意味や形式に対する重要な変更点を記述します。

ex:childAbuse skos:historyNote 
    "estab. 1975; heading was: Cruelty to children [1952-1975]"@en.

概念体系を利用する人々を対象としたこれらの注記に加え、SKOSには、skos:noteを専門化した、KOSの管理者や編集者に有益なskos:editorialNoteskos:changeNoteの2つが含まれています。

skos:editorialNoteは、まだ編集作業中であるというお知らせや、将来的に編集を加える際の注意点などのような、維持管理の補助となる情報を提供します。

ex:doubleclick skos:editorialNote "Review this term after company merger 
                                  complete"@en.
ex:folksonomy skos:editorialNote "Check spelling with Thomas Vander Wal"@en.

skos:changeNoteは、管理と維持を目的とした、概念に対するきめの細かい変更点を記録します。

ex:tomato skos:changeNote 
  "Moved from under 'fruits' to under 'vegetables' by Horace Gray"@en.

skos:noteとそれを専門化した別のノートの間の階層リンクにより、概念に関連づけられたすべての記録を簡単な方法で検索することが可能となることを知っておくことは重要です。すべてのskos:definitionskos:noteであり、すべてのskos:scopeNoteskos:note等々です。

上で示しているように、SKOSのドキュメンテーション・プロパティーは、RDFプレーン・リテラルと共に簡単に使用できます。4.2項は、これらのプロパティーの値域がリテラルに制限されていないため、他のパターンが可能でありえることを示します。しかし、シンプルなリテラルの1つの重要な機能は、ラベル付けプロパティーに対して行うような、言語タグを用いることができることです。したがって、記録は、複数の言語で提供されるかもしれません。

ex:pineapples rdf:type skos:Concept;
  skos:prefLabel "pineapples"@en;
  skos:prefLabel "ananas"@fr;
  skos:definition "The fruit of plants of the family Bromeliaceae"@en;
  skos:definition
        "Le fruit d'une plante herbacee de la famille des bromeliacees"@fr.

この項を終える前に、概念を記録するために他の非SKOSプロパティーを使用できることを知っておくことは重要です。例えば、概念の作成者を示すために、ダブリン・コア[DC]のdct:creatorプロパティーを使用できます。

ex:madagascarFishEagle dct:creator [ foaf:name "John Smith" ].

2.5 概念体系

概念は、単独のエンティティーとして作成し、使用できます。しかし、特に実際のインデキシングにおいては、概念は通常、シソーラスや分類表などの慎重に編集された語彙の形で作成されます。SKOSは、skos:ConceptSchemeクラスを用いてそのようなKOSを表す手段を提供します。

次の例は、ダブリン・コア[DC]のdct:titledct:creatorのプロパティーを用いて、概念体系の資源を定義し(シソーラスを意味する)、その資源を記述する方法を示しています。

ex:animalThesaurus rdf:type skos:ConceptScheme;
  dct:title "Simple animal thesaurus";
  dct:creator ex:antoineIsaac.

概念体系の資源が作成されれば、skos:inSchemeを用いて、それに含まれる概念にリンクできます。

ex:mammals rdf:type skos:Concept;
  skos:inScheme ex:animalThesaurus.
ex:cows rdf:type skos:Concept;
  skos:broader ex:mammals;
  skos:inScheme ex:animalThesaurus.
ex:fish rdf:type skos:Concept;
  skos:inScheme ex:animalThesaurus.

より広義/狭義な概念階層のエントリー・ポイントに効率的にアクセスできるようにするために、SKOSはskos:hasTopConceptプロパティーを定義しています。このプロパティーにより、(示し続けている)動物シソーラスの例のように、概念体系をその中で最も一般的な概念(多数の場合のありえる)にリンクすることが可能になります。

ex:animalThesaurus rdf:type skos:ConceptScheme;  skos:hasTopConcept ex:mammals;
  skos:hasTopConcept ex:fish.

概念体系は、従来の語彙を表現するように設計されており、SKOSの概念体系を編集する際には、既存のKOSガイドライン(例えば、[ISO2788]や[BS8723-2])に従うことをお勧めします。例えば、2.2項で述べているように、2つの概念が同じ概念体系に属している場合には、ある言語の同じ優先字句ラベルを持たないようにすることをお勧めします。

しかし、SKOSの概念体系と「従来の」KOSの間には、主にセマンティック・ウェブというSKOSが置かれた背景に起因する、いくつかの微妙な違いがあることを意識しているべきです。SKOS Reference[SKOS-REFERENCE]の4.6項で、これらの違いについて説明しています。SKOSの1つの重要な特徴は、skos:inSchemeの使用により、同じ概念をいくつかの概念体系にリンクすることが可能であるということです。これについては、次の項で議論します。

最後に、SKOSの語彙は、概念体系へのKOS情報の包含を限定的にしかサポートしていないということを知っていることは重要です。skos:inSchemeskos:hasTopConceptは、概念体系と概念をリンクします。しかし、SKOSには、これらの概念に関する特定のステートメント(例えば、skos:broader言明)が特定の概念体系に関連しているということを記録する方法はありませんが、KOSは通常、定義している概念とリンクの両方から構成されていると考えられます。興味を持った人は、この話題に関する議論について5.3項を参照してください。


3 セマンティック・ウェブにおけるKOSのネットワーク化

SKOSでKOSを表現することは、公開方法として役立つだけではなく、概念体系のネットワークを共有できるようになります。セマンティック・ウェブでは、データの真の可能性は、連結したときに引き出されます。異なる概念体系の概念が連結されたときに、分散した異種のグローバルな概念体系が形成され始めます。概念体系のウェブは、KOS間の有意義なナビゲーションを可能にする新しいアプリケーションの基礎として役立ちます。この項では、概念体系の連結を可能にするSKOSの機能を紹介し、セマンティック・ウェブ上で概念資源を他の資源に関連付ける方法について説明しています。


3.1 概念体系のマッピング

すべてのSKOS概念にはURI[COOLURIS]が割り当てられ、それにより、SKOSアプリケーションの概念を参照できます。これは、既存の概念間の意味関係を成立させるために特に有用でありえます。このようなマッピングは、同時に複数のKOSを使用する(これらのKOSの範囲が重なっており、意味を調整する必要性がある)情報検索ツールなどのアプリケーションにとって、極めて重要です。SKOSユースケースおよび要件ドキュメント[SKOS-UCR]にがあります。

マッピングの重要な特徴は、異なる体系に属する2つの概念が同等の意味を有していると述べ、これらの意味が異なるモデル化原則[BS8723-4]に従った異なるコンテキストに属しているにも関わらず、どのように同等であると見なせるかを指定することが可能であるということです。SKOSを用いてKOSをセマンティック・ウェブで利用可能にする主な利点は、概念マッピングであると考えられます。

SKOSは、異なる概念体系に属する概念をマッピングするプロパティーをいくつか提供しています。これは、skos:exactMatchskos:closeMatchのプロパティーを用いて、2つの概念には同じような意味があると言明することで可能となります。異なる概念体系に属する2つの概念は、2.3項で紹介した意味関係の類似性を指定するskos:broadMatchskos:narrowMatchskos:relatedMatchのプロパティーを用いてもマッピングできます。

次の例をご覧ください。2つの概念体系では、動物に関して異なる見解を示しています。

ex1:referenceAnimalScheme rdf:type skos:ConceptScheme;
   dct:title "Extensive list of animals"@en. 
ex1:animal rdf:type skos:Concept;
   skos:prefLabel "animal"@en;
   skos:inScheme ex1:referenceAnimalScheme.
ex1:platypus rdf:type skos:Concept;
   skos:prefLabel "platypus"@en;
   skos:inScheme ex1:referenceAnimalScheme.

ex2:eggSellerScheme rdf:type skos:ConceptScheme;
   dct:title "Obsessed egg-seller's vocabulary"@en. 
ex2:eggLayingAnimals rdf:type skos:Concept;
   skos:prefLabel "animals that lay eggs"@en;
   skos:inScheme ex2:eggSellerScheme.
ex2:animals rdf:type skos:Concept;
   skos:prefLabel "animals"@en;
   skos:inScheme ex2:eggSellerScheme.
ex2:eggs rdf:type skos:Concept;
   skos:prefLabel "eggs"@en;
   skos:inScheme ex2:eggSellerScheme.

次のマッピング言明を用いれば、ex1:referenceAnimalSchemeの概念を、ex2:eggSellerSchemeの概念にマッピングできます。

 ex1:platypus skos:broadMatch ex2:eggLayingAnimals.
 ex1:platypus skos:relatedMatch ex2:eggs.
 ex1:animal skos:exactMatch ex2:animals.

skos:closeMatch言明は、2つの概念が属している2つの概念体系について検討しているアプリケーションにおいて、それらを取り換えて使用できるほど似ているということを示します。しかし、skos:closeMatchは、推移的であると定義されておらず、そのため、そのような類似性評価がこれらの2つの体系以外に広がることを防ぎます。概念ex1:Aが、自身がex3:Cの類似一致(close match)である別の概念ex2:Bの類似一致である場合、SKOSデータモデルでは、ex1:Aex3:Cの類似一致ということにはなりません

skos:exactMatchも意味の類似性を示します(これは、skos:closeMatchのサブプロパティーです)。しかし、より高い近似性を意味します。つまり、2つの概念は同等の意味を有しており、そのリンクは、より広い範囲のアプリケーションや体系にまたがって利用できます。skos:exactMatchは、実際には推移的です。概念ex1:Aが、自身がex3:Cの完全一致(exact match)である別の概念ex2:Bの完全一致である場合、SKOSデータモデルでは、ex1:Aex3:Cの完全一致ということになります

skos:exactMatch vs. owl:sameAsに関する注: SKOSは、同等の意味を有する概念をマッピングするためにskos:exactMatchを提供しており、OWLオントロジー言語[OWL]のowl:sameAsはあえて使用しません。2つの資源がowl:sameAsでリンクされているとき、それらは同じ資源であると見なされ、これらの資源を含んだトリプルは統合されます。これは、ほとんどのSKOSアプリケーションに必要なものに合致しません。上記の例では、ex1:animalは、ex2:animalsと同等であると述べられています。owl:sameAsを用いてこの同等性の関係を表す場合、ex:animalに対して次のステートメントが成立するでしょう。

ex1:animal rdf:type skos:Concept;
   skos:prefLabel "animal"@en;
   skos:inScheme ex1:referenceAnimalScheme.
   skos:prefLabel "animals"@en;
   skos:inScheme ex2:eggSellerScheme.

こうすると、ex:animalは矛盾します。概念は同じ言語の2つの異なる優先ラベルを持つことができないためです。意味関係を他の概念やノートに割り当てるなど、概念に他の情報が割り当てられれば、これらも統合され、これらの概念は新しい意味を持つでしょう。

慣習上、マッピング・プロパティーは、「標準的な」セマンティック・プロパティーと同じ意図の意味を有する(しかし、アプリケーションの範囲は異なる)リンクを表すために用いられます。マッピング関係は、それに含まれる概念の意味に付随するものではないと言えるかもしれません。マッピングされたKOSの元の設計者の観点から見ると、それらは間違っていることすらあるかもしれません。

マッピング・プロパティーは、複数の、概念的に重複するKOSを使用する特定のアプリケーションで有用であると考えられます。慣習上、異なる概念体系に属する概念間では、マッピング関係が言明されていると考えられます。

SKOSデータモデルでは、特定の意味関係のプロパティーを「反映した」マッピング・プロパティーは、RDFSの意味において、そのサブプロパティーでもあるということを知っているべきです。例えば、skos:broadMatchは、skos:broaderのサブプロパティーです。その結果、2つの概念間のskos:broadMatchのすべての言明は、推論によって、これらの概念間のskos:broaderを言明することにつながります。


3.2 概念体系の再利用と拡張

マッピングによって概念をリンクすることのみが、概念体系の連結方法ではありません。セマンティック・ウェブでURIを使用することで、資源を、分散した形で共有し、再利用することが可能になります。その結果、SKOS概念は、いくつかの概念計画に同時に存在することができます。例えば、SKOSの公開者は、必要となりえる新しい概念を宣言し、既存の体系で既に定義されている概念にリンクするだけで、既存の概念体系をローカル上で拡張することを選択できます。

KOSの拡張は、その設計者(または、第三者であるKOS公開者)が、例えば、一部の概念を再使用することによって既存のKOSの設計のよりどころとなった原則に従いながらも、定義域や下位定義域の範囲を広げたいときに、特に有用でありえます。連結されたKOS群(例えば、包括的な語彙の一つであるマイクロシソーラス)が複数の定義域をカバーするように設計されており、その設計者が、特定のアプリケーションによって特定の概念のサブセットを操作できるようにしたいと考えた場合、KOSの明確な拡張及び再利用は、モジュール化のメカニズムとしても使用できます。

新しい概念体系は、skos:inSchemeプロパティーを用いて既存の概念を再利用できます。次の例をご覧ください。動物に関する最初の概念体系で「猫」の概念を定義しています。

ex1:referenceAnimalScheme rdf:type skos:ConceptScheme;
   dct:title "Reference list of animals"@en. 
ex1:cats rdf:type skos:Concept;
   skos:prefLabel "cats"@en;
   skos:inScheme ex1:referenceAnimalScheme.

猫の記述をテーマとした別の概念体系の作成者は、自由にex1:catsという概念の参照を体系に含むことができ、次の通り、それを参照できます。

ex2:catScheme rdf:type skos:ConceptScheme;
   dct:title "The Complete Cat Thesaurus"@en. 

ex1:cats skos:inScheme ex2:catScheme.
ex2:abyssinian rdf:type skos:Concept;
   skos:prefLabel "Abyssinian Cats"@en;
   skos:broader ex1:cats;
   skos:inScheme ex2:catScheme.

ex2:siamese rdf:type skos:Concept;
   skos:prefLabel "Siamese Cats"@en;
   skos:broader ex1:cats;
   skos:inScheme ex2:catScheme.

新しい概念体系を定義した情報源は、 優先ラベルなどのex1:catsの情報をコピーしていないことに注意してください。ex1:catsが公開されていれば、セマンティック・ウェブのアプリケーションは、概念のURI(http://www.example.com/1/cats)を解決するだけで、この概念の情報を取り込むことができます。

owl:importsおよびKOSの再利用に関する注: owl:importsプロパティーは、OWLオントロジーの言明を別のオントロジーにインポートする仕組みを提供します。owl:importsをSKOS語彙と一緒に用いて、概念体系が別の概念をまるごと「インポートする」ような、特殊な再利用/拡張のケースを提供することができます。上記の例を続けると、これは、下記のex2:catSchemeを定義した情報源のステートメントを含むことによって、達成されます。

ex2:catScheme owl:imports ex1:referenceAnimalScheme.

このようにowl:importsを使用すると、いくつかの影響があります。最初に、owl:importsの定義域と値域はowl:Ontologyである一方で、skos:ConceptSchemeowl:Classと定義されます。したがって、概念体系がowl:importsによって別の体系をインポートしていると言明すると、そのインポートした体系に含まれるskos:conceptSchemeのインスタンスはowl:Ontologyのインスタンスでもあると推論されることになります。次に、これは、OWL Fullオントロジーになります(クラスおよびオントロジーとしてのURIの二重使用のため。OWLセマンティクス・ドキュメント[OWL-SEMANTICS]の4.2項を参照してください)。

第二に、OWL Fullセマンティクス(OWLセマンティクス[OWL-SEMANTICS]の5.3項を参照)では、owl:importsが意図する解釈は、インポートされたURIから取り込まれたRDFグラフがインポート先のグラフに追加されるというものです。ユーザはこれを意識しているべきで、それ以外の解釈は避けるべきです。特に、skos:inSchemeowl:importsの間には、論理的な依存性はありません。owl:importsの使用により、インポートされたグラフで既に言明されているもの以外のskos:inSchemeステートメントが現われるという結果は生じないでしょう。上例の場合、owl:importsは、ある概念体系が別の体系を論理的にインポートしていると述べるために用いられています。ex1:referenceAnimalSchemeが、

ex1:Elephant skos:inScheme ex1:referenceAnimalsScheme.

のトリプルを含んでいたとしても、

ex1:Elephant skos:inScheme ex2:catScheme.

のトリプルは、ex2:catSchemeを定義しているグラフに存在していると推論すべきではありません

アプリケーションが実際の来歴や所有権の情報に関するものであれば、5.3項で述べているように、来歴を保持したり、インポートされたトリプルの権限を言明するために、追加的な手段を講じる必要があるかもしれません。


3.3 主題のインデキシングとSKOS

概念とその概念に関する資源の間のリンクは、KOSを定めている機能には正式に属していませんが、ドキュメントのインデキシングや検索などの、多くのKOSアプリケーションにおける基礎となっています。これは、主題を定義した概念上の単位を用いてドキュメントを注釈する必要性が大きいセマンティック・ウェブ環境においてさらに重要になります。

SKOS語彙自身には任意の資源をskos:Conceptに関連付けるメカニズムが含まれていませんが、実装者は他の語彙を利用することができます。例えば、ダブリン・コアは、dct:subjectプロパティーを提供しています。[DC]

ex1:platypus rdf:type skos:Concept;
   skos:prefLabel "platypus"@en.

<http://en.wikipedia.org/wiki/Platypus> rdf:type foaf:Document;
   dct:subject ex1:platypus.

1つの資源は、複数の主題を持ち、したがって、複数のdct:subjectステートメントに含むことができることに注意してください。これらの主題は、例えば、分散的な注釈プロセスによって作成された、明らかに異なる概念体系からもって来ることができます。


4 高度なSKOS: KOSがシンプルでなくなった場合

上記の機能のほかに、SKOSは、より高度な表現の必要性に対応した多くの語彙要素やガイドラインを提案しており、それによって、SKOSは広範囲なKOSモデル化のアプローチや互換性を持つことができます。これらは、特に、SKOS Use Cases and Requirements[SKOS-UCR]で取り上げた要件を満たすように設計されていますが、次に示す少数のユースケースのみで示されています。

この項は、SKOSモデルの拡張性に関する一般的な注で締めくくり、この入門で示している語彙をさらに専門化した限定子への道を開きます。


4.1 概念の集合

SKOSにより、概念の意味を含んだグルーピングである「集合」を定義することが可能になります。そのようなグルーピングは通常、シソーラスでは次の例のように表示されます。

milk
  <milk by source animal>
    cow milk
    goat milk
    buffalo milk

これらの集合は、シソーラスの用語における「配列」を表すために使用でき、「動物のミルク」(milk by source animal)という用語は「ノード・ラベル」です[WillpowerGlossary]。ノード・ラベルそれ自体は、概念のラベルを表さないという共通認識があります。したがって、それらを表すために特定のエンティティ―を導入しなければなりません。

ラベル付き集合

そのような概念集合構造を正しくモデル化するために、SKOSは、skos:Collectionというクラスを導入しています。このクラスのインスタンスは、skos:memberプロパティーによって、特定の概念をグルーピングします。

ex:milk rdf:type skos:Concept;
  skos:prefLabel "milk"@en.
ex:cowMilk rdf:type skos:Concept; 
  skos:prefLabel "cow milk"@en;
  skos:broader ex:milk.
ex:goatMilk rdf:type skos:Concept; 
  skos:prefLabel "goat milk"@en;
  skos:broader ex:milk.
ex:buffaloMilk rdf:type skos:Concept; 
  skos:prefLabel "buffalo milk"@en;
  skos:broader ex:milk.

_:b0 rdf:type skos:Collection;
   skos:prefLabel "milk by source animal"@en;
   skos:member ex:cowMilk;
   skos:member ex:goatMilk;
   skos:member ex:buffaloMilk.

上の例では、集合は空白ノードであると定義されている、すなわち、定義済みURIが割り当てられていないことに注意してください。URIを集合に割り当てることもできますが、通常、その必要はありません。また、skos:prefLabelプロパティーは(他のSKOSのラベル付けプロパティーのように)、概念ではない資源と共に使用できるため、集合に語彙ラベルを割り当てるために用いられてきました。

順序付き集合

集合内の概念の順序を記録することは、概念をアルファベット順や年代順にリストアップする時などに重要でありえます。概念の順序付き集合を定義するために、skos:memberListプロパティーと共にskos:OrderedCollectionクラスが用いられます。このプロパティーは、RDFコレクション[RDF-PRIMER]の定義を有効にするパターンに従い、skos:OrderedCollectionのインスタンスを型rdf:Listのノード(空白ノードでありえる)にリンクします。例えば、次のとおりです。

ex:infants rdf:type skos:Concept; 
  skos:prefLabel "infants"@en.
ex:children rdf:type skos:Concept; 
  skos:prefLabel "children"@en.
ex:adults rdf:type skos:Concept; 
  skos:prefLabel "adults"@en.

_:b0 rdf:type skos:OrderedCollection;
   skos:prefLabel "people by age"@en;
   skos:memberList _:b1.
_:b1 rdf:first ex:infants;
   rdf:rest _:b2.
_:b2 rdf:first ex:children;
   rdf:rest _:b3.
_:b3 rdf:first ex:adults;
   rdf:rest rdf:nil.

SKOSコレクション、意味関係および体系表示

SKOSデータ・モデルに従い、集合が概念と素であることに注意してください。したがって、SKOS意味関係(2.3項を参照)を用いて、SKOSセマンティック・ネットワークにそのまま適合する集合を得ることはできません。言い換えれば、概念を集合にグルーピングしても、概念体系における概念の場所に関する言明が置き換わることはありません。例えば、上の「ミルク」の例では、出所が明記されたすべてのミルクは、skos:broaderプロパティーにより、より一般的なex:milkと明示的に結び付けられていなければなりません。

ex:cowMilk skos:broader ex:milk.
ex:goatMilk skos:broader ex:milk.
ex:buffaloMilk skos:broader ex:milk.

これで、この項について紹介している例で示しているように、「動物ごとのミルク」をグルーピングした概念を含んだ体系(階層)表示を作成できます。これには、skos:broader階層と集合のメンバーシップの情報を使用できますが、処理には、さらに専用のアルゴリズムも必要で、実装は特定のアプリケーションに委ねられます。

集合によってアプリケーションが操作しなければならない表現が複雑になるため、使用が望ましいかについて疑問に思う人がいるかもしれません。実際のところ、例えば、KOSが主にナビゲーション階層を目的としている場合などには、「ノード・ラベル」や「案内用語」をskos:Conceptのインスタンスとして表示し、通常の意味関係を用いて他の概念にリンクする方がより直感的であるように思えます。次の別の「ミルク」の例をご覧ください。

ex3:milkBySourceAnimal rdf:type skos:Concept;
   skos:prefLabel "milk by source animal"@en;
   skos:broader ex3:milk;
   skos:narrower ex3:cowMilk;
   skos:narrower ex3:goatMilk;
   skos:narrower ex3:buffaloMilk.

2つの表現オプションのどちらを選択するかは決まらないままで、手元にあるアプリケーション次第です。しかし、集合を用いなければ、それがより直感的であったとしても、意味の正確さに有害な損失を招く可能性があることを意識しているべきです。例えば、多くの記述アプリケーションでは、「ノード・ラベル」は非常に特異な性質のエンティティーであり、「普通の」概念と一緒にオブジェクト・インデックスとして用いてはなりません。したがって、それらを単なる概念として表すことは、明らかに最善の方法ではありません。


4.2 高度なドキュメンテーション機能

2.4項で示しているように、SKOSでは、概念に様々な注を付して注釈することが可能です。SKOSリファレンスでは、言明が目的語の位置で使用できる資源の値域を制限していないことは注目に値します。これは、異なる使用パターンにつながり、このドキュメントでは、そのうち3つについて説明しており、勧告されています。

RDFリテラルとしての記述

ここでは、記述ステートメントは、2.4項すべての例で示しているように、シンプルなRDFリテラルを目的語として有しています。これは、概念を記録する最もシンプルな方法で、ほとんどの一般的なアプリケーションに適合すると思われます。

関連資源記述としての記述

この2番目のパターンでは、記述ステートメントの目的語は、一般的な非リテラルRDFノード ― すなわち、追加的なRDFステートメント[RDF-PRIMER]の主語でありえる資源ノード(空白でありえる) ― です。これは、作成者や作成日のような、記述自身に関する詳細情報をRDFで表すために有用です。これは通常、空白ノードを用いた次の例のように、RDFのrdf:valueという実用プロパティーを用いて行います。

ex:tomato skos:changeNote [
  rdf:value "Moved from under 'fruits' to under 'vegetables'"@en;
  dct:creator ex:HoraceGray; 
  dct:date "1999-01-23" 
].
ex:HoraceGray rdf:type foaf:Person; foaf:name "Horace Gray".

ドキュメント参照としての記述

3番目のオプションは、例えば、ウェブページのようなドキュメントのURIを記述ステートメントの目的語として導入するというものです。また、先ほどのパターンと密接に関連があるこのパターンでは、RDFを用いてこのドキュメントにさらなるメタデータを定義できるようになることに注意してください。

ex:zoology skos:definition ex:zoology.txt.
ex:zoology.txt dct:creator ex:JohnSmith.

4.3 ラベル間の関係

一部のアプリケーションでは、概念と関連付いたラベル間に明示的なリンクを作成する必要があります。例えば、「Corporation」という概念の優先ラベルと代替ラベルとして作成されたその略語「Corp.」との関係、または、"Cow"@en"Vache"@frという異なる言語の2つのラベル間の翻訳リンクを考えてみてください。例えば、skos:prefLabelというSKOS字句ラベル付けプロパティーの使用は、RDFリテラルに制限されています。したがって、これらのラベルは、RDFステートメントの主語にはなりえず、それらの間の直接的な関係を言明できません。

この表現の問題を解決するために、SKOS語彙は、ラベルに拡張を追加して補強しましたSKOS-XL[SKOS-REFERENCE]。この拡張では、ラベルを一次RDF資源として扱うことができるskosxl:Labelクラスが導入されています。このクラスの各インスタンスは、最初にskosxl:literalFormプロパティーを用いて一つのRDFリテラルに付与すべきです。「食糧農業機関」(Food and Agriculture Organization)という概念が、この機関の正式名と頭字語の両方でラベル付けされている例を考えてみてください。次の方法で2つのラベルを表すことができます。

ex:FAOlabel1 rdf:type skosxl:Label;
  skosxl:literalForm "Food and Agriculture Organization"@en.
ex:FAOlabel2 rdf:type skosxl:Label;
  skosxl:literalForm "FAO"@en.

次に、skosxl:Labelインスタンスは、標準的なリテラルベースのラベル付け構成子をそのまま採用したプロパティー(skosxl:prefLabelskosxl:altLabelskosxl:hiddenLabel)を用いて概念に関連付けることができます。最後に、これらのインスタンスは、 skosxl:labelRelationステートメントでリンクできます。

ex:FAO rdf:type skos:Concept;
  skosxl:prefLabel ex:FAOlabel1; 
  skosxl:altLabel ex:FAOlabel2.ex:FAOlabel2 skosxl:labelRelation ex:FAOlabel1.

しかし、この解決策は完璧ではありません。「頭字語に敏感な」アプリケーションは、2つのラベルが実際に頭字語の関係にあるという事実を見逃すでしょう。また、そのようなアプリケーションは、リンクの方向性も見逃すでしょう。したがって、SKOS-XLを利用する人は、次のとおり、自身のアプリケーションの固有の要件に合うように、skosxl:labelRelationを専門化することをお勧めします。

ex:isAcronymOf rdfs:subPropertyOf skosxl:labelRelation.
ex:FAOlabel2 ex:isAcronymOf ex:FAOlabel1.

SKOS-XLのデータ・モデルでは、このようなパターンの使用により標準的なSKOSラベル付けの慣習との互換性の維持が確保されていることに注意してください。skosxl:Labelのインスタンスが、例えば、skosxl:altLabelステートメントによって概念に付与されていれば、SKOS-XLのデータ・モデルにより、skosxl:Labelインスタンスのリテラル形式が標準的なskos:altLabelステートメントでこの概念に関連づけられていることになります。したがって、上の例では、ex:FAOは、"FAO"@en"を代替(リテラル)ラベルとして持っています。


4.4 概念結合

シソーラスやその他のKOSのインデキシングには、しばしば結合(coordination)の概念が含まれます。結合とは、KOSの概念を結合する行為です。一般的に、事前結合(pre-coordination)と事後結合(post-coordination)の2種類の結合があります。この2つの主な違いは、実際の結合が、情報検索との関連で、いつ行われるかに依ります。

事前結合は、KOSの管理者やKOSを使用する索引作成者によって情報検索の前に行われます ― 例えば、索引作成者が、ある概念体系から「自転車」や「修理」などの2つの既存の概念を取り込み、それらを「自転車--修理」のように特定の構文で明示的に結合し、特定のドキュメントに索引付けを行います。

一方、事後結合は、情報検索タスクの一部として実行されます ― 例えば、あるドキュメントが2つの異なる概念「自転車」と「修理」で索引付けされていて、ユーザが「自転車」と「修理」の索引が付与されたすべてのドキュメントを検索することにした場合です。

情報検索行為としての事後結合は、RDFデータにアクセスするためのSPARQLクエリ[SPARQL]としての間接的な表現に適しています。例えば、次の2つの異なる概念がある場合、

ex:bicycles skos:prefLabel "Bicycles"@en.
ex:repairing skos:prefLabel "Repairing"@en.

両方の概念で索引付けされたドキュメントのみを返すようなSPARQLクエリを作成できます。

SELECT ?document
WHERE {
  ?document dct:subject ex:bicycles.
  ?document dct:subject ex:repairing.
}

しかし、SKOS語彙自体は、ある概念が他の概念の事前結合で構成されていると表現する方法を提供しません。もちろん、結合した概念を表現するパターンを確立するためにSKOSを拡張することは、何の問題もなくできます。例えば、ex:coordinationOfなどの新たなプロパティーの規定の可能性が提案されました。

ex:coordinationOf a rdf:Property;
  rdfs:domain skos:Concept;
  rdfs:range rdf:List.

そして、これは、下記のような言明に使用できます。

ex:bicyclesRepairing a skos:Concept;
  ex:coordinationOf (ex:bicycles ex:repairing);
  skos:prefLabel "Bicycles--Repairing"@en.

OWL自身を用いて概念を結合することも提案されました。

ex:bicyclesRepairing a skos:Concept;
  owl:intersectionOf (ex:bicycles ex:repairing);
  skos:prefLabel "Bicycles--Repairing"@en.

しかし、SKOSコミュニティでは、この種の事前結合用にパターンは、まだ確立されていません。ex:coordinationOf(または、何らかの同等な拡張)、および、SKOSをOWLと一緒に用いた場合の悪影響については、まだSKOS語彙への採用を保証できるほど十分には調査されていません。セマンティック・ウェブ展開ワーキンググループは、有用性が証明されていない設計パターンに尽力するよりも、結合の課題を先送りにし、SKOSの展開によって拡張パターンが有機的に出現できるようにすることを決定しました。うまくいくパターンが確立されれば、それをSKOSの拡張語彙としてウェブで公開し、W3Cノートやそれに相当する文書として作成する想定です。


4.5 推移的な階層

2.3.1項で説明しているように、KOS階層を表現するプロパティー、skos:broaderおよびskos:narrowerが推移的であるとは定義されていません。図4.5.1(i)と(ii)で示しているように、これは、そのセマンティクスが、「動物」が「哺乳類」より広義であり、「哺乳類」が「猫」より広義であれば、「動物」は「猫」より広義であるといった種類の推論をサポートしないことを意味します。

図4.5.1: skos:broaderは、推移的ではない

skos:broaderは推移的ではない

点線の矢印は、SKOSデータ・モデルから推論されたステートメントを表します。
実線の矢印は言明されたステートメントを表します。

このようなセマンティクスを必要とするアプリケーションのために(例えば、クエリ拡張を実行するために)、SKOSには、skos:broaderTransitiveskos:narrowerTransitiveの2つの特定のプロパティーがあります。これらは、skos:broaderskos:narrower[SKOS-REFERENCE]の推移的なスーパープロパティーと定義されています。このパターンにより、セマンティック・ウェブ推論ツールを用いて、skos:broaderskos:narrowerで表された階層の「推移閉包」にアクセスすることが可能になります。

図4.5.1(i)の例を考えてみてください。

ex:animals skos:prefLabel "animals"@en.
ex:mammals skos:prefLabel "mammals"@en;
  skos:broader ex:animals.
ex:cats skos:prefLabel "cats"@en;
  skos:broader ex:mammals.

上のトリプルを読むと、推論システムは、次のステートメントを推論するために、skos:broaderTransitiveの定義をskos:broaderのスーパープロパティーとして用います。

ex:cats skos:broaderTransitive ex:mammals.
ex:mammals skos:broaderTransitive ex:animals.

次に、skos:broaderTransitiveの推移性により、推論に望ましいステートメントが作成されます。

ex:cats skos:broaderTransitive ex:animals.

これらの2つのステップについて、次の図で示します。

図4.5.2: 言明されたskos:broaderからの推移的な階層の推論

言明されたskos:broaderステートメントから推移的な階層を推論

点線の矢印は、SKOSデータ・モデルから推論されたステートメントを表します。
実践の矢印は、言明されたステートメントを表します。

skos:broaderTransitiveスーパープロパティーを使用しても、skos:broaderのセマンティクスが妨げられることはなく、実践コミュニティは、自分にとって適切と思えば、階層的なネットワークの推移的な解釈を利用できますが、そのような推移性を強制することはできません。直観的には、skos:broaderステートメントは、明示的に言明された直接的な親のリンクであると解釈できます。一方で、skos:broaderTransitiveは、より一般的な(また、場合によると、間接的な)先祖の関係を示すために用いられます。

想定される「推移性の継承」に関する注: skos:broaderskos:broaderTransitiveの間のスーパープロパティーのリンクは、一見したところでは、直感と反しているように見えるかもしれません。ここでは、非推移的なプロパティーは、推移性を継承していませんが、推移的なプロパティーの子どもであると定義されています。しかし、これは、rdfs:subPropertyOfRDFS/OWLセマンティクスに完全に準拠しており[OWL]、プロパティーPが2つの資源間で成立する場合には常にQもそれらの間で成立する場合に限り、PはQのサブプロパティーです。推移性の継承を強制されません。それどころか、P(そのグラフ)によって関連づけられた資源のすべての組の集合は、Qのサブセットとして、Qを推移的にする一部の組を見逃す可能性が高いです。


4.6 表記法

一部のKOS、例えば、国際十進分類法[UDC]などの分類体系では、それが含む概念への主なアクセス手段として表記法(または、見出し)を用います。表記法は通常、自然言語の単語や単語の羅列としては認識できない符号であり、そのため、自然言語のコンテキストと関係なく使用できます。これらは通常、次のUDCの例のように、記号やその他の文字を補った数字で構成されます。

512 代数学
512.6 代数学の特殊部門

SKOSでは、概念体系の公開者の優先度に応じて、2つの方法で表記法を表すことがでます。1つめ(望ましい)の方法は、skos:notationを用いることです。このプロパティーによって、概念をRDF型付きリテラル(明示的なデータ型を有するリテラル[RDF-PRIMER])に付与することが可能になります。リテラルのデータ型は、構文のコード化スキームを規定し、これは、関連するKOSにおける表記法の使用に適しています。リテラルの値は表記法自身(この場合、分類コード自身)です。

ex:udc512 skos:prefLabel "Algebra"@en ;
  skos:notation "512"^^ex:UDCNotation .

SKOS Reference6.5.1項では、データ型を扱う方法の詳細が示されています[SKOS-REFERENCE]。KOSの公開者が、KOSの表記スキーム固有の処理規則をユーザに提供したい場合に、このアプローチは特に有用でありえます。例えば、多くの分類体系には、複雑な表記法を分解するための明確な構文ルールがあり、それによって、概念は他のより簡単な概念にリンクされます。また、このパターンは、表記法を特定の方法で表示したいと考えるSKOSツールの作成者やKOS公開者にとっても役に立ちます。

しかし、そのようなデータ型の管理は面倒でありえます。さらに、公開者が、表記法自身がシンプルな言語に依存しないラベルであると考えた場合には、先ほどのパターンはあまり必要ではありません。その場合には、次のように、言語タグを用いず、SKOSラベル付けプロパティー(例えば、skos:prefLabel)を用いることができます。

ex:udc512 skos:prefLabel "Algebra"@en ;
  skos:notation "512"^^ex:UDCNotation ;
  skos:prefLabel "512" .

この方法で表された表記法に対して、SKOSツールの表記法固有のメカニズム(表示手段などの)が有効ではなさそうであることに注意してください。ユーザは、これらの表記法は、SKOSモデルにより、デフォルトでは単なるラベルとして扱われると想定すべきです。


4.7 SKOSモデルの専門化について

SKOSは、異なるモデル化アプローチを共通化させるものとして機能することを目指しています。そのため、現在の語彙仕様を用いて、多くの既存のKOSをセマンティック・ウェブに移植することができます。しかし、KOSモデルは多種多様であるため、「SKOS」の最初の「S」(「シンプル」)を確保しつつも、これらのモデルの詳細を隅々まで捉えることは不可能になります。

より細かな粒度を必要とするアプリケーションは、SKOSがセマンティック・ウェブの語彙であることで、大きな恩恵を受けるでしょう。SKOSは実際に、コアSKOS機能に基づいたアプリケーションと互換性を保ちながらも、特定のKOSコミュニティの特定のニーズに合うようにうまく拡張できます。

これは主に、既存のSKOS構成子をより特定的なものに専門化することで可能となります。ユーザは、独自のプロパティーとクラスを作成し、それを、RDFスキーマ語彙[RDF-PRIMER]のrdfs:subPropertyOfおよびrdfs:subClassOfのプロパティーを用いて、標準的なSKOS語彙要素に付与できます。

4.3項の例は、どのようにskosxl:labelRelationを、頭字語のリンク表現を専門とするより豊かな意味を持つプロパティーに専門化できるかを示しています。プロパティーskos:broaderskos:narrowerに異なる「テイスト」を与えるといった、その他の利用も可能です。実際に、シソーラスの規格では、属種、部分―全体、インスタンス―クラスなどの少数の種類の階層関係[ISO2788]を識別します。SKOSのアプローチにより、アプリケーション設計者は、新しいプロパティーを作成してこの区別を行い、それをskos:broaderのサブプロパティーとして宣言できるようになります。

ex:broaderGeneric rdfs:subPropertyOf skos:broader.
ex:broaderPartitive rdfs:subPropertyOf skos:broader.
ex:broaderInstantive rdfs:subPropertyOf skos:broader.

例えば、適切なセマンティック・ウェブ推論エンジンは、2つの概念間のすべてのex:broaderPartitiveステートメントを形式的に解釈できます。この解釈により、これらの概念間のskos:broaderステートメントの推論が生まれるでしょう ― この情報は、後で、基礎的なSKOSツールによって利用されるかもしれない。

SKOS語彙自体の加工に関する注: 一般的に、SKOS語彙のURIが主語の位置にあるトリプルを記述することは避ける方が良いです。このような記述を行うと、SKOSデータ・モデルが変わり、好ましくない副作用が生じるかもしれません。そして、これにより、語彙の相互運用性が低下するかもしれません。「組み込み」語彙の動作を特定のケースに適合させたい場合には、最初に、独自の構成子をサブクラスやサブプロパティーとして導入することを検討すべきです。

もちろん、SKOSに対する拡張の作成者は、SKOSの公開メーリングリストpublic-esw-thes@w3.org)などでそれを公開することをお勧めします。そのような拡張は、共通の関心事となり、その結果、異なるアプリケーションで再利用できるかもしれません。ひいては、再利用によってコミュニティのフィードバックが得られやすくなり、それによって、公開された拡張の品質向上が容易になります。


5 SKOSとその他のモデル化アプローチとの組み合わせ

上で見たように、SKOSは、特定の要件に合うようにうまく拡張できるRDF/OWL語彙です。同様に、SKOSの機能は、セマンティック・ウェブにおいて、他のモデル化語彙を補完するものとしても使用できます。この項では、SKOS概念とは限らない資源を記述するためにSKOSラベル付けプロパティーを再利用する例を示しています。そして、オントロジー言語OWLの定義に従って、SKOS概念をクラスで結合するという特定の問題を扱っています。

注意: この項では、SKOSの機能を他のモデル化アプローチと連携させて用いることをアプリケーションが求める場合に生じる問題を扱っています。そのような要件を持っていないユーザは、読み飛ばしてもかまいません。

5.1 SKOS以外でのラベルの使用

型がskos:Conceptではない資源をラベル付けするためにSKOSラベル付けプロパティーを用いることができます。ティム・バーナーズ・リーについて記述した次のトリプルをご覧ください。

<http://www.w3.org/People/Berners-Lee/card#i> rdf:type foaf:Person;
  foaf:name "Timothy Berners-Lee";  rdfs:label "TBL";
  skos:prefLabel "Tim Berners-Lee"@en.

アプリケーションがこの資源のラベルを表示したい場合には、同等の互換性を有するrdfs:label「TBL」やfoaf:name「Timothy Berners-Lee」のラベルを選択する必要はなく、「ティム・バーナーズ・リー」が優先ラベルであると識別できます ― foaf:namerdfs:labelのサブプロパティーであるため、これらのラベルには互換性があります。

別の例は、OWLオントロジーのクラス、プロパティー、個体に対する人間が読めるラベルで、通常、rdfs:labelのみを用いることで表されます。人間について記述した次のトリプルをご覧ください。

ex:Human rdf:type owl:Class;
  rdfs:label "human"@en;
  rdfs:label "man"@en.

どちらのラベルも同じ重みを有しているため、アプリケーションがユーザに表示すべき正しいラベルを決定するのは困難でしょう。skos:prefLabelのセマンティクスにより、実装者は特定の資源に対し、優先ラベルを明示的に定義できます。一般的に、必要に応じてSKOSや他のRDF語彙の語彙要素を再利用できることで、RDFに多くの表現力が備わります。


5.2 SKOSの概念とOWLのクラス

SKOSリファレンスでは、skos:ConceptをOWLのクラスであると定義しています[SKOS-REFERENCE]。

skos:Concept rdf:type owl:Class.

したがって、skos:Conceptのインスタンス(例えば、芸術の語彙のex:Painting)は、OWL用語の個体に属します。

ex:Painting rdf:type skos:Concept.

ここで、ex:PaintingのようなSKOS概念のインスタンスを、本当にクラスとして扱えるかという疑問が生じます。例えば、ユーザは、ex:supportなどのex:paintingプロパティーを定義できるでしょうか。

ex:support rdf:type owl:DatatypeProperty.
ex:support rdfs:domain ex:Painting.

なぜこれをしたいのか?と問う人がいるかもしれません。概念上、skos:Conceptなどのクラスは、メタクラスと考えることができ、そのインスタンスは語彙に出現する概念です。そのため、例えば、絵には支援がある、または、チーズには原産国があるなど、SKOSユーザがSKOS概念のクラス・レベルの特性を指定したいと考えることはありえます。

SKOSは、OWL(OWL FullまたはOWL-DL[OWL-REFERENCE])のテイストに関して、SKOSと一緒に用いるべきという立場をとらないことは指摘しておくべきでしょう。OWL Fullユーザは、例えば、次の形式のステートメントを追加することにより、SKOS概念のインスタンスをクラスとして明示的に扱うことで、上記の状況に対応できるでしょう。

ex:Painting rdf:type owl:Class.

OWL Fullではクラスと個体の集合が素である必要がないため、これが可能です。クラスと個体の間の素の条件が任意のOWL-DLオントロジーで成り立たなければならないため、OWLのDLテイストを使用したい場合には、このメタモデル化メカニズムを使用できません。OWLのクラスをSKOS概念にリンクすることに感心をもっているOWL-DLユーザは、これらの形式的な違いを維持しなければなりません。それにもかかわらず、独自のSKOSの拡張を作成、使用できる場合には、下記のように、専用のOWL注釈プロパティーを用いてそれらに橋渡しをすることができます。

ex:PaintingClass rdf:type owl:Class.
ex:PaintingConcept rdf:type skos:Concept.
ex:PaintingClass ex:correspondingConcept ex:PaintingConcept.

執筆時点で、最近始められたOWL Working Group[OWL-WG]が、記述論理フレームワーク内のメタモデル化(のいくつかの形式)を扱うことを公認されたことに注意してください。これによって、OWL-DLユーザは、より利用しやすいパターンを選択できるかもしれません。

要約すると、SKOSの概念とOWLのクラス/個体との関係は次の通りです。


5.3 SKOS、RDFデータセットおよび情報包含

ネットワークでつながれたKOSの環境では、一部のアプリケーションは、例えば、信頼性のために、SKOSステートメントの来歴や所有権を追跡する必要があるかもしれません。具体的な問題は、例えば、概念間の意味関係を含む、概念体系とそれが表す元のKOSで述べられているあらゆる情報との間に明示的なリンクを確立する方法です。

そのような機能は、候補要件[SKOS-UCR]となっていますが、現時点ではSKOSの範囲外です。RDFでは、ステートメントは文脈自由のトリプルとして現れ、そのため、包含や来歴を表すのが困難になります。

しかし、名前付きグラフ[NAMED-GRAPHS]やRDFデータセットの使用のような、この問題に対する解決策が提案されています。SKOS概念体系は、RDFデータセットに関連付けることができ、そのデータセットを言明することすらも可能で、それにより、何らかの形式の来歴や包含に対応したSPARQLクエリを作成することが可能となります。3.2項の例を継続し、ex1:referenceAnimalSchemeex2:catSchemeが適切なRDFデータセット(ここでは、名前付きグラフ)として管理されていると仮定すると、次のグラフ

SELECT  ?x ?y
WHERE   {
  GRAPH ex2:catScheme { ?x skos:broader ?y }
}

は、結果として、(ex2:abyssinian, ex1:cat)を返すかもしれませんが、このタプルは次の結果の中には出現しないでしょう。

SELECT  ?x ?
WHERE   {
   GRAPH ex1:referenceAnimalScheme { ?x skos:broader ?y }
}

しかし、このドキュメントの執筆時にはこれらの方法は普及しておらず、異なる標準的な技法が将来的に現れる可能性があることを意識しているべきです。


参考文献

[BS8723-2]
BS 8723-2:2005 Structured vocabularies for information retrieval. Guide. Thesauri, British Standards Institution, London, 2005.
[BS8723-4]
BS 8723-4:2007 Structured vocabularies for information retrieval. Guide. Interoperability between vocabularies, British Standards Institution, London, 2007.
[COOLURIS]
Cool URIs for the Semantic Web, Leo Sauermann, Richard Cyganiak, Editors, W3C Interest Group Note, 3 December 2008. Latest version available at http://www.w3.org/TR/cooluris/ .
[DC]
DCMI Metadata Terms, 14 January 2008. Latest version available at http://dublincore.org/documents/dcmi-terms/ .
[ISO2788]
ISO 2788:1986 Documentation - Guidelines for the establishment and development of monolingual thesauri. Second edition. ISO TC 46/SC 9, 1986.
[ISO5964]
ISO 5964:1985 Documentation - Guidelines for the establishment and development of multilingual thesauri. First edition. ISO TC 46/SC 9, 1985.
[NAMED-GRAPHS]
Named graphs, provenance and trust, Jeremy Carroll, Christian Bizer, Patrick Hayes, Patrick Stickler, WWW 2005.
[RDF/XML-SYNTAX]
RDF/XML Syntax Specification (Revised), Dave Beckett, Editor. W3C Recommendation, 10 February 2004. Latest version available at http://www.w3.org/TR/rdf-syntax-grammar/ .
[RECIPES]
Best Practice Recipes for Publishing RDF Vocabularies. Diego Berrueta, Jon Phipps. W3C Working Draft, 23 January 2008. Latest version available at http://www.w3.org/TR/swbp-vocab-pub/ .
[OWL-WG]
OWL Working Group, http://www.w3.org/2007/OWL/.
[OWL]
OWL Web Ontology Language Reference, Mike Dean, Guus Schreiber, Editors, W3C Recommendation, 10 February 2004. Latest version available at http://www.w3.org/TR/owl-ref/ .
[OWL-SEMANTICS]
OWL Web Ontology Language Semantics and Abstract Syntax, Peter F. Patel-Schneider, Patrick Hayes, Ian Horrocks, Editors, W3C Recommendation, 10 February 2004. Latest version available at http://www.w3.org/TR/owl-semantics/ .
[RDF-PRIMER]
RDF Primer, Frank Manola, Eric Miller, Editors, W3C Recommendation, 10 February 2004. Latest version available at http://www.w3.org/TR/rdf-primer/ .
[RDF-CONCEPTS]
Resource Description Framework (RDF): Concepts and Abstract Syntax , Graham Klyne, Jeremy Carroll, Editors, W3C Recommendation, 10 February 2004. Latest version available at http://www.w3.org/TR/rdf-concepts/ .
[RFC4646]
Tags for Identifying Languages, A. Phillips , M. Davis, Editors, September 2006. Available at http://www.ietf.org/rfc/rfc4646.txt .
[SWBP-SKOS-CORE-GUIDE]
SKOS Core Guide, Alistair Miles, Dan Brickley, Editors, W3C Working Draft, 2 November 2005. Latest version available at http://www.w3.org/TR/2005/WD-swbp-skos-core-guide-20051102/ .
[SKOS-REFERENCE]
SKOS Reference, Alistair Miles, Sean Bechhofer, Editors, W3C Recommendation, 18 August 2009. Latest version available at http://www.w3.org/TR/skos-reference .
[SKOS-UCR]
SKOS Use Cases and Requirements, Antoine Isaac, Jon Phipps, Daniel Rubin, Editors, W3C Working Group Note, 18 August 2009. Latest version available at http://www.w3.org/TR/skos-ucr .
[SPARQL]
SPARQL Query Language for RDF, Eric Prud'hommeaux, Andy Seaborne, Editors, W3C Working Draft, 15 January 2008. Latest version available at http://www.w3.org/TR/rdf-sparql-query/ .
[SWBP-SKOS-CORE-SPEC]
SKOS Core Vocabulary Specification, Alistair Miles, Dan Brickley, Editors, W3C Working Draft, 2 November 2005. Available at http://www.w3.org/TR/2005/WD-swbp-skos-core-spec-20051102/ .
[SWD]
The Semantic Web Deployment Working Group, http://www.w3.org/2006/07/SWD/ .
[TURTLE]
Turtle - Terse RDF Triple Language , David Beckett, Tim Berners-Lee. W3C Team Submission, 14 January 2008. Latest version available at http://www.w3.org/TeamSubmission/turtle/ .
[UDC]
UDC - Universal Decimal Classification, UDC Consortium, http://www.udcc.org/ .
[URI]
RFC 3986 - Uniform Resource Identifiers (URI): Generic Syntax, Tim Berners-Lee, Roy Fielding, Larry Masinter, IETF, January 2005. Available at http://tools.ietf.org/html/rfc3986 .
[WillpowerGlossary]
Glossary of terms relating to thesauri and other forms of structured vocabulary for information retrieval, Stella Dextre Clarke, Alan Gilchrist, Ron Davies and Leonard Will,Willpower Information. Available at http://www.willpowerinfo.co.uk/glossary.htm .

謝辞

作者は、SKOSコア・ガイド(この入門が主に基づいている)を編集したAlistair MilesとDan Brickleyに、また、本稿の重要な部分に貢献してくださった、Tom Baker、Guus SchreiberとSean Bechhoferにも感謝申し上げます。セマンティック・ウェブ展開グループのメンバーであるTom Baker、Margherita Sini、Quentin Reulは、公開の過程において、多くのレビューをしてくださいました。

このドキュメントは、総じてセマンティック・ウェブ展開グループ内で積み重ねられた議論の結果です。まだ挙げていないたワーキンググループのメンバーには(アルファベット順に)、Ben Adida、Diego Berrueta、Jeremy Carroll、Michael Hausenblas、Elisa Kendall、Vit Novacek、Jon Phipps、Clay Redding、Daniel Rubin、Manu SpornyとRalph Swickがいます。

次の個人からのパブリックコメント(特に メーリングリストpublic-esw-thes@w3.orgによる)は、非常に貴重な助言、提言および訂正を提供してくれました: Mark van Assem、Stephen Bounds、Dan Brickley、Johan De Smedt、Stella Dextre-Clarke、Alasdair Gray、Andrew Houghton、Simon Jupp、Carl Mattocks、Emma McCulloch、Mikael Nilsson、Alan Ruttenberg、Aida Slavic、Simon Spero、Doug Tudhope、Bernard Vatant、Jakob Voss、Leonard Will、Sue Ellen Wright。


付録. ISO-2788/5964とSKOS構成子との対応関係

SKOSは、アプリケーション、ガイドラインおよび標準形式という形での、KOSコミュニティの何10年もの取り組みに負うところが大きいです。SKOSモデルと、単一言語のシソーラスに関するISO 2788仕様[ISO-2788]と多言語シソーラスに関するISO 5964仕様[ISO-5964]の2つのそのような取り組みとの間の互換性については、SKOS Use Case and Requirements[SKOS-UCR]で候補要件として具体的に挙げられています。

SKOS自体は、概念体系の作成方法に関する規則を定めませんが、そのデータモデルには一部のKOS構築原理が反映されています。標準的なシソーラス・ガイドラインはKOSの分野において最も成熟した案の1つであるため、語彙の設計は、特にその影響も受けています。特に、SKOSとISO2788/5964の間には、多くの共通点があります。以下の表では、類似点をまとめ、SKOSの設計がISOの勧告と異なる点にスポットを当てています。これが、ISOガイドラインに準拠したシソーラスをSKOSに移植するための今後の取り組みに役立てば幸いです。

この比較が、標準的なシソーラスに対するSKOSの限界であると決して解釈してはならないことを意識しているべきです。このドキュメントで既に述べたように、SKOSは、他の種類のKOSやISOガイドラインに準拠していないシソーラスに使用(恐らく、適切な拡張と共に)できます。

KOS設計の状況 ISO 2788/5964 SKOS
概念vs.用語 ISO規格では、シソーラスは、用語で構成される索引付け言語です。

ISO 2788は、用語の作成について、例えば、その形式に焦点を合わせて、広範囲に議論しています。例えば、明示的な限定子を用いて、Crane (bird)Crane (lifting equipment)などの同形異義語を区別します。

概念は、SKOSの中心となるモデリング・プリミティブです。ISO規格の用語は、SKOS概念のラベルに対応しています。

SKOSは、シンプルな公開手段であり、ラベル設計の規則を提案しません。さらに、SKOSはラベルの表現にシンプルなリテラルを用いるため、形式的で明示的な制限などの、用語の形成方法を表すことはできません。このようなケース、また、ラベルが表現する概念に対してではなく、ラベルに対して情報を付与するようなケースには、SKOS-XL拡張を用いなければなりません(4.3項を参照)。

KOS内の意味関係 ― 同等性 用語は、意味的に同等でありえます。そして、用語は、USEUF(used for)の関係を用いて、優先非優先に区別されます。

非優先語は、1つの同等な優先語を指すことができるだけであると考えられ、優先語はこれらの両方の用語が現す概念の主要なエントリー・ポイントです。

同義語は、単一の概念に付与された複数のラベルとして表されます。デフォルトでは、これらのラベル間には、直接的な関係はありません。ISO 2788と同様に、優先ラベルは、非優先(代替)ラベルと区別されます。しかし、SKOSでは、非表示ラベルも区別します。

概念は、たった1つの優先ラベル(1言語あたり)のみを持つことができます。同じ概念体系内では、お勧めはできませんが、異なる概念が優先ラベルを共有することは可能です。

KOS内の意味関係 ― 他のリンク 同等関係のUSEUFのほかに、用語を意味的に関連付けるために、3種類のリンクを用います。BT(上位語)とNT(下位語)は、ある用語の意味が他の用語の意味より一般的であるということを表します。RT(関連語)は、意味の間で(非階層的)関連リンクが成立するときに使用され、それは、シソーラスを利用するアプリケーションに有用でありえます。

ISO 2788は、論理テストによって、属種(綱―種)、部分―全体、インスタンス―クラスの3種類のBT/NTを区別します。必要であれば、それらを表すために略語のBTGBTPおよびBTIを使用できます。

整形式のシソーラスにおいて論理テストが有効であれば、階層は推移的に解釈でき、用語のすべての先祖(ancestor)は当然上位語であるということになります。

skos:broaderskos:narrowerおよびskos:relatedは、概念レベルでBTNT およびRTをそのまま採用しています。

しかし、SKOSは、KOSの種類という点で範囲が広いため、有効な階層とは何かに関してISO 2788ほど正確な推奨は行いません。自身の体系内のリンクが、一般的なKOSの事例に見られるものと確実に衝突しないようにするのは、ほとんどの場合、KOSを公開する人次第です ― シソーラスはその中の一部にすぎません。その代わりにSKOSは、明示的に言明された「親―子」のリンク(skos:broader)を、それから自動的に推論できるより一般的な「先祖―子孫」のリンク(skos:broaderTransitive)と区別することに重点を置いています。

SKOSでは、意味関係を専門化することも可能です(4.7項を参照)。しかし、そのような専門化の標準は提案しません。むしろ、これらは、ISO 2788自身などの他の標準やガイドラインから得られると予想されます。

用語の構文構造 ISO 2788は、coal mining USE coal + miningのように、用語を他の用語の組み合わせにリンクする同等性関係を機能として有しています(USE +UF +)。 デフォルトでは、SKOSは、一対多、概念対概念、概念対ラベルのリンク機能を備えていません。しかし、この欠点に対処するために、例えば、skos:Conceptskosxl:Labelの専門化による拡張が考案されるかもしれません。
ノード・ラベル シソーラスの配列は、体系表示における用語の階層表現の点で重要な役割を果たします。例えば、それは、ソーラスのファセット形式の組織化のための主要な手段です。 SKOSでは、概念のグルーピングの表現が可能です。しかし、これは、概念レベルに重点を置いており、構成子には、特定の表示方法に対するバイアスは加えられません。その結果、SKOSの集合は、明示的に1つの「親の」概念には関連づけられません。このリンクは、特定の表示アルゴリズム、または、アドホックな拡張を使用することで、(再)作成されます。
記述注記 ISO 2788では、SNという略語を用いて、用語にスコープ・ノートと定義を付与することが提案されています。 SKOSには、スコープ・ノート、定義、履歴注記など、概念に関するより多くの種類の注記があります。これらのプロパティーは、特定の要求に合うように追加拡張できます。
表記法 ISOガイドラインは、標準的なシソーラスを対象としています。そのため、他の種類のKOSで用いる表記法に関する問題は扱いません。 表記法を表す方法には、skos:notationプロパティーによるか、簡単なラベル付けプロパティー(4.6項参照)を用いるかの2通りがあります。
概念体系 ISO 2788では、用語は1つのインデキシング語彙という状況のみを考慮しているため、シソーラス自身の明示的な表現方法はありません。 SKOSは、複数のKOSを共存させる可能性に影響を受けます。それらを明示的に表し、それらに記述メタデータを付与するために、ConceptSchemeのクラスが提案されていますが、SKOS自身はこれに対応する特定の構成子を備えていません。KOSとその概念の間のリンクは明示的で、同じ概念を複数のKOSに属させることができます。
最上位概念 シソーラスの表示においては、表示された用語が属する階層の最上位の用語を参照するためにTTという略語を使用できます。 概念体系を階層のエントリー・ポイントを構成する概念に関連付けるために、skos:hasTopConceptが用いられます。
言語管理 ISO 2788年では、用語は同じ言語に基づくべきです。

ISO 5964では、多言語を同じシソーラスで共存させることが提案されています。しかし、各言語の用語は、翻訳リンクで相互に関連づけられているだけで、シソーラス上ではかなり独立した構成となっています。

モデルの観点では、概念は言語に依存しておらず、概念は異なる言語のラベルを持つことができます。実際は、RDFリテラル言語タグを用いて、ラベルを特定言語として宣言できます。したがって、同じ概念体系内で複数の言語を密接に統合できます。
KOS間のマッピング関係 ISO 5964では、意味のマッピング関係は、多言語シソーラスという状況において、翻訳をさらに特性づけるものとしてのみ考えられています。次の種類が議論されています。
  • 厳密な同等性
  • 厳密ではない同等性 ― 用語は同じ一般観念を表すが、それらの意味は完全に同じというわけではない
  • 部分的な同等性 ― ある用語の意味がほかの用語の意味より広義である
  • 一対多 ― 起点言語によってある用語で表された概念は、対象の言語による用語の組み合わせで表される

ある言語から他の言語に階層関係や関連関係を移行したり、他の言語による用語では意味の同等性が見当たらない場合に新しい言語を作成するなどの、SKOSの範囲外の多くの問題にISO 5964が取り組んでいることに注意してください。

SKOSのマッピング関係は、ISO 5964の形式と比較的よく似ています。例えば、skos:exactMatchskos:closeMatchは、意味上の観点から同等性が完全に有効であるケースと、意味上の同等性は厳密ではないが、特定のアプリケーションで受け入れることができるケースとを区別します。

しかし、個々の多言語KOSの場合、ISO 5964の同等性リンクは、SKOSでは、同じ概念のラベルとして同義語を付与することで表現できるかもしれません。これは、ISO 5964のアプローチと一致しており、優先語をリンクする必要が生じるだけです。このリンクは、これらの用語が表現する概念レベルで移行できます。しかし、ISO 5964では、非優先語(例えば、"DNA"@en"ADN"@fr)の関係づけも可能です。SKOSでは、このリンクは、SKOS-XLの拡張を用いることのみでしか表現できません。

SKOSでは、一対多の翻訳を表現できません。あるシソーラス内の用語の構文結合に関しては、標準的なモデルへの拡張が必要です。

最後に、ISO 5964が、多言語シソーラスの表示について広範囲に議論していることに注意してください。SKOSは、これに対応していません。しかし、シンプルなシソーラスに関しては、上記のように一対多のマッピングに関するケースを除き、ISO 5964の表示は、SKOSのデータ上で実行できます。


Valid XHTML 1.0! Valid CSS!