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 - 座標タイプ（現状では にのみ対応）

Data based on machine-readable data in the license template: For multi-licensed images these values are currently unreliable.
 * LicenseShortName - short human-readable license name
 * LicenseUrl
 * UsageTerms
 * Copyrighted -  or   (for public domain images)
 * Attribution - custom attribution that should replace Artist + Credit (can also originate from the Information template)
 * AttributionRequired - booleanish (T86726), tells whether there is a legal requirement to attribute
 * NonFree - booleanish, true means the image is not under a free license. (Used for non-Commons images only.)

Other data:
 * CommonsMedadataExtension - contains the metadata parser version number; mostly for internal use
 * License - a best guess at the license of the image (mostly for internal use by MediaViewer, might change; LicenseShortName is probably more reliable)
 * Categories - a -separated list of the categories of the image.
 * Assessments - a -separated list of the assessments of the image (currently five values are supported: poty, potd, featured, quality, valued). Based on parsing category names, probably won't work for images not hosted on Commons.
 * Restrictions - reuse restrictions such as trademarks or personality rights; an array of keywords (the class names from this table, without the  prefix). See also the restrict-* icons in MediaViewer.
 * DeletionReason - if set, the template is being considered for deletion. (Based on the nuke template, probably not reliable outside Commons.) 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） – メタデータ取得のためにテンプレートを準備する方法と、マルチメディアビューワー拡張期能を使用して表示する方法を解説します.