BIBFRAMEプロファイル: 紹介と仕様

BIBFRAMEプロファイル: 紹介と仕様 草案 — 2014年5月5日

本文書はBIBFRAMEプロファイルを紹介し、定義を行う。また、BIBFRAMEプロファイルをいかに作成・維持・使用するかを述べる。さらに、BIBFRAMEプロファイルの目的を概説し、各コミュニティにおける独自の記述活動にBIBFRAMEプロファイルを使用する方法を述べ、プロファイルの構成法に関する具体的例を提供する。

本文書のステイタス

  • パブリックレビューのための草案(2014年5月5日) (オリジナル版
  • 本文書に関するコメントはメーリングリストbibframe@loc.govに投稿いただくか、bfcomments@loc.gov宛にメールでお願いします。
  • 法律が許す限りにおいて、議会図書館は本文書に関するすべての著作権、関連または隣接する権利を放棄する。

1. はじめに

BIBFRAMEはBibliographic Framework Initiativeの成果である。BIBFRAMEは図書館およびその他の記憶機関が所有する情報をWeb技術を使用して公的・私的に発見・交換するための枠組み、ないしはメタモデルである。BIBFRAMEメタモデルは軽量かつ柔軟性を持ち、既存の(RDA, DACS, VRAなど)、また今後作成されるであろうコミュニテイ語彙の宣言するためのニーズを満たすことができるように設計されている。これらのコミュニティの要求に完全に応えるために、BIBFRAME RDFスキーマはドメイン(Domain)やレンジ(Range)などの制約を意図的に曖昧なものにしている。この柔軟性は高くつく。なぜなら、これらの語彙を制約する方法がないと、例えば、オーサリングツールはコンテンツの作者に具体的な語彙や派生モデルを案内できないからである。BIBFRAMEプロファイルはこれを補う相補的記述を与えるものである。

BIBFRAMEプロファイルは、機能要件、ドメインモデル、文法や使用法に関するガイドライン、使用可能なデータフォーマットなど幅広いコンテキストを含むプロファイルを提供する一文書、または一連の文書である。

本BIBFRAMEプロファイル文書は構造的制約を識別・構築する方法を支援する情報モデルおよび参照となるシリアル化を記述する。通常、プロファイルは、リソースの記述に使用できるプロパティおよびプロパティ値のサロゲートを与える方法を制限する制約の方法を定義するものである。

注: ここでのサロゲートという概念はDCMIに由来するものであり、ステートメントパターンを例示するために表現されるオブジェクトと現実世界で使用される可能性のある実際の値を区別することを表している。データベース理論におけるサロゲートキーやユニコードのエンコーディングサロゲートとは無関係である。

BIBFRAMEプロファイルは、主として目録ツールなどのアプリケーションがBIBFRAMEレコードの作成・変更を行うカタロガーをガイドするための手段である。しかし、プロファイルは(RDA, DACSなどの)コンテンツ記述標準に関わる制約の形式的表現や相互運用性のための表現の取り決めなど、他の方法にも利用できる。

注: ここで、BIBFRAMEレコードという概念は具体的な利用シナリオを満たすために収集した1つ以上のRDFアサーションに適合するものであり、ファイルや文書という観点で考えるべきではない。

BIBFRAMEプロファイルは次のようなような用途に対応するものではない。

  • 人間可読な文書や目録規則
  • 語彙の定義
  • 語彙のバージョン管理または統制

BIBFRAMEプロファイルは形式的構文制約しか含んでいないので、コミュニティで使用するためには、人間が読むことができる情報やセマンティック表現、利用のガイドラインなどと組み合わせる必要があるだろう。しかし、本BIBFRAMEプロファイル情報モデルの設計はBIBFRAME情報と上で述べたような外部情報の統合を容易にすることを意図している。そのため、本書で概要を説明する仕様は別として、一般にBIBFRAMEプロファイルはそれを作成したコミュニティで所有・維持されるものであり、総じてBIBRAMEとは独立したものである。この独立性は複数のコミュニテイのニーズを支援するための要となるものである。

先頭に戻る

2. 基本構造

BIBFRAMEプロファイルは一組の「リソース・テンプレート」により定義される。各リソーステンプレートは適合レコードに使用できるメタデータ構造を記述する一連の「プロパティ・テンプレート」により定義される。プロパティには「値の制約」を適用することができる。これは当該プロパティ・テンプレートに関連づけされているプロパティに許される値の定義または制約の方法として定義される。

テンプレートは構造の表現に使用され、制約はそのような構造を限定するのに使用される。BIBFRAMEプロファイルにより定義される制約はRDFスキーマやOWLなどの標準で定義されるセマンティックな制約を置換または上書きするものではなく、むしろ、より細かく焦点を絞ったローカルの目録実践方法やコミュニティの使用パターンを反映したものであることに注意することが重要である。

以下では、本プロファイルと対応するリソース、プロパティ、値制約テンプレートに関する個別の特性を順番に示す。

2.1. プロファイル

次のプロパティがBIBFRAMEプロファイル構造に関連する。これらは"Profile"オブジェクトまたは配列で指定される。

識別子
名前 id
概要 プロファイルの一意な識別子
テキスト
タイトル
名前 title
概要 プロファイルのテキストによるタイトル
テキスト
記述
名前 description
概要 プロファイルに関するテキストによる記述
テキスト
日付
名前 date
概要 プロファイルに関する日付
テキスト
連絡先
名前 contact
概要 プロファイルに関する連絡先情報
テキスト
説明
名前 remark
概要 ユーザ画面に補足的情報として表示することを意図したコメントまたは案内情報
テキスト
リソース・テンプレート
名前 resourceTemplates
概要 1つ以上のリソース・テンプレートを表す配列(以下の2.2節を参照
配列

{
  "Profile": {
       "id": "bfp:Monograph",
       "title": "Monograph",
       "description": "An example monograph profile reflecting the cataloging practices of 
                       example public library",
       "date": "2013-05-01",
       "contact": "Example Public Library cataloging help desk, info@examplelib.org",
       "resourceTemplates": [
             { ... }
       ]
    }
}

図 2.1: BIBFRAMEプロファイル

先頭に戻る

2.2. リソース・テンプレート

リソース・テンプレート構成子は対象となるプロファイルに関連する様々なリソース(Work, Instanceなど)の1つを記述する。

識別子
名前 id
概要 リソーステンプレートの識別子
テキスト
デフォルト なし
リソース識別子
名前 resourceURI
概要 リソース・テンプレートに関するRDFリソースのURI
URI
デフォルト なし
リソースラベル
名前 resourceLabel
概要 リソースのローカルラベル
テキスト
デフォルト なし
プロパティ・テンプレート
名前 propertyTemplates
概要 1つ以上のプロパティ・テンプレート(以下の2.3節を参照)を表す配列
配列
連絡先
Name contact
概要 プロファイルに関する連絡先情報
テキスト
説明
名前 remark
概要 ユーザ画面に補足的情報として表示することを意図したコメントまたは案内情報。一般的な使用法は、このリソースに想定される値に関するコードリストまたはスキーマをユーザに知らせることである。C
テキスト

...
"resourceTemplate": [
    {
       "id": "bfp:Work:Book",
       "resourceLabel": "Book",
       "resourceURI": "http://bibframe.org/vocab/Text",
       "propertyTemplates": [
             { ... }
       ]
    }
...

図 2.2a: ある図書をBIBFRAMEにおける"Book"定義のセマンティクスに関連つけるリソース・テンプレート

注: 本文書における "bfp:Work:Book" のような文字列はXML名前空間やRDFシリアル化で使用されるQNAME(修飾名)を意味するものではない。識別子を表す文字列として都合の良い単なる慣習であり、コロンに特別な意味はない。
...
"resourceTemplate": [
    {
       "id": "bfp:MediaCategory",
       "resourceLabel": "Media Category",
       "resourceURI": "http://bibframe.org/vocab/mediaCategory",
       "remark": "Values derived from http://id.loc.gov/vocabulary/mediaTypes or
                                      http://rdvocab.info/termList/RDAMediaType"
    }
...

図 2.2b: プロパティを持たず、2つの列挙リストのうちのどちらかを値として持つリソース・テンプレート。

先頭に戻る

2.3. プロパティ・テンプレート

プロパティ・テンプレート構成子は特定のリソースに関する様々なプロパティの1つを記述する。

識別子
名前 propertyURI
概要 記述対象のRDFプロパティのURI
URI
デフォルト なし
プロパティラベル
名前 propertyLabel
概要 このプロパティに関する人間可読な選定ラベル
テキスト
デフォルト なし
必須
名前 mandatory
概要 プロパティが必須か否かの指示
"true" または "false"
デフォルト false
繰り返し
名前 repeatable
概要 プロパティが繰り返し可能か否かの指示
"true" または "false"
デフォルト true
タイプ
名前 type
概要 プロパティに許されるタイプまたは値(リテラル / リソース)
テキスト または URI
デフォルト literal
値の制約
名前 valueConstraint
概要 値に関する制約(以下の2.4節 および 2.5節を参照)
構成子
説明
Name remark
概要 ユーザ画面に補足的情報として表示することを意図したコメントまたは案内情報。
テキスト

...
      "propertyTemplate": [
         { ... },
         {
              "propertyURI": "http://bibframe.org/vocab/titleStatement",
              "propertyLabel": "Title",
              "mandatory": "true",
              "type": "literal"
         },
         { ... }
      ]
...

図 2.3a: リテラル文字列を値に持つ必須のプロパティ

...
      "propertyTemplate": [
         { ... },
         {
              "propertyURI": "http://bibframe.org/vocab/subject",
              "propertyLabel": "Subject",
              "type": "resource",
              "valueConstraint": {
              ...
              }
         },
         { ... }
      ]
...

図 2.3b: リソースを値に持つオプションのプロパティ

先頭に戻る

2.4. 値の制約

値の制約構成子はプロパティの値として想定されるものを記述する。以下はリテラル値に関する想定を指定する際に使用される。

言語
名前 valueLanguage
概要 リテラルの言語
テキスト
デフォルト なし
言語URI
名前 languageURI
概要 リテラルの言語を示すURI
URI
デフォルト なし
言語ラベル
名前 languageLabel
概要 リテラルの言語を示す人間可読な選定ラベル
Sub-description
デフォルト なし
データタイプ
名前 valueDataType
概要 リテラルのデータタイプを指定する記述
構成子
デフォルト なし
値テンプレート参照
名前 valueTemplateRefs
概要 想定される値を定義する1つ以上のリソーステンプレートの識別子(上の2.2節を参照)の配列
URI 配列
デフォルト なし
他の情報源の値の使用
名前 useValuesFrom
概要 規定の値として取りうる値のリストを提供するリソースの識別子の配列。識別子にはスキームURIを想定しているが、コミュニティ毎に何を使用するかを決めることができる。
URI 配列
デフォルト なし
編集可能性
名前 editable
概要 プロパティとして提供される値をカタロガーが変更できるか否かを指示する。不可の場合、指定されたデフォルト値が固定使用される。
URI "true" または "false"
デフォルト URI "true"
説明
名前 remark
概要 ユーザ画面に補足的情報として表示することを意図したコメントまたは案内情報
テキスト

...
     "propertyTemplates": [
         { ... },
         {
              "propertyURI": "http://bibframe.org/vocab/subject",
              "propertyLabel": "Subject",
              "type": "resource",
              "valueConstraint": {
                   "valueTemplateRefs": [ "bfp:Agent:Person",
                                          "bfp:Agent:Organization",
                                          "bfp:Authority:Place"
                   ]
              }
         },
         { ... }
     ]
...

図 2.4a: BIBFRAMEの件名プロパティの値が”Person”、”Place"、”Organization"のいずれかであることを追加した制約

...
     "propertyTemplates": [
         { ... },
         {
              "propertyURI": "http://bibframe.org/vocab/carrierCategory",
              "propertyLabel": "Carrier Category",
              "type": "resource",
              "valueConstraint": {
                   "remark": "The fixed value of this property is of type bfp:CarrierCategory",
                   "editable": "false",
                   "defaultURI": "http://id.loc.gov/vocabulary/carriers/cr",
              }
         },
         { ... }
     ]
...

図 2.4b: 値をデフォルト値で示される規定のタイプのリソースに固定したプロパティの表現

先頭に戻る

2.5. 値のデータタイプ

値のデータタイプ構成子はリテラル値に対する想定されるデータタイプを記述する。

データタイプ識別子
名前 dataTypeURI
概要 データタイプのURI
URI
デフォルト なし
データタイプラベル
名前 dataTypeLabel
概要 データタイプに関する人間可読な選定ラベル
テキスト
デフォルト なし
データタイプラベルヒント
名前 dataTypeLabelHint
概要 主に表示用の短くて人間可読なラベル
テキスト
デフォルト なし
説明
名前 remark
概要 ユーザ画面に補足的情報として表示することを意図したコメントまたは案内情報
テキスト

...
      "propertyTemplates": [
         { ... },
         {
              "propertyURI": "http://bibframe.org/vocab/vra/beginDate",
              "propertyLabel": "Begin Date",
              "type": "literal",
              "valueConstraint": {
                   "valueDataType": {
                       "dataTypeURI": "http://bibframe.org/vocab/proposed/ISO8601",
                       "dataTypeLabel": "ISO 8601",
                       "dataTypeLabelHint": "ISO"
                   }
              }
         },
         { ... }
      ]
...

図 2.5: この例はこの日付プロパティがISO 8601日付標準に準拠したリテラルを持つことを想定していることを表している

先頭に戻る

3. 妥当性検証

注: この説の内容は現時点ではまったくの草稿にすぎない。妥当性の検証に関しては次の段階でより詳しく検討することになるだろう。

ある実際のデータが特定のプロファイルに合致しているか否かを検証するために、次のような妥当性検証プロセスが定義されている。

  • リソーステンプレートへの記述のバインディング: 各記述は記述対象のリソースに対するリソーステンプレートのリソース制約を評価することにより、リソーステンプレートにバインドされる。各記述はちょうど1つのリソーステンプレートにバインドされなければならない。
  • プロパティテンプレートへのステートメントのバインディング: (各記述の)各ステートメントはプロパティ制約を評価することにより対応するリソーステンプレートのプロパティテンプレートにバインドされる。各ステートメントはちょうど1つのプロパティテンプレートにバインドされなければならない。
  • データタイプ制約の評価: 記述セットのすべてのメタデータがテンプレートにバインドされたら、すべての制約を検証することが可能になる。

先頭に戻る

4. シリアル化

BIBFRAMEプロファイルのための詳細な文法は、次節において拡張バッカス・ナウア記法(BNF)を使って定義される。単純化と一貫性のために本文書ではJSONによるシリアル化を使用するつもりである。

注: 別の選択肢としてTrurtleによるシリアル化を検討している。Turtleはこのコミュニティにおいて理解と処理がより容易だと思われるからである。この点に対する意見を歓迎する。

先頭に戻る

5. 利用のシナリオ

以下の節では一般的な利用シナリオを反映した一連のテンプレートパターンの概要を示す。

5.1. リソースの制約

次のBIBFRAMEプロファイルはBIBFRAME Personリソースの記述に適している。

{
  "Profile": {
      "id": "profile:bf:Agents",
      "title": "BIBFRAME Agents",
      "resourceTemplates": [
          {
            "id": "profile:bf:Agent",
            "resourceURI": "http://bibframe.org/vocab/Agent",
            "resourceLabel": "Agent",
            "propertyTemplates": [
                 {
                    "propertyURI": "http://bibframe.org/vocab/hasAuthority",
                    "propertyLabel": "Lookup",
                    "type": "resource",
                    "valueConstraint": {
                        "repeatable": "false",
                        "usesValuesFrom": [
                             "http://id.loc.gov/authorities/names",
                        ]
                    }
                 },
                 {
                    "propertyURI": "http://bibframe.org/vocab/authorizedAccessPoint",
                    "propertyLabel": "Authorized access point",
                    "type": "literal",
                 }
              ]
           }
       ]
   } 
}

図 5.1: BIBFRAME Personリソースの記述に適したBIBFRAME プロファイル

先頭に戻る

5.2. プロパティの制約

次のBIBFRAMEプロファイルは先の例に必須のプロパティ foaf:name を追加している。

{
  "Profile": {
      "id": "profile:bf:Agents",
      "title": "BIBFRAME Agents",
      "resourceTemplates": [
          {
              "id": "profile:bf:Agent",
              "resourceURI": "http://bibframe.org/vocab/Agent",
              "resourceLabel": "Agent",
              "propertyTemplates": [
                 {
                    "propertyURI": "http://bibframe.org/vocab/hasAuthority",
                    "propertyLabel": "Lookup",
                    "type": "resource",
                    "valueConstraint": {
                        "repeatable": "false",
                        "usesValuesFrom": [
                             "http://id.loc.gov/authorities/names"
                        ]
                    }
                 },
                 {
                    "propertyURI": "http://bibframe.org/vocab/authorizedAccessPoint",
                    "propertyLabel": "Authorized access point",
                    "type": "literal"
                 }
                 {
                    "propertyURI": "http://xmlns.com/foaf/0.1/name",
                    "propertyLabel": "Name",
                    "mandatory": "true",
                    "type": "literal"
                 }
              ]
           }
       ]
   } 
}

図 5.2: 先の例に必須のプロパティ foaf:name を追加

先頭に戻る

5.3. 値の制約(リソース)

次のBIBFRAMEプロファイルは値がいくつかの規定のリソースのいずれかであることを想定していることを表す。

...
      "propertyTemplates": [
         { ... },
         {
              "propertyURI": "http://bibframe.org/vocab/subject",
              "propertyLabel": "Subject",
              "type": "resource",
              "valueConstraint": {
                  "valueTemplateRefs": [ "bfp:Agent:Person",
                                          "bfp:Agent:Organization",
                                          "bfp:Authority:Place"
                  ]
              }
         },
         { ... }
      ]
...

図 5.3: 値がいくつかの規定のリソースのいずれかであることを想定していることを表すBIBFRAMEプロファイル

5.4. 値の制約(データタイプ)

次のBIBFRAMEプロファイルは値が特定のデータタイプ(この例ではISO 8601の日付)を持つリテラルであることを想定していることを表している。

...
      "propertyTemplates": [
         { ... },
         {
              "propertyURI": "http://bibframe.org/vocab/beginDate",
              "propertyLabel": "Begin Date",
              "type": "literal",
              "valueConstraint": {
                   "valueDataType": {
                        "dataTypeURI": "http://bibframe.org/vocab/proposed/ISO8601",
                        "dataTypeLabel": "ISO 8601",
                        "dataTypeLabelHint": "ISO"
                   }
              }
         },
         { ... }
      ]
...

図 5.4: 値が特定のデータタイプ(ISO 8601の日付)を持つリテラルであることを想定していることを表すBIBFRAMEプロファイル

先頭に戻る

5.5. 考察

BIBFRAMEプロファイルはどんなレベルの想定ないしは制約も要求しない。各コミュニティは各自のニーズにしたがって厳格な方法や緩やかな方法を使ってプロファイルを作成することができる。あまりにも厳格な制約は語彙の適用や改良における柔軟性を減少させる可能性があり、あまりにもゆるやかな想定は相互運用性のレベルを減少させる可能性がある。

このトレードオフを必要に応じて図ることは各コミュニティに委ねられている。BIBFRAMEプロファイルはRDFスキーマやOWL(Web Ontology Language)で定義されているセマンティックな制約を塗り替えたり、置き換えたりするものではない。むしろ、必要に応じて一連のクラスやプロパティを定義する方法をコミュニティに提供するものである。

先頭に戻る

6. 例

以下の節では、コミュニティが様々な要件を支援するためにどのようにBIBFRAMEプロファイルを使用できるかの例を示す。

6.1. 簡単な編集インターフェースためのデフォルトのBIBFRAMEプロファイル

以下は、簡単な編集インターフェースためのデフォルトのBIBFRAMEプロファイルである。人間向けの表示用のラベルはクラス識別子に結びついているRDFスキーマから抽出した。

{
  "Profile": {
       "id": "bfp:Monograph:Book",
       "title": "Monograph -- Book",
       "description": "An example profile reflecting the cataloging practices of 
                       example public library",
       "date": "2014-05-01",
       "contact": "Example Public Library cataloging help desk, info@examplelib.org",
       "resourceTemplates": [
          {
             "id": "bfp:Work:Book",
             "resourceLabel": "Book",
             "resourceURI": "http://bibframe.org/vocab/Text",
             "propertyTemplates": [
                 {
                    "propertyURI": "http://bibframe.org/vocab/title",
                    "propertyLabel": "Title",
                    "type": "literal"
                 },
                 {
                    "propertyURI": "http://bibframe.org/vocab/subject",
                    "propertyLabel": "Subject",
                    "type": "resource",
                    "valueConstraint": {
                        "valueTemplateRefs": [ "bfp:Agent:Person",
                                               "bfp:Agent:Organization",
                                               "bfp:Authority:Place",											
                                               "bfp:Authority:ClassificationEntity",
                                               "bfp:Authority:Topic"  ]
                       }
                 },
                 {
                    "propertyURI": "http://id.loc.gov/vocabulary/relators/aut",
                    "propertyLabel": "Author",
                    "type": "resource",
                    "repeatable": "true",
                    "valueConstraint": {
                        "valueTemplateRefs": [ "bfp:Agent:Person",
                                               "bfp:Agent:Organization",
                                               "bfp:Agent:Meeting"  ]
                    }
                 }
             ]
         }
      ]
   }
}

図 6.1: デフォルトのBIBFRAMEプロファイル

先頭に戻る

6.2. BIBFRAMEプロファイルとしてのRDA

以下の図は、高次のRDA概念である著作、表現形、体現形、個別資料をBIBFRAMEのクラスとして表現するためにBIBFRAMEプロファイルを如何に使用できるかを概念レベルにおいて示している。

先頭に戻る

6.3. BIBFRAMEプロファイルとしてVRA

次の例はBIBFRAMEプロファイルとして規定されたVRAの一部を示している。目録作業インターフェースでVRAを表現する方法として定義されたリソースとプロパティに目録に馴染み深いラベルが追加されている。

{
  "Profile": {
       "id": "bfp:VRA",
       "title": "VRA BIBFRAME Profile",
       "description": "The following profile is a draft attempt at reflecting VRA core semantics
in the BIBFRAME / RDA model", "date": "2014-10-31", "contact": "Eric Miller, em@zepheira.com", "resourceTemplates": [ { "id": "bfp:work", "resourceLabel": "Work", "resourceURI": "http://bibframe.org/vocab/Work", "propertyTemplates": [ { "propertyURI": "http://bibframe.org/vocab/title", "propertyLabel": "Title" }, { "propertyURI": "http://bibframe.org/vocab/alternativeTitle", "propertyLabel": "Alternative Title" }, { "propertyURI": "http://id.loc.gov/vocabulary/relators/arc", "propertyLabel": "A:Architect", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": [ "bfp:ULAN:Agent" ] } }, { "propertyURI": "http://id.loc.gov/vocabulary/relators/art", "propertyLabel": "A:Painter", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": [ "bfp:ULAN:Agent" ] } }, { "propertyURI": "http://id.loc.gov/vocabulary/relators/scl", "propertyLabel": "A:Carver", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": [ "bfp:ULAN:Agent" ] } }, { "propertyURI": "http://bibframe.org/vocabulary/vra/culturalContext", "propertyLabel": "Language", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": [ "bp:language" ] } }, { "propertyURI": "http://bibframe.org/vocabulary/vra/beginDate", "propertyLabel": "Begin Date", "type": "literal", "valueConstraint": { "valueDataType": { "resourceURI": "http://bibframe.org/vocab/proposed/ISO8601", "valueLabel": "ISO 8601", "valueLabelHint": "ISO" } } }, { "propertyURI": "http://bibframe.org/vocabulary/vra/consecratedDate", "propertyLabel": "Consecrated Date", "repeatable": "literal", "valueConstraint": { "valueDataType": { "resourceURI": "http://bibframe.org/vocab/proposed/ISO8601", "valueLabel": "ISO 8601", "valueLabelHint": "ISO" } } }, { "propertyURI": "http://bibframe.org/vocab/description", "propertyLabel": "Description", "type": "literal" }, { "propertyURI": "http://bibframe.org/vocab/vra/inscription", "propertyLabel": "Inscription", "type": "literal" }, { "propertyURI": "http://bibframe.org/vocab/vra/location", "propertyLabel": "Location", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": ["bfp:TGN:Place"] } }, { "propertyURI": "http://bibframe.org/vocab/vra/material", "propertyLabel": "Material", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": ["bfp:AAT:Authority"] } }, { "propertyURI": "http://bibframe.org/vocab/vra/measurement", "propertyLabel": "Measurement", "type": "literal" }, { "propertyURI": "http://bibframe.org/vocab/relatedTo", "propertyLabel": "Relation", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": ["bf:work"] } }, { "propertyURI": "http://bibframe.org/vocab/vra/rights", "propertyLabel": "Rights", "type": "literal" }, { "propertyURI": "http://bibframe.org/vocab/vra/source", "propertyLabel": "Source", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": ["bfp:WebResource"] } }, { "propertyURI": "http://bibframe.org/vocab/vra/stateEdition", "propertyLabel": "State Edition" }, { "propertyURI": "http://bibframe.org/vocab/vra/stylePeriod", "propertyLabel": "Style / Period", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": ["bfp:AAT:Period"] } }, { "propertyURI": "http://bibframe.org/vocab/subject", "propertyLabel": "Subject", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": ["LCSAF:Topic"] } }, { "propertyURI": "http://bibframe.org/vocab/vra/technique", "propertyLabel": "Technique", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": ["bfp:AAT:Technique"] } }, { "propertyURI": "http://bibframe.org/vocab/vra/testref", "propertyLabel": "Reference" }, { "propertyURI": "http://bibframe.org/vocab/vra/workType", "propertyLabel": "Work Type", "repeatable": "true", "type": "resource", "valueConstraint": { "valueTemplateRefs": ["bfp:AAT:WorkType"] } } ] }, { "id": "bfp:depicts", "resourceLabel": "Image", "resourceURI": "http://bibframe.org/vocab/Image", "propertyTemplates": [ { "propertyURI": "http://bibframe.org/vocab/width", "propertyLabel": "Width", "type": "literal", }, { "propertyURI": "http://bibframe.org/vocab/height", "propertyLabel": "Height", "type": "literal", } ] }, { "id": "ULAN:Agent", "resourceLabel": "Agent", "resourceURI": "http://bibframe.org/vocab/rda/Agent", "propertyTemplates": [ { "propertyURI": "http://bibframe.org/vocab/label", "propertyLabel": "Label", "type": "literal" } ] }, { "id": "bfp:AAT:Authority", "resourceLabel": "Authority", "resourceURI": "http://bibframe.org/vocab/rda/Authority", "propertyTemplates": [ { "propertyURI": "http://bibframe.org/vocab/label", "propertyLabel": "Label", "type": "literal" } ] }, { "id": "bfp:AAT:Period", "resourceLabel": "Period", "resourceURI": "http://bibframe.org/vocab/rda/Period", "propertyTemplates": [ { "propertyURI": "http://bibframe.org/vocab/label", "propertyLabel": "Label", "type": "literal" } ] }, { "id": "bfp:AAT:Technique", "resourceLabel": "Technique", "resourceURI": "http://bibframe.org/vocab/rda/Technique", "propertyTemplates": [ { "propertyURI": "http://bibframe.org/vocab/label", "propertyLabel": "Label", "type": "literal" } ] }, { "id": "bfp:AAT:WorkType", "resourceLabel": "Type of Work", "resourceURI": "http://bibframe.org/vocab/rda/WorkType", "propertyTemplates": [ { "propertyURI": "http://bibframe.org/vocab/label", "propertyLabel": "Label", "type": "literal" } ] }, { "id": "bfp:TGN:Place", "resourceLabel": "Place", "resourceURI": "http://bibframe.org/vocab/rda/Place", "propertyTemplates": [ { "propertyURI": "http://bibframe.org/vocab/label", "propertyLabel": "Label", "type": "literal" } ] }, { "id": "bp:language", "resourceURI": "http://bibframe.org/vocab/LanguageEntity", "resourceLabel": "Language", "propertyTemplates": [ { "mandatory": "true", "propertyURI": "http://bibframe.org/vocab/label", "propertyLabel": "Label", "type": "literal" } ] } ] } }

図 6.3: BIBFRAMEプロファイルとしてのVRA

先頭に戻る

7. プロファイルの文法

本節において基本的なBIBFRAMEプロファイルの構文要素の記述にはEBNF(拡張バッカス・ナウア記法)を使用する。ここでのEBNFは読みやすさのために簡略化されている。終了タグのプロパティ名と型名は対応する開始タグの名前と完全に一致する必要があることはXML規則から暗黙に要請されている。JSONが持つすべての構文的柔軟性も暗黙のうちに含まれている。例えば、空白規則、シングルクォート(')とダブルクォート(&quote;)のいずれも使用できるクォーテーション、文字のエスケープ法、大文字小文字の区別、言語タグなどである。

Profile ::= id | title | description | date | contact | remark | resourceTemplates* 
resourceTemplates ::= id | resourceURI | resourceLabel | remark | propertyTemplates* 
propertyTemplates ::= propertyURI | propertyLabel | mandatory? | repeatable? | type |
                      valueConstraint | remark 
valueConstraint ::= valueLanguage | languageURI | languageLabel | valueDataType | valueTemplateRefs | 
                      useValuesFrom | editable | defaultURI | remark 
valueDataType ::= dataTypeURI | dataTypeLabel | dataTypeLabelHint | remark 
valueTemplateRefs ::= editable | defaultURI | defaultLabel 
valueTemplateRefs ::= id+ 
useValuesFrom ::= URI+ 
mandatory ::= "true" | "false" 
repeatable ::= "true" | "false" 
editable ::= "true" | "false"
id ::= URI  <text>
title ::= <text>
description ::= <text>
date ::= <text>
contact ::= <text>
remark ::= <text>
resourceLabel ::= <text>
propertyLabel ::= <text>
valueLanguage ::= <text>
languageLabel ::= <text>
dataTypeLabel ::= <text>
dataTypeLabelHint ::= <text>
resourceURI ::= URI 
propertyURI ::= URI 
languageURI ::= URI 
dataTypeURI ::= URI 
valueTemplateRefs ::= URI
defaultURI ::= URI 
type ::= literal | resource "literal" | "resource"
literal ::= valueLanguage | langaugeURI | languageLabel | valueDataType
resource ::= valueTemplateRefs | editable | defaultURI 

8. 実装

これまで目録入力ツールは想定される入力フィールドや入力機能に関する予備知識を必要とした。コミュニティ独自のBIBFRAMEプロファイルの実装は、目録ツールとは独立に成長・進化できる有機的な環境を作り出す。BIBFRAMEプロファイルは各コミュニティ特有の記述、ステートメント、制約を含むので、当該コミュニティに必要な記述を伝えることになる。目録ツールはコミュニティ固有のものではなくなり、単に各自の目録作業に必要なものをBIBFRAMEプロファイルに追加することになる。BIBFRAME プロファイルを指定することにより、ツールは常にBIBFRAMEプロファイルの最新版を利用者に提供することになり、ツール自体の基本的なコードを変更することなくBIBFRAMEプロファイルを切り替えることも可能である。

先頭に戻る

9. 履歴と他の活動との関係

BIBFRAMEプロファイルは、ベストプラクティを反映した語彙プロファイルを定義できるように複数のRDF語彙をゆるやかに「パッケージ化」する最高の方法に関する様々な議論を元に、影響を請けて、設計された。これらの設計判断の多くは、DCMIの「応用プロファイル」や「記述セットプロファイル」などの初期のダブリン・コア仕様をもたらした様々な議論と共に、初期の経験やOCLC CORC(Cooperative Online Resource Cataloging)ツールキットの実験的構築に基づいている。BIBFRAMEプロファイルは特にDCMI記述セットプロファイルの策定に一部似ているが、DCAMではなくRDFとの整合性を図っていることやRDFスキーマやOWLとの対立を生み出さないための制約機能の最小化などの点で異なる。様々なW3Cでの議論も、Zepheira社によるRDF編集プラットフォームの実装と共に、この設計に貢献している。

先頭に戻る

10. クレジット

本文書はEric Miller, Vicki Mueller, Uche Ogbuji, Mark BakerからなるZepheira社のチームにより作成され、米国議会図書館のKevin Fordにより編集された。

本文書は書誌フレームワークイニシアティブ(Bibliographic Framework Initiative)プロジェクトの成果である。さらなる情報はwww.loc.gov/bibframeを参照されたい。

先頭に戻る