2006年7月19日
ミュージアム資料情報構造化モデル[SMMOI]によって記述された資料情報を RDF によって表現する方法を示す。ここで用いられる語彙の一覧と定義については ミュージアム資料情報 RDF ボキャブラリ[SMMOI-RDF]を参照のこと。
この文書は博物館情報処理に関する調査研究プロジェクトチームによる最初の草案であり、 改善のための意見・コメントを歓迎する。
ミュージアム資料情報構造化モデルは、美術館・博物館における主として人文系の資料を記述するためのモデルである。 このモデルにもとづいて作成されたデータを共有・交換するため、ミュージアム資料情報 RDF ボキャブラリを提案した。 この文書では、提案されたボキャブラリを用いて資料情報を表現するための具体的な方法を、モデルにおける属性ごとに例示する。
Resource Description Framework (RDF) は World Wide Web Consortium (W3C) によって勧告された情報の相互運用のための枠組みである。 RDF の概要については [RDF-C] および [RDF-PRIMER]を、 RDF の XML 表現については [RDF/XML] を参照のこと。
この文書ではミュージアム資料情報構造化モデルの RDF 表現を図によって説明する。 文書中で用いる図は以下のような形式である。

楕円はリソースを表し、矩形はリテラルを表す。また矢印はプロパティである。 リソースのうち「ミュージアム資料情報 RDF ボキャブラリ」で定義されているクラスはクラス名を記す。 また識別子をもつリソースは多くの場合そのリソースの URI が示される。 矢印に付された文字はプロパティ名であり、特に「ミュージアム資料情報 RDF ボキャブラリ」で 定義されているプロパティは赤で表示される。
文中で用いる名前空間接頭辞は以下の通り。(mo: は現時点での仮のものであり、変更される可能性がある)
rdfs: http://www.w3.org/2000/01/rdf-schema#
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
mo: http://webarchives.tnm.jp/vocab/moirdf-20060719#
また RDF/XML Syntax Specification [RDF/XML]
に従って XML による表現が例示されるものもある。
その場合、上記名前空間の宣言やルート要素 rdf:RDF は省略している。
資料は mo:MuseumObject クラスのインスタンスとして表現される
(資料について書かれた Web ページなどではなく、資料そのものであることに注意)。
RDF では対象となるリソースを URI によってグローバルに識別する。
資料の URI について、文中の例では tag スキーム
[RFC4151] を利用する。
tag スキームの基本的な形式は「tag:authorityName,date:localName」であり、
authorityName には DNS 名またはメールアドレス、date には日付が入り、localName にはローカル名が入る。
たとえば example.jp という DNS 名をもっている組織が 2006 年に資料の識別子として 'object/3452' を与えた場合、この資料の URI は以下のほうになる。
tag:example.jp,2006:object/3452
資料の URI は組織ごとに付与することができるが、資料は実体のある物体であるため、 一般に情報リソースに用いられている http スキームなどよりも、 tag スキームを用いるほうが混乱を避ける上で望ましいと考えられる。 なおモデルでは識別子をもつのは一部の属性・型のみであるが、その他のリソースに URI を付与してもよい。
URI によって識別される対象はモデル上の「記述単位」にあたる。 したがって階層的に管理された資料については、そのまとまりごとに (記述単位ごとに) 識別子が付与されるため、URI も同様に記述単位ごととなる。
資料の属性の多くは簡易記述と詳細記述が可能である。 この仕組みによって、ミュージアムごとに適切な詳細度でのデータ作成が可能になっている。
属性の詳細記述では詳細要素を用いる。
このため RDF ボキャブラリにおいては詳細記述が可能な属性をクラスとして定義し、
属性を表すクラスを定義域とするプロパティを詳細要素に対応させている。
資料番号を表す mo:ObjectNumber クラスと mo:hasObjectNumber プロパティによる例を示す。

