モジュール:Wikidata utilities/doc
このページは、モジュール:Wikidata utilitiesの説明文を記述するページです。
ウィキデータのデータへのアクセスを平易化するモジュール。
使用状況
[編集]このモジュールを使用しているモジュールは以下の通りです:
内部変数
[編集]local catTable
使用されたウィキデータプロパティがこの変数にテーブルとして保存されます。
関数
[編集]- パラメータ
anEntity
(table
、string
):ウィキデータエンティティのオブジェクトかウィキデータIDid
(string
):ウィキデータIDp
(string
):ウィキデータのプロパティcount
(number
、nil
):返り値の最大数。nil
の場合には全ての値が返ります。
function wu.getEntity( id )
mw.wikibase.getEntity( id )
と似ていますが、id, entity, wrongQualifier
の3つの返り値を持ちます。ウィキデータ内に指定されたIDが存在するかどうかを確認し、その結果に応じてwrongQualifier
がtrue
またはfalse
のブール値で返ります。IDのエンティティはentity
に入ります。
function wu.getEntityId( id )
id, entity, wrongQualifier
を返します。ウィキデータ内に指定されたIDが存在するかどうかを確認し、その結果に応じてwrongQualifier
がtrue
またはfalse
のブール値で返ります。成功した際にはentity
からIDが返りますが、IDが誤っている場合空文字列が返されます。
function wu.getLabel( entity, lang, noFallback )
entity
に与えられたエンティティオブジェクトまたはウィキデータIDについて、そのラベルを、指定されている場合はlang
の言語、そうでなければウィキのコンテンツの言語で返します。noFallback
がtrue
のとき、ラベルは言語が指定されている場合にのみ返されます。
function wu.getAliases( entity, lang )
ウィキデータエンティティまたはウィキデータIDをentity
に渡すと、その別名の配列を返します。別名がない場合、テーブルは空となります。言語が見つからない場合ウィキの言語が代わりに使用されます。
function wu.getSitelink( entity, globalSiteId )
entity
(ウィキデータエンティティまたはウィキデータID)に接続されている、globalSiteId
で指定されたウィキ(例:enwiki
、jawikivoyage
)のページ名を返します。指定されたウィキに接続されたページがない場合、nil
を返します。
function wu.getCheckedSitelink( entity, globalSiteId )
wikiglobalSiteId
で指定されたウィキでエンティティに接続されているページのタイトルと、2番目の値にそれが転送ページかどうか(true
またはfalse
)を返します。
function wu.getFilteredSitelink( entity, globalSiteId )
wikiglobalSiteId
で指定されたウィキのページタイトルを返しますが、これが転送ページならばnil
を返します。
function wu.getValue( entity, p )
entity
のproperty
に入っている値の内、最初のものを文字列またはテーブルとして返します。エラーの場合は空文字列が返ります。
function wu.getId( entity, p )
entity
のproperty
に入っている値がウィキデータのアイテムへのリンクの場合、その最初の値のウィキデータIDを文字列として返します。エラーなら空文字列を返します。
function wu.getValues( entity, p, count )
プロパティp
の値のうち、最初からcount
番目までのものをテーブルとして返します。エラーなら空テーブルを返します。
function wu.getIds( entity, p, count )
プロパティp
の値のうち、最初からcount
番目までのウィキデータIDをテーブルとして返します。エラーなら空テーブルを返します。
function wu.getValuesByLang( entity, p, count, lang )
設定された言語lang
について、最初からcount
番目までの値をテーブルとして返します。エラーなら空テーブルを返します。プロパティp
は、単一言語のtext型でなければなりません。
function wu.getMonolingualValues( entity, p )
全言語での値を連想配列として返します。エラーなら空テーブルを返します。配列の中身は、キーが言語名、値がその言語の値の最初のものです。
- 例:
wu.getMonolingualValues( 'Q47429618', 'P6375' )
table#1 { ["ar"] = "٢ شارع قصر النيل ، ميدان التحرير ، القاهرة", ["en"] = "2 Kasr El Nil St., El Tahrir Sq., Cairo", }
function wu.getValuesByQualifier( entity, p, qualifierP, defaultId )
プロパティp
のすべての値を修飾子別に取得し、連想配列として返します。エラーなら空テーブルを返します。qualifierP
は値についている修飾子のプロパティ(string
;P...
)です。与えられた修飾子の値(ウィキデータID)が、返り値の連想配列内のキーとなっています。修飾子の値が見つからない場合、指定されていればdefaultId
が、そうでなければunknown
が使用されます。特定のキーに対してはその最初の値が代入され、2つ目以降の値は無視されます。
- 例:
wu.getValuesByQualifier( 'Q47429618', 'P856', 'P407' )
table#1 { ["Q1860"] = "https://www.steigenberger.com/en/hotels/all-hotels/egypt/cairo/steigenberger-el-tahrir-cairo", ["Q188"] = "https://www.steigenberger.com/hotels/alle-hotels/aegypten/kairo/steigenberger-el-tahrir-cairo", }
function wu.getValuesWithQualifiers( entity, p, values, qualifiers, references, count, labelFct, ... )
各文の値と修飾子の入ったテーブルを含む配列を返します。
values
(table
、nil
):必要な値のテーブル。すべて取得する場合はnil
を指定します。qualifiers
(table
、string
、nil
):可能なすべての修飾子プロパティを選択する場合はnil
、単一の修飾子プロパティの場合は文字列、複数ならテーブルを渡します。多くとも、最初のcount
文が返されます。qualifiers
(table
、nil
):必要な値のテーブル。すべて取得する場合はnil
を指定します。
labelFct
(function
)は修飾子IDをラベルに転送します。...
はこの関数がとる追加パラメータで、Q-IDの後に渡されます。
- 例:
wu.getValuesWithQualifiers( 'Q183', 'P85' )
table#1 { table#2 { ["P51"] = table#3 { "National anthem of Germany - U.S. Army 1st Armored Division Band.ogg", }, ["P51-type"] = "string", ["P805"] = table#4 { "Q4122341", }, ["P805-type"] = "wikibase-entityid", ["sort1"] = 1, ["sort2"] = 1, ["value"] = "Q44042", ["value-type"] = "wikibase-entityid", }, }
wu.getValuesWithQualifiers( 'Q183', 'P85', nil, nil, nil, nil, wu.getLabel, 'en' )
table#1 { table#2 { ["P51"] = table#3 { "National anthem of Germany - U.S. Army 1st Armored Division Band.ogg", }, ["P51-type"] = "string", ["P805"] = table#4 { "National Anthem of Germany", }, ["P805-type"] = "wikibase-entityid", ["sort1"] = 1, ["sort2"] = 1, ["value"] = "ドイツの歌", ["value-type"] = "wikibase-entityid", }, }
function wu.getDateFromTime( t )
指定された日付・時刻を YYYY-MM-DD の形式で返します。
- 例:
wu.getDateFromTime( '+1949-05-29T00:00:00Z' )
1949-05-29
function wu.getLastedit( lastEdit, statements )
情報源の閲覧日(P813)から最終更新日を取得します。
function wu.getCategories( formatStr )
使用されたすべてのウィキデータプロパティについて、対応するカテゴリリンクの文字列を返します。