Extension:CommonsMetadata/ja

CommonsMetadata拡張機能はウィキメディア・コモンズのページからメタデータを抽出する試みで、ウィキメディアの他のどのプロジェクトでも同じデータを入手できます. 画像情報API（imageinfo API）に情報を追加する基準として、画像の説明文にあるテンプレートやカテゴリを使います. 取得したメタデータはさまざまな拡張機能やツールで利用すると、ライトボックスあるいは画像選択のダイアログが改善されます（例：マルチメディアビューアー、VisualEditor、MobileFrontend、Mobile-Content-Service (MCS)）.

拡張機能の現在の形式は、暫定的な対策を意図したもので、のちにウィキデータのメディア情報（Wikidata on Commons）と交換されました.

動機とデザインの選択肢
Wikitechのメーリングリストの過去号も参照

この拡張機能には次のような目的があります.


 * 将来的には、コモンズのメタデータを扱う役割はウィキデータに変更されます. 壊滅的な変更ですぐに再び修正する必要がないように、拡張機能はコモンズのメタデータを現在と同様に（新しいパーサ関数を導入しないで）扱う必要があります. したがって、スクリーンスクレイピングを採用します.


 * コモンズの説明ページでは、多くの項目の内容に装飾付き書式を設定（具体的にはリンク、斜体、太字のこと. 場合によっては埋め込み画像など複雑な要素）
 * その結果、拡張機能は処理済みのHTMLを出力 （ウィキテキストは手間がかかり、平文はデータを取得不能）
 * さらに、データは（例えば）機械可読な日付形式ではなく、人間が読解できる書式で表示される. 日付のフィールドに「1600年代頃」と記述してあると、厳密な日付に変換不可能（他方、変換可能な例も少なくない）.
 * これをさらに進めて exif metadata 形式を当ててウィキ側で管理できるようにする（例えばコモンズではカメラの名称をウィキペディアの記事にリンク）


 * 説明文書のページから情報を抽出できなくてもファイルの執筆者がexif/XMP/iptcメタデータでタグ付けされている場合は、それをフォールバックに使わなければいけません.
 * 理想としては、そのようなシステムは可能な限りコモンズに特化せず標準化すべきで、コモンズ固有の部分とコモンズ外の部分を分離します.


 * コモンズの説明文書のページは多言語で記述されます. 大部分の利用者には単一の言語で十分でしょう.
 * この実装では日付と物事に言語ごとの規則を適用します. また、明示的に多言語のフィールド（説明）の場合、すべてを返すか、単一の言語だけ返すか選択肢があります.  単一言語モードであっても、いくつかの要素は言語固有です（数千とあるセパレータが好例）

テスト
遠隔の画像を使ってテストする（例えば を有効にしてコモンズにある画像を使う）場合は、CommonsMetadataが強制的に画像の説明ページを解析してメタデータを抽出するように を設定することができます（通常は遠隔のリポジトリにCommonsMetadataもインストールされているとそこからAPIの出力のみを転写します）.

使用法
imageinfo APIを使用し、 経由で画像データの属性を特定する を加えます.

使用例:


 * https://commons.wikimedia.org/w/api.php?action=query&prop=imageinfo&format=json&iiprop=extmetadata&iilimit=10&titles=File%3ACommon%20Kingfisher%20Alcedo%20atthis.jpg

この使用例をAPI sandboxで閲覧する：


 * https://www.mediawiki.org/wiki/Special:ApiSandbox#action=query&prop=imageinfo&format=json&iiprop=extmetadata&iilimit=10&titles=File%3ACommon%20Kingfisher%20Alcedo%20atthis.jpg

戻り値
この拡張機能は現在、戻り値の フィールドに下記の項目を出力します（フィールド名は可能な限りEXIFのヘッダに用いるIPTC-IIM形式に従う）.

情報テンプレートが内蔵する機械可読データに基づくデータ：
 * ImageDescription - 画像の説明
 * Artist - 執筆者の名前（複雑なHTMLや複数の執筆者名などを含む）
 * Credit - 情報源
 * DateTimeOriginal - 作成時点（可能な限り、半角スペースで区切ったISO 8601タイムスタンプを使用だが、日付を文字で記述したもので、HTMLを含んでいれば可. ）
 * ObjectName - 題名（書物や絵画の場合. その他ならファイル名のみ）
 * Permission - テンプレートの許諾欄. 多くの要素が可能（ライセンステンプレート、ORTSのID、属性の詳細...）
 * AuthorCount - テンプレート件数と執筆者（例：書籍、写真...）. テンプレートの1行に複数の執筆者名が記された場合には、執筆者合計は表示よりも多い可能性がある.

machine-readable data in the Location template（位置テンプレートに内蔵する機械可読データ）に基づく情報:
 * GPSLatitude - 経度
 * GPSLongitude - 緯度
 * GPSMapDatum - 座標タイプ（現状では にのみ対応）

ライセンステンプレートが設定する機械可読データに基づくデータ： 複合ライセンスの画像の場合、現在は値が提供されません. (can also originate from the Information template)
 * LicenseShortName - 人間が読み取れる短いライセンス名称
 * LicenseUrl
 * UsageTerms
 * Copyrighted - または （パブリックドメイン画像の場合）
 * Attribution - 撮影者 + 権利関係の表示に代わる、帰属の特記事項（情報テンプレートから取ることも可能）
 * AttributionRequired - booleanish (T86726), tells whether there is a legal requirement to attribute
 * NonFree - ブール演算子に似た値で「true」の場合、画像はフリーライセンスではない（対象はコモンズにない画像限定）

その他のデータ： LicenseShortNameの方が勝ると考えられる）''
 * CommonsMedadataExtension - メタデータのパーサバージョン番号； 主に内部利用向け
 * License - a best guess at the license of the image ''（主にMediaViewerによる内部利用向けで、変更の可能性あり；信頼性は
 * Categories - で区切った画像のカテゴリ一覧.
 * Assessments - 画像評価を で区切った一覧（現在は5項目に対応： 年間大賞、今日の一枚、秀逸、良質、valued（高価値））. パーシングのカテゴリ名に基づく. コモンズに置かれていない画像には当てはまらない可能性がある.
 * Restrictions - 再利用の制限. 商標や人格権など. キーワードの配列（こちらの表にあるクラス名から接頭辞 を除外したもの）. MediaViewerにあるrestrict-* icons（アイコン）も参照.
 * DeletionReason - 有効にするとテンプレートを削除の対象とする. （nukeテンプレートに基づく. コモンズ以外では信頼性が低い可能性がある. ） It contains a deletion reason, but it is phrased to be applicable for a log entry, so it might be misleading (e.g. past tense when actually it is not yet decided whether the image will be deleted).

関連項目

 * ファイルページのメタデータ修正/メタデータの修正方法
 * Manual:File metadata handling – ファイルのメタデータの扱い方
 * Extension:MultimediaViewerはCommonsMetadataから取得する情報を主に利用しています.
 * Request for comment on handling image information – コメント募集中：画像の情報について
 * ローカルにアップロードしたファイルのあるローカルのウィキにおける、テンプレートの互換性（Template detection on local wikis with locally uploaded files） – メタデータ取得のためにテンプレートを準備する方法と、マルチメディアビューワー拡張期能を使用して表示する方法を解説します.