資料を表す mo:MuseumObject クラスのインスタンス (tag:example.jp,2006:object/12 で表されるリソース)
のプロパティ mo:hasObjectNumber が mo:ObjectNumber クラスのインスタンスである空白ノードを値としている。
この空白ノードのプロパティ mo:hasType が資料番号タイプ、mo:hasDate が日付、
rdf:value が資料番号としてそれぞれ詳細要素を表している。
多くの場合、属性を表すクラスのインスタンスはこの例のように空白ノードとなるだろう。次にこのグラフの XML 表現を示す。
<mo:MuseumObject rdf:about="tag:example.jp,2006:object/12">
<mo:hasObjectNumber>
<mo:ObjectNumber>
<rdf:value>A-1234</rdf:value>
<mo:hasType>収蔵品番号</hasType>
<mo:hasDate>1995-04-20</hasDate>
</mo:ObjectNumber>
</mo:hasObjectNumber>
</mo:MuseumObject>
資料番号は、簡易記述によってデータが作成されていた場合は、mo:ObjectNumber
のプロパティのうち rdf:value のみを用いて mo:hasType
や mo:hasDate は省略する。以下に XML 表現を示す。
<mo:MuseumObject rdf:about="tag:example.jp,2006:object/12">
<mo:hasObjectNumber>
<mo:ObjectNumber>
<rdf:value>A-1234</rdf:value>
</mo:ObjectNumber>
</mo:hasObjectNumber>
</mo:MuseumObject>
簡易記述はこの例のように詳細要素の一部のみを用いることで表現するものが多いが、そうでないものもある。 また簡易記述を用いる場合にどのプロパティを使うかは属性ごとに明示する。
詳細記述がなく簡易記述のみであるような属性の場合は、その属性を表すクラスはなく、プロパティのみが定義されている。
型は識別子・数値を除いて、それぞれクラスとして表現されている。
クラス mo:ObjectNumber とプロパティ mo:hasObjectNumber および mo:hasPreferredObjectNumber で表現する。

主たる資料番号を mo:hasPreferredObjectNumber で示し、
資料番号が複数ある場合は mo:hasObjectNumber によってその他の番号を示す。
簡易記述は mo:ObjectNumber に対する rdf:value を使う。
詳細要素とプロパティrdf:value- 資料番号mo:hasType- 資料番号タイプmo:hasDate- 日付
クラス mo:Title とプロパティ mo:hasTitle および mo:hasPreferredTitle で表現する。

主たる名称を mo:hasPreferredTitle で示し、名称が複数ある場合は mo:hasTitle でその他の名称を示す。
図の例のように mo:Document に URI が与えられていればその URI によって文書を示すことができるが、これは空白ノードでもよい。
簡易記述は mo:Title に対する rdf:value を使う。
詳細要素とプロパティrdf:value- 名称mo:hasType- 名称タイプmo:isDocumentedIn- 名称典拠
クラス mo:Classification とプロパティ mo:hasClassification で表現する。

簡易記述は mo:Classification に対する rdfs:label を使う。
詳細要素とプロパティrdfs:label- 分類mo:hasType- 分類タイプ
これらの属性には詳細記述がないため、それぞれ対応するプロパティで表現する。図は様式の例である。

クラス mo:Quantity とプロパティ mo:hasQuantity で表現する。

簡易記述は mo:Quantity に対する rdfs:label を使う。
詳細要素とプロパティrdfs:label- 員数rdf:value- 数値
詳細記述はクラス mo:Measurement とプロパティ mo:hasMeasurement で表現する。

詳細要素とプロパティmo:extent- 部位mo:dimension- 次元rdf:value- 数値mo:unit- 単位
一方、簡易記述は詳細記述とは独立したプロパティ mo:hasMeasurementSimple で表現する。

