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
- 参考文献