モジュール:Wikidata/doc
モジュール:Wikidataは非推奨です。モジュール:WikidataIBまたはモジュール:Wdをご使用ください。 |
モジュール:Wikidataは、ウィキデータからデータを取得する複数の関数が定義されているモジュールです。
オリジナル実装・詳しい使い方は英語版(en:Module:Wikidata)を参照してください。
利用
[編集]ウィキデータからプロパティ・修飾子などを取得して、記事内文章に埋め込むために利用します。基本的には記事主題のエンティティに紐付いたデータを取得しますが、明示的に対象をパラメータで指定することで他記事主題のエンティティに紐付いたデータを取得することも出来ます。
{{#invoke:Wikidata|(関数)|(引数...)}}
でウィキデータのデータを取得します。
関数
[編集]エンティティ関数
[編集]エンティティのラベルや説明文を取得します。例えば、宇宙 (Q1)の「宇宙」や「惑星、恒星、...」を返します。
{{#invoke:Wikidata|labelIn|ja|Q1}}は、{{#invoke:Wikidata|descriptionIn|ja|Q1}}である。
関数 | 引数 | 説明 |
---|---|---|
labelIn |
|
エンティティのラベルを返します。 |
descriptionIn |
|
エンティティの説明文を返します。 |
プロパティ関数
[編集]記事主題に格納されたプロパティの値を返します。第1引数はプロパティID、第2引数は文字列、第3引数以降は省略可能です。第2引数にFETCH_WIKIDATA
を指定した場合はウィキデータからデータを取得しますが、そうでない場合は指定した文字列を返します。
infoboxテンプレートで分類 (P31)を表示するにあたって、以下のように、明記されていたらそれを、明記されていなければウィキデータを、として利用できるかもしれません。
| label1=分類 | data1={{#invoke:Wikidata|getValue|P31|{{{分類|FETCH_WIKIDATA}}}}}
これでも同じ表示になります。明記時にモジュール呼び出しがない分、誤差程度に違いが出るかもしれません。
| label1=分類 | data1={{{分類|{{#invoke:Wikidata|getValue|P31|FETCH_WIKIDATA}}}}}
関数 | 引数 | 説明 |
---|---|---|
getValue |
|
値を内部リンクに加工して返します。{{#property:}}と基本的には同様の動作をしますが、ウィキデータにpreferred rankが設定されている場合はその値のみを返します。値の型がwikibase-entityidで指定されている場合に内部リンクを返しますが、そうでない場合は加工なく値を返します。 |
getRawValue |
|
値を加工なく返します。{{#property:}}と同様の動作をします。preferred rankが設定されている場合でも区別なく全ての値を返します。 |
getDateValue |
|
年月日情報を整形して返します。年月日の標準のフォーマットはday month yearです。第3引数に年(y)・月(m)・日(d)を与えることで指定のフォーマットに変更します。例えば、月日はmd、年のみはyを指定します。 |
getImage |
|
画像ファイル情報を整形して返します。例えば画像 (P18)、ジーンアトラス画像 (P692)のために利用します。値を画像毎に[[File:ファイル名|サイズ]] に整形して、セパレータで区切ります。ファイル種別がcommonsMediaでない場合はヌル文字を返します。
|
関数 | 引数 | 説明 |
---|---|---|
getQualifierValue |
|
値を内部リンクに加工して返します。値の型がwikibase-entityidで指定されている場合に内部リンクを返しますが、そうでない場合は加工なく値を返します。getValueは出典を返しません。 |
getRawQualifierValue |
|
値を加工なく返します。 |
getQualifierDateValue |
|
年月日情報を整形して返します。年月日の標準のフォーマットはday month yearです。第4引数に年(y)・月(m)・日(d)を与えることで指定のフォーマットに変更します。例えば、月日はmd、年のみはyを指定します。 |
詳細操作関数
[編集]取得するエンティティ・プロパティ・修飾子の値を配列、優先度高の1つ、出典付きなどフォーマットを細かく指定して返します。
分類 (P31)の値を出典付きで複数値を取得するのならば、以下のような指定が楽です。
{{#invoke:Wikidata|claim|P31|references=yes|list=、}}
関数 | 引数 | 説明 |
---|---|---|
claim |
|
値を細かな制御の下で返します。引数にプロパティIDのみを指定した場合はpreferred rankの高い1つの値を返します。引数idはエンティティIDを指定して他記事の情報を返します。引数qualifierは指定した修飾子の値を返します。引数listはセパレータを指定して複数の値をセパレータで区切って返します。引数referencesは出典情報を付与して値を返します。引数showerrorsはエラーが発生した場合にエラー文言を返します。引数defaultはエラーが発生した場合にエラー文言に代わり指定した文字列を返します。 |
構造体操作関数
[編集]エンティティの全データを構造体と見なしてデータを返します。構造体はキーバリュー型の子入れ連想配列、いわゆるJSON形式、になっています。最上段のキーから順に引数で指定することで、任意の値を返します。
関数 | 引数 | 説明 |
---|---|---|
ViewSomething |
|
構造体情報から任意の値を返します。引数に構造体のキーを上から順に指定して、ラベル・説明・出典・ウィキリンク・値を返します。 |
Dump |
|
構造体情報をJSONフォーマットで返します。引数はViewSomethingと同様です。構造体情報をデバッグするためだけに利用し、記事内で利用してはいけません。引数claimsを与えない場合はラベル・説明・出典・ウィキリンクなどの全ての情報を返します。 |
便利な機能
[編集]ダンプ機能
[編集]任意のページで、以下のコードを貼り付けてプレビューするとウィキデータのデータ構造が、ツリー形式で表示されます。接続されたウィキデータ・ページがない場合は、何も表示されません。開発・デバッグ目的で利用される関数です。
{{#invoke:Wikidata|Dump}}
例
任意のデータを取得
[編集]ViewSomething
関数を使うと、接続されたウィキデータ・ページから、任意のデータを取得できます。{{#invoke:Wikidata|ViewSomething|
の後に続けて、上のダンプ機能から得たツリー構造に従って、上から順番にひとつひとつデータの場所を指定していくことで、好みのデータを取得する事ができます。
たとえば以下のコードを大脳のページで使うと、http://www.bartleby.com/107/189.html という値が返されます。
{{#invoke:Wikidata|ViewSomething|claims|P1343|1|references|1|snaks|P854|1|datavalue|value}}
例
これは大脳の記事に接続されているウィキデータ・ページ(d:Q75855)において、「掲載している事典(P1343)」として登録されているアイテムの「情報源(references)」の「出典URL(P854)」に記入されている値です。
この複雑なコードは、ダンプ機能でツリー構造を見ながら、引用符 (" ")で囲まれている部分の文字を、順にひとつひとつ指定していくことで得られます。
{{#invoke:Wikidata|ViewSomething}}
- ツリー全体を表示します 例{{#invoke:Wikidata|ViewSomething|claims}}
- ツリーのクレーム部分を表示します{{#invoke:Wikidata|ViewSomething|claims|P1343}}
- 「掲載している事典(P1343)」の部分を表示します 例{{#invoke:Wikidata|ViewSomething|claims|P1343|1}}
- ひとつ目のデータを表示します{{#invoke:Wikidata|ViewSomething|claims|P1343|1|references}}
- 出典の部分を表示します{{#invoke:Wikidata|ViewSomething|claims|P1343|1|references|1}}
- ひとつ目のデータを表示します{{#invoke:Wikidata|ViewSomething|claims|P1343|1|references|1|snaks}}
- snaks (?) の部分を表示します{{#invoke:Wikidata|ViewSomething|claims|P1343|1|references|1|snaks|P854}}
- 「出典URL(P854)」の部分を表示します 例{{#invoke:Wikidata|ViewSomething|claims|P1343|1|references|1|snaks|P854|1}}
- ひとつ目のデータを表示します{{#invoke:Wikidata|ViewSomething|claims|P1343|1|references|1|snaks|P854|1|datavalue}}
- データ値の部分を表示します{{#invoke:Wikidata|ViewSomething|claims|P1343|1|references|1|snaks|P854|1|datavalue|value}}
- 値を表示します 例
出典付きデータ取得
[編集]{{#invoke:Wikidata|claim|P31|references=yes}}
- 分類 (P31)の優先度の高い値を1つだけ出典付きで表示します。{{#invoke:Wikidata|claim|P31|references=yes|list=、}}
- 分類 (P31)の複数の値を句点で区切って出典付きで表示します。
関連項目
[編集]- Template:Wikidata - 類似の機能を持った、別系統のテンプレート。名前が似ていてややこしいですが、別のものです
- モジュール:WikidataIB - ウィキデータを利用するInfoboxに最適化されたモジュール。