詳細記述と簡易記述を併用してもよい。以下に併用した場合の XML 表現の例を示す。
<mo:MuseumObject rdf:about="tag:example.jp,2006:object/12">
<mo:hasMeasurement>
<mo:extent>本紙</mo:extent>
<mo:dimension>縦</mo:dimension>
<rdf:value>205</rdf:value>
<mo:unit>cm</mo:unit>
</mo:hasMeasurement>
<mo:hasMeasurement>
<mo:extent>本紙</mo:extent>
<mo:dimension>横</mo:dimension>
<rdf:value>132</rdf:value>
<mo:unit>cm</mo:unit>
</mo:hasMeasurement>
<mo:hasMeasurementSimple>本紙205×132(cm)</mo:hasMeasurementSimple>
</mo:MuseumObject>
クラス mo:Condition とプロパティ mo:hasCondition で表現する。

簡易記述は mo:Condition に対する mo:hasConditionDescription を使う。
詳細要素とプロパティmo:hasType- 保存状態mo:hasConditionDescription- 状態記述mo:hasDate- 日付
クラス mo:Inscription とプロパティ mo:hasInscription で表現する。

簡易記述は mo:Inscription に対する rdfs:value を使う。
詳細要素とプロパティrdf:value- 印章・銘記mo:hasType- 印章・銘記タイプmo:hasInscriptionLocation- 位置
クラス mo:Part とプロパティ mo:hasPart および mo:formsPartOf で表現する。

mo:hasPart と mo:formsPartOf はそれぞれ互いの逆プロパティである。
また mo:Part は mo:MuseumObject のサブクラスである。
部分が独立した記述単位となっている場合には識別子をもち、したがって URI で識別される (詳細要素「参照識別子」に相当する)。
簡易記述は mo:Part に対する mo:hasPartName を使う。
詳細要素とプロパティmo:hasPartName- 部分名称mo:hasPartDescription- 部分記述
部分が独立した記述単位となっている場合、その部分についての RDF ファイルの場所を rdfs:seeAlso
を使って示すこともできる。以下に XML 表現の例を示す。
<mo:MuseumObject rdf:about="tag:example.jp,2006:object/12">
<mo:hasPart>
<mo:Part rdf:about="tag:example.jp,2006:object/18">
<mo:hasPartName>光背</mo:hasPartName>
<mo:hasPartDescription>銅製 高60cm</mo:hasPartDescription>
<rdfs:seeAlso rdf:resource="http://example.jp/object/18.rdf"/>
</mo:Part>
</mo:hasPart>
</mo:MuseumObject>
クラス mo:Attachment とプロパティ mo:hasAttachment および mo:isAttachmentOf で表現する。

mo:hasAttachment と mo:isAttachmentOf はそれぞれ互いの逆プロパティである。
また mo:Attachment は mo:Part のサブクラスである。
付属品が独立した記述単位となっている場合には識別子をもち、したがって URI で識別される (詳細要素の「参照識別子」に相当する)。
簡易記述は mo:Attachment に対する mo:hasAttachmentName を使う。
詳細要素とプロパティmo:hasAttachmentName- 付属品名称mo:hasAttachmentDescription- 付属品記述
付属品が独立した記述単位となっている場合、その付属品についての RDF ファイルの場所を rdfs:seeAlso
を使って示すこともできる。
制作はクラス mo:Creation とプロパティ mo:wasCreatedBy で表現する。
役割はクラス mo:ActorRelation とプロパティ mo:hadParticipant で表現する。
役割は型であるが、制作ととも利用されるためここでは併せて例示する。

図では資料が mo:Creation のインスタンスである匿名リソースで表される制作というイベントによって制作されたことが示される。
この mo:Creation は mo:Event のサブクラスである。
またこの制作の関係者は mo:hadParticipant によって
行為者と制作の関係を表す型である役割として、すなわち mo:ActorRelation として示される。
mo:ActorRelation は mo:hasRole などの関係の性質を表すプロパティとともに、
mo:hasActor によって行為者を表すクラス mo:Actor のインスタンスと関連付けられる。
したがって、図は tag:example.jp,2006:actor/24 で表される行為者が、この作品の図案を作成したと伝えられていることを表している。
制作には簡易記述はない。次に制作の詳細要素と対応するプロパティを示す。
詳細要素とプロパティmo:hadContext- 制作事情mo:hadParticipant- 関係者mo:hasPeriod- 時期mo:tookPlaceAt- 場所mo:isDocumentedIn- 文書
mo:hadParticipant の値は、制作と行為者の関連を表現するクラス mo:ActorRelation のインスタンスとなる。
次にこのクラスで表される役割の詳細要素と対応するプロパティを示す。
詳細要素とプロパティmo:hasRole- 役割mo:hasAttribution- 帰属rdfs:label- 表示文字列mo:hasActor- 行為者
クラス mo:Excavation とプロパティ mo:wasExcavatedBy で表現する。

