(差分)のモジュール・サンドボックスページです。Unported公式サイトen.wikipedia.org/wiki/Module:WikidataIBテンプレートを表示モジュール:WikidataIBは、ウィキデータに格納されたデータをInfoboxで利用する判断をInfobox設計者から記事執筆者に移行する機構を実装するために設計されたモジュールです[1]。モジュールは英語版ウィキペディアでLua言語を用いて開発されています。オリジナル実装・新しい機能の使い方・詳しい使い方は英語版オリジナルモジュール(en:Module:WikidataIB)を参照してください。1]、モジュールはInfoboxで利用するための以下の関数を提供します。廃止:getValueで代用getPreferredValuegetNormalValuegetCoordsgetQualifierValue廃止されたgetSourcedValue関数は、getValue関数を引数|onlysourced=trueで利用した動作と重複するものとして削除されました。以下のユーティリティ関数も提供します。getLinkgetLabelgetATgetDescriptionformatDatecheckBlacklistemptyor共通仕様[編集]引数の真偽値は、真はtrue/yes/1、偽はfalse/no/0で指定します。ヌル文字はデフォルト値として扱われます。その他の全ての値は真として扱われてますが、可読性のためtrue/falseやyes/noを指定することが推奨されます。引数の文字列は、任意の文字列・文を指定します。文字列にスペースを入れる場合は明示的にダブルクオーテーション(")で括ります。ダブルクオーテーションで明示しない場合は前後のスペースはトリミングされます。パイプ文字は{{!}}でエスケープします。複数の値を返す関数は、複数の値をセパレータで区切って1つの文字列として返却します。引数で変更可能な場合があります。日本語版ウィキペディアでは区切り文字にカンマは推奨されないので(WP:YAKUMONO)、Infoboxに表示する場合には可能であれば変更するべきです。中点と読点のいずれを使うかはInfoboxの慣習に従います。いくつかの関数は、|qid=などで他記事のアイテムIDを指定してプロパティ・修飾子の値を取得できます。通常用途で利用することはなく、試験用途では便利かもしれません。通常用途でも利用は可能ですが、不必要に高負荷です。エンティティから第1無名引数で指定したプロパティIDの値を取得します。parameter>}}フィールド名はブラックリスト・ホワイトリストの表示有無の評価に使用します。与えられたフィールド名をまず最初にブラックリストで表示有無を判断します。どんな状況でも表示しない場合に利用します。ブラックリストにフィールドがない場合、次にホワイトリストで表示有無を判断します。ホワイトリストにフィールドがある場合、記事内の実値、ウィキデータの値、2番目の無名引数を値を順に評価していずれかを返却します。ブラックリスト・ホワイトリストが使われている場合は、名前付き引数|name=は必須です。ブラックリスト・ホワイトリストが使われていて名前付き引数|name=がない場合は、関数は空文字を返却します。取得した値は|prefix=、|postfix=、|linkprefix=、|linkpostfix=で接頭語・接尾語の文字列を付与できます。|linkprefix=を利用しない場合、|prefix=と|postfix=だけが利用されます。|linkprefix=を利用する際は4つの接頭語・接尾語が全て使用され、各値毎に付与されます。複数の値を持つプロパティはソートせず、セパレータで区切って、1つの文字列として返却されます。...として並び替えします。複数の値は|sep=や|list=で結合・表示形式を変更できます。|sep=は結合する際の区切り文字を指定します。|list=hlistは横リストで表示し、|list=ublは非接頭句縦リストで表示します。アクセシビリティのため、非接頭句縦リストは|sep=<br>ではなく|list=ublを利用すべきです。Infoboxのフィールドに値の改善を誘導するウィキデータで編集アイコンを表示します。アイコンは該当のプロパティのウィキデータページにリンクしています。取得する値は出典がない、もしくは、出典がウィキペディアのみの値を除外して、適切な出典の付与された値のみを返却します。出典の有無を問わず値を取得する場合は|onlysourced=falseを指定します。wikibase-itemsと呼ばれるウィキペディアの記事に紐付いたアイテムは、可能であればウィキペディアの記事に対応したウィキリンクに変換して返却します。URIとなるウィキメディア・コモンズのメディア、URL、外部リンク、その他の類似する文字列を表すアイテムは、リンクに変換して返却します。その他の値型は、mwdiawikiライブラリがformatPropertyValues()を呼び出して返却します。引数1番目の無名引数は、取得対象のプロパティIDを指定します。2番目の無名引数は、ウィキデータに値がない場合のデフォルト値を指定します。|qid=は、ウィキペディア記事のアイテムIDを指定します(高負荷)。|name=は、フィールドの名前を指定します。|suppressfields=は、フィールド名のブラックリストを指定します。|fetchwikidata=は、フィールド名のホワイトリストを指定します。キーワードALLは全フィールドを取得します。|onlysourced=は、出典有無による値返却を真偽値で指定します。デフォルトはtrueです。|noicon=は、値の改善を促すため編集アイコンの非表示化を真偽値で指定します。デフォルトはfalseです。|df=は、年月日の値のフォーマットをdmy(日月年)、mdy(月日年)、y(年)のいずれかで指定します。デフォルトのフォーマットはdmyです。|bc=は、年月日の値の接尾辞にBCもしくはBCEを必要とする値のために指定します。デフォルト値はBCEです。|prefix=、|postfix=は、値の接頭語・接尾語を指定します。|linkprefix=、|linkpostfix=は、リンク型の値の接頭語・接尾語を指定します。|sorted=は、複数の値の値のソート有無を真偽値で指定します。デフォルトはfalseです。|sep=は、複数の値を結合する際のセパレータを指定します。|list=は、複数の値のリスト形式を指定します。セパレータ指定を上書きし、ウィキデータで編集アイコンを非表示にします。(Q532127)を対象にした例です。rankが設定されている場合はそれらの値のみを取得します。rankが設定されている場合はそれらの値のみを取得します。rankが混在している場合は、それぞれが個別の値を返却します。(P625)の値を取得して、値をTemplate:Coordに渡します。parameter>}}引数|qid=は、ウィキペディア記事のアイテムIDを指定します(高負荷)。|suppressfields=は、ブラックリストを指定します。|fetchwikidata=は、ホワイトリストを指定します。|display=は、Template:Coordの|display=に渡す値を指定します。エンティティからプロパティの修飾子の値を取得します。|onlysourced=<yes/no>}}引数1番目の無名引数は、プロパティIDを指定します。|qid=は、ウィキペディア記事のアイテムIDを指定します(高負荷)。|pval=は、修飾子のプロパティIDを指定します。|qual=は、修飾子IDを指定します。|suppressfields=は、ブラックリストを指定します。|fetchwikidata=は、ホワイトリストを指定します。|onlysourced=は、出典有無による値返却を真偽値で指定します。(Q1513315)を対象にした例です。2006年11月getLink[編集]関数getLinkは、アイテムIDに紐付いたウィキペディアに記事が存在する場合にウィキリンクを取得します。}}取得する値はウィキデータにラベルが存在する場合はラベルにパイプし、ラベルが存在しない場合はIDにパイプします。ウィキペディアに記事が存在しない場合はラベルもしくはIDを返却します。映像getLabel[編集]関数getLabelは、アイテムIDのラベルもしくはIDを取得します。映像getAT[編集]関数getATは、アイテムIDの記事のタイトルを取得します。}}取得する値はウィキペディア記事のタイトルです。記事が存在しないアイテムはヌル文字を返却します。(P10)の記事タイトルを取得{{#invoke:WikidataIB|getAT|P10}}→getDescription[編集]関数getDescriptionは、アイテムIDの説明文を取得します。}}引数1番目の無名引数は、wikidataが指定された場合はウィキデータの値を、noneが指定された場合はヌル文字を返却します。|qid=は、ウィキペディア記事のアイテムIDを指定します(高負荷)。(Q532127)を対象にした例です。BCEのような、日付フォーマットを第1引数に受け取り、|df=・|bc=で指定したフォーマットします。}}引数|df=は、年月日の値のフォーマットをdmy(日月年)、mdy(月日年)、y(年)のいずれかで指定します。デフォルトのフォーマットはdmyです。|bc=は、接尾辞にBCもしくはBCEを必要とする値のために指定します。デフォルト値はBCEです。BCInfoboxテンプレートのコーディング[編集]Infoboxテンプレートでは、特に関数getValueを適切なテンプレートパラメータを転用してInfoboxフィールドのdata部で利用します。Infoboxテンプレートのコードは従来のものと基本的構成に変わりはありません。{{Infoboxから始まり、title・image・label/data・belowなどを記述して、}}<noinclude>{{Documentation}}</noinclude>で締めます。異なるのはdataの値の箇所です。data部のコード[編集]Infoboxのdata部は従来のInfobox構成とは異なり、ウィキデータの値を利用するために{{#invoke:WikidataIBgetValue|...を指定します。第1無名引数には取得対象のプロパティIDを指定します。第2無名引数には従来のdata部でも記入しているテンプレートパラメータを指定します。|name=は分かり易い文字列、例えばlabelの値やその別名、を指定します。その他の引数はInfobox設計者ではなく記事執筆者が変更可能なようにテンプレートパラメータを転用します。}}当然、任意のパラメータは、全てのフィールドに適用されるテンプレートを転用するだけでなく、特定フィールドを明示指定することができます。原則的には全てフィールドで短い単語を横リスト|list=hlistで表示し、特定フィールドで長い単語を縦リスト|list=ublで表示します。緯度・経度[編集]関数getCoordsはウィキデータから値を取得してTemplate:Coordを通した結果を取得します。}}出典の要否判断[編集]特定のフィールドで出典が付与されていることが常に必須の場合は、|onlysourced=にfalseが設定されていないことを確認してgetValueを利用します。デフォルトでは出典がない、もしくは、出典がウィキペディアのみの値は除外されているので、記事単位での確認作業は簡単になっています。好ましくはありませんが、もし出典のないデータを受け入れるのであれば|onlysourced=noを設定します。その情報の出典の要否・信頼性を自動的に判別する機構を構築することは本モジュールの目的外であり、出典の適正判断はその分野に精通した人たちがしなければならない作業です。そのため、Infobox設計者は、全てのフィールドのdata部で|onlysourced={{{onlysourced|}}}を指定して記事単位で出典要否を記事執筆者に判断させる他に、事前に出典を求めることが難しい特定フィールドは|onlysourced=noを指定してテンプレートレベルで出典なしを許容して、記事執筆者には原則|onlysourced=の値を変更させないというテンプレート設計をする判断もあります。Infoboxテンプレートの|onlysourced=の指定で判断が揺れる場合はノート等で議論します。記事執筆者は、記事で新しいInfoboxテンプレートを初めて有効にした際には、必ず出典の要否・付与可否を判断すべきです。出典を求めないことはウィキペディアの方針として原則は適切ではないですが、例えば書籍のジャンルに出典を求める必要性は疑わしいという見方があり、ウィキペディア・ウィキデータに出典がない記事・データは多数あります(参考私論:Wikipedia:空が青いということに出典は要らない)。既存のInfoboxのアップグレード[編集]|fetchwikidata=は本モジュールを使ったウィキデータの連携機能に必ず必要となるため、既存の記事のInfoboxは同パラメータを組み込んだInfoboxの記述に置き換える必要があります。他の箇所を変更する必要はありません。新しいInfoboxを使用したそれぞれの記事は、ホワイトリストの|fetchwikidata=にキーワードALLもしくは利用するフィールド名のリストを指定することで、ウィキデータを利用するようになります。この時、各フィールドを表示する・しないの判断は記事編集者に委ねられます。表示したくないフィールドがある場合は、|suppressfields=を使って表示したくないフィールドをブラックリストに追加します。book/Wikidata/Sandboxにあります。サンプルで提示したように、Infoboxでは著者(Author)フィールドを以下のようにコーディングします。その他のパラメータは記事内のテンプレートパラメータを転用しています。ブラックリスト・ホワイトリストがテンプレートパラメータで適切に指定されている上で、ウィキデータにデータがある場合はその情報を表示、データがない場合はテンプレートパラメータauthorの情報を表示します。ウィキデータのラベルは一般的に小文字のため、英単語の頭文字を大文字にする場合は、Module:String2の関数sentenceを利用して先頭の文字を大文字に変換することができます。ジャンル・公式サイトをフィールドに持ちます。基本的にウィキデータの値を扱いますが、原題のみは実値に依存します。Book}}を使ってInfoboxを表示します。ブラックリスト・ホワイトリストでウィキデータの値を表示するフィールドを指定します。ブラックリスト・ホワイトリストを指定しない場合は従来テンプレートと同様の表示をします。書籍/WikidataIBに記載したInfoboxテンプレートの抜粋です。(P856)の値を取得し、ウィキデータにデータがない場合は各記事の実値を表示します。原題は常に実値を表示します。試験用途のために出典有無はすべてのフィールドで無視するよう|onlysourced=falseを指定しています。{{#invoke:WikidataIB|getValue|P856|name=website|fetchwikidata={{{fetchwikidata|}}}|suppressfields={{{suppressfields|}}}|onlysourced=false|{{{website|}}}}}}}<noinclude>{{Documentation}}</noinclude>記事[編集]各記事に記載するInfoboxです。幸福な王子のパラメータを参考値にしています。ウィキデータ利用なし[編集]Infoboxはウィキデータを意識することなく、実値のみを表示します。[[短編小説]]}}ブラックリスト・ホワイトリストは利用しない場合は省略できます。ジャンル・公式サイトをウィキデータの値を表示します。website}}|fetchwikidata=はALLを指定することで全てのフィールドを対象にすることができます。ALL}}ウィキデータに値がない、実値しか扱わないフィールドは実値を指定して表示します。サイトをウィキデータの値を表示し、ジャンルを非表示にします。ALL}}ホワイトリストにgenreを含めず、かつ、実値でヌル文字を指定してもジャンルは表示されません。=}}|suppressfields=を指定すると、記事に実値が記述されていてもジャンルを表示しません。[[短編小説]]}}実値で上書き[編集]実値で明記すれば、ウィキデータに値が格納されているかどうかに関わらず、実値の「小説」を表示します。サイトのみ取得して表示します。website}}ホワイトリストで指定しない場合、実値が指定されていれば表示します。[[短編小説]]}}類似ツール[編集]モジュールはInfoboxテンプレートの中でのみ利用することを想定しており、他種のテンプレートや記事内で利用することは想定されていません。そのような場所でウィキデータのデータを用いる場合は他のツールを利用すべきです。アイテムIDを指定してウィキデータの値を表示します。アイテムIDを指定してウィキデータへのリンクを表示します。詳細な条件指定からウィキデータのデータを表示します。ウィキデータのデータを取得する幾つか関数を提供します。doc翻訳時点、実装ではより多くの関数が存在する可能性があります。実用性はなく、実際のテンプレートとの互換性はありません。2018年4月11日閲覧。2018年4月11日閲覧。この解説は、モジュール:WikidataIB/docから呼び出されています。(作成)で試すことができます。(解説)/docのサブページにカテゴリを追加してください。このモジュールのサブページ一覧。"プロパティが見つかりません。"プロパティが与えられていません。"ウィキデータのエンティティが見つかりません。"不明な主張の種類です。"不明なエンティティの種類です。"修飾子が見つかりません。"該当するウィキメディア・プロジェクトが見つかりません。"ラベルが見つかりません。"説明が見つかりません。"別名が見つかりません。"不明な日付時間形式です。"このウィキでは未作成の記事です。(日時は個人設定で未設定ならばUTC)。表示-継承ライセンスの下で利用可能です。追加の条件が適用される場合があります。詳細は利用規約を参照してください。Cookieに関する声明モバイルビュ。