mo:Excavation は mo:Event のサブクラスである。
図では mo:tookPlaceAt の値が mo:Place のインスタンスだが、
遺跡であれば mo:ArchaeologicalSite がより適切であろう。簡易記述はない。
詳細要素とプロパティmo:hadContext- 収集事情mo:carriedOutBy- 収集者mo:hasPeriod- 時期mo:tookPlaceAt- 場所mo:isDocumentedIn- 文書
クラス mo:Provenance とプロパティ mo:hasProvenance で表現する。

mo:Provenance は mo:Event のサブクラスである。簡易記述は mo:Provenance に対する mo:hadContext を使う。
詳細要素とプロパティmo:hasType- 来歴タイプmo:hadContext- 事由mo:carriedOutBy- 関係者mo:hasPeriod- 時期mo:tookPlaceAt- 場所mo:isDocumentedIn- 文書
クラス mo:Acquisition とプロパティ mo:wasAcquiredBy で表現する。

mo:Acquisition は mo:Event のサブクラスである。簡易記述はない。
詳細要素とプロパティmo:hasType- 取得方法mo:transferredTitleFrom- 取得元mo:hadCost- 価格mo:hadCurrency- 通貨mo:hasDate- 日付mo:isDocumentedIn- 文書
クラス mo:Deaccession とプロパティ mo:wasDeaccessedBy で表現する。

mo:Deaccession は mo:Event のサブクラスである。簡易記述はない。
詳細要素とプロパティmo:hasType- 移管・処分方法mo:transferredTitleTo- 移転先mo:hasDate- 日付mo:isDocumentedIn- 文書
クラス mo:Entry とプロパティ mo:wasEnteredBy で表現する。

mo:Entry は mo:Event のサブクラスである。簡易記述はない。
詳細要素とプロパティmo:hasType- 受入方法mo:hadContext- 受入理由mo:wasDepositedBy- 貸出・寄託元mo:hasDepositorsNumber- 貸出・寄託元番号mo:hadDateRange- 期間mo:isDocumentedIn- 文書
調査はクラス mo:Inquiry とプロパティ mo:wasInquiredBy で表現する。
修復はクラス mo:Conservation とプロパティ mo:wasConservedBy で表現する。
図は調査の例である。修復もほぼ同様のグラフとなる。

mo:Inquiry および mo:Conservation はともに mo:Event のサブクラスである。
調査の簡易記述はない。次に調査の詳細要素とプロパティの対応を示す。
詳細要素とプロパティmo:hadContext- 調査事由mo:carriedOutBy- 調査者mo:hadDateRange- 期間mo:isDocumentedIn- 文書
修復の簡易記述は mo:Conservation に対する mo:hadContext を使う。
次に修復の詳細要素とプロパティの対応を示す。
詳細要素とプロパティmo:hadContext- 修復事由mo:carriedOutBy- 修復者mo:hadDateRange- 期間mo:isDocumentedIn- 文書
ある資料の展示はクラス mo:Display とプロパティ mo:wasDisplayedIn で表現し、
その展示が行われた展覧会はクラス mo:Exhibition とプロパティ mo:wasExhibitedIn で表現する。

mo:Display と mo:Exhibition はともに mo:Event のサブクラスである。簡易記述はない。
mo:Display で表される展示は個々の資料の展示であり、mo:Exhibition
で表される展覧会では通常複数の資料の展示から構成される。たとえば個々の資料の展示期間は、展示替えなどにより展覧会の期間と一致しないことがある。
詳細要素とプロパティmo:hasExhibitionTitle- 展覧会名mo:Exhibition の mo:hasDateRange- 開催期間mo:Display の mo:hasDateRange- 展示期間mo:hasVenue- 会場mo:isDocumentedIn- 文書
クラス mo:Location とプロパティ mo:hasLocation
およびそのサブプロパティ mo:hasCurrentLocation と mo:hasNormalLocation で表現する。

mo:Location は mo:Event のサブクラスである。簡易記述はない。
所在は時間を通じて変化するものである。それぞれの期間における所在は mo:hasLocation
プロパティによって示される mo:Location となり、mo:hadDateRange
によって期間が表される。変化してゆく所在のうち、特に現在の所在を表現するために mo:hasCurrentLocation
を、また通常資料に割り当てられている収蔵場所を表現するために mo:hasNormalLocation
を使うことができる。それぞれの所在の名前を表すためには mo:hasLocationName を使う。
詳細要素とプロパティmo:hasType- 所在タイプmo:hasNormalLocation- 収蔵場所mo:hasCurrentLocation- 現所在mo:onLoanTo- 貸出先mo:hadDateRange- 期間
クラス mo:Valuation とプロパティ mo:wasValuatedBy で表現する。

mo:Valuation は mo:Event のサブクラスである。簡易記述はない。
詳細要素とプロパティmo:hadContext- 評価事由mo:hadCost- 評価額mo:hadCurrency- 通貨mo:carriedOutBy- 評価者mo:hasDate- 日付
クラス mo:Designation とプロパティ mo:wasDesignatedBy で表現する。

mo:Designation は mo:Event のサブクラスである。簡易記述はない。
詳細要素とプロパティmo:hasType- 受賞・指定タイプmo:hasDesignationNumber- 番号mo:hasDate- 日付
クラス mo:Right とプロパティ mo:isSubjectTo で表現する。

簡易記述は mo:Right に対する mo:hasRemark を使う。
詳細要素とプロパティmo:hasType- 権利タイプmo:isPossessedBy- 権利保持者mo:hasLimitDate- 期限mo:hasRemark- 注記
資料間の関連を表すクラス mo:ObjectRelation とプロパティ mo:hasObjetRelation
および mo:isRelatedTo で表現する。

関連元の資料から mo:hasObjectRelation プロパティによって
mo:ObjectRelation のインスタンスを示し、
そこから mo:isRelatedTo によって関連する資料を示す。
簡易記述は mo:ObjectRelation に対する mo:hasRemark を使う。
詳細要素を使う場合でも関連先となる資料の URI が不明であれば mo:isRelatedTo
を省略してもよい (詳細要素「識別子」は任意であるため)。
詳細要素とプロパティmo:hasType- 関連タイプmo:hasRemark- 注記
また、関連先の資料についての RDF ファイルの場所を示すために rdfs:seeAlso を使うこともできる。
以下に XML 表現の例を示す。
<mo:MuseumObject rdf:about="tag:example.jp,2006:object/12">
<mo:hasObjectRelation>
<mo:ObjectRelation>
<mo:hasType>摸刻</mo:hasType>
<mo:hasRemark>教育用の摸刻</mo:hasRemark>
<mo:isRelatedTo>
<mo:MuseumObject rdf:about="tag:example.jp,2006:object/201">
<rdfs:seeAlso rdf:resource="http://example.jp/object/201.rdf"/>
</mo:MuseumObject>
</mo:isRelatedTo>
</mo:ObjectRelation>
</mo:hasObjectRelation>
</mo:MuseumObject>
文書との関連を表すクラス mo:Reference とプロパティ mo:hasReference で表現する。

簡易記述は mo:hasReferenceDocument によって示される mo:Document
のインスタンスを簡易記述で表現する。
詳細要素とプロパティmo:hasReferenceDocument- 書誌mo:hasType- 文献タイプmo:hasReferenceNumber- 番号等mo:hasRemark- 注記
クラス mo:Image とプロパティ mo:isDepictedIn で表現する。

詳細記述では画像は識別子をもつため、URI によって識別できるリソースとなる。
また mo:depicts は mo:isDepictedIn の逆プロパティであるので、
これによって画像を起点として資料の情報を指すこともできる。
簡易記述は mo:Image に対する rdfs:label を使う。
詳細要素とプロパティmo:hasType- 画像タイプmo:hasImageCreator- 作成者mo:hasTakenDate- 作成日mo:hasCopyrightRemark- 著作権mo:hasRemark- 注記
http 経由でアクセス可能な画像など、すでに URI が与えられている画像であれば、その URI を使うこともできる。
また画像についての RDF ファイルが別途用意されていれば rdfs:seeAlso で示すこともできる。
以下に XML 表現の例を示す。
<mo:MuseumObject>
<mo:isDepictedIn>
<mo:Image rdf:about="http://example.jp/images/a00923.jpg">
<rdfs:seeAlso rdf:resource="http://example.jp/images/metadata/a00923.rdf"/>
</mo:Image>
</mo:isDepictedIn>
</mo:MuseumObject>
クラス mo:DescriptiveNote とプロパティ mo:hasDescriptiveNote で表現する。

簡易記述はない。
詳細要素とプロパティmo:hasType- 記述ノート・タイプrdf:value- 記述ノートmo:hasNoteCreator- 作成者mo:hasDate- 日付mo:hasCitationSource- 引用
クラス mo:Record とプロパティ mo:hasRecord で表現する。

mo:hasRecordSource は元データとなったリソースを指す。
簡易記述はない。
詳細要素とプロパティmo:hasRecordCreator- 作成・更新者mo:hasDate- 日付mo:hasRecordSource- 源泉記述識別子mo:hasRemark- 注記
役割については、属性の「制作」を参照のこと。
クラス mo:DateRange で表現する。

詳細要素とプロパティmo:starts- 開始日mo:ends- 終了日
mo:DateRange のサブクラス mo:Period で表現する。

詳細要素とプロパティmo:starts- 開始日mo:ends- 終了日rdfs:label- 表示文字列
個人はクラス mo:Actor のサブクラス mo:Person で表現する。

グループはクラス mo:Actor のサブクラス mo:Group で表現する。

個人、グループはいずれも識別子をもち、したがって URI で識別されるリソースとなる。
いずれの場合も主たる名前を mo:hasPreferredName で示し、
複数の名前がある場合には mo:hasName によってその他の名前を示す。
簡易記述は mo:hasPreferredName を使う。
詳細要素とプロパティmo:hasPreferredName および mo:hasName- 名前mo:hasPeriod- 時期mo:hasActorPlace- 場所mo:hasContactPoint- 連絡先mo:hasMember- メンバーmo:hasRemark- 注記
クラス mo:Document で表現する。

簡易記述は rdfs:label を使う。
詳細要素とプロパティmo:hasDocumentNumber- 参照記号rdfs:label- 書誌的記述mo:hasRemark- 注記
文書に URI が与えられていれば、その URI によって表されるリソースとすることもできる。 文書の URI は http スキームや urn:isbn などで与えられているものがありうる。 以下に XML 表現による例を示す。
<mo:Document rdf:about="urn:isbn:0123456789"/>
<mo:Document rdf:about="http://webarchives.tnm.jp/docs/informatics/smmoi/">
<rdfs:label>ミュージアム資料情報構造化モデル</rdfs:label>
</Document>
地域はクラス mo:Place で表現する。

遺跡はクラス mo:Place のサブクラス mo:ArchaeologicalSite で表現する。

地域の簡易記述は mo:hasPlaceName を使い、遺跡の簡易記述は mo:hasSiteName を使う。
詳細要素とプロパティmo:hasPlaceName- 地名mo:hasHistoricalName- 旧地名mo:hasLatitude- 緯度mo:hasLongitude- 経度mo:hasSiteName- 遺跡名mo:hasSiteReference- 参考文献