コンテンツにスキップ

モジュール:Wikidata utilities/doc

提供:ウィキボヤージュ

このページは、モジュール:Wikidata utilitiesの説明文を記述するページです。

ウィキデータのデータへのアクセスを平易化するモジュール。

ウィキデータでのバージョン: 2023-12-26 問題なし

使用状況

[編集]

このモジュールを使用しているモジュールは以下の通りです:

内部変数

[編集]
local catTable

使用されたウィキデータプロパティがこの変数にテーブルとして保存されます。

関数

[編集]
  • パラメータ
    • anEntitytablestring):ウィキデータエンティティのオブジェクトかウィキデータID
    • idstring):ウィキデータID
    • pstring):ウィキデータのプロパティ
    • countnumbernil):返り値の最大数。nilの場合には全ての値が返ります。
function wu.getEntity( id )

mw.wikibase.getEntity( id )と似ていますが、id, entity, wrongQualifierの3つの返り値を持ちます。ウィキデータ内に指定されたIDが存在するかどうかを確認し、その結果に応じてwrongQualifiertrueまたはfalseのブール値で返ります。IDのエンティティはentityに入ります。

function wu.getEntityId( id )

id, entity, wrongQualifierを返します。ウィキデータ内に指定されたIDが存在するかどうかを確認し、その結果に応じてwrongQualifiertrueまたはfalseのブール値で返ります。成功した際にはentityからIDが返りますが、IDが誤っている場合空文字列が返されます。

function wu.getLabel( entity, lang, noFallback )

entityに与えられたエンティティオブジェクトまたはウィキデータIDについて、そのラベルを、指定されている場合はlangの言語、そうでなければウィキのコンテンツの言語で返します。noFallbacktrueのとき、ラベルは言語が指定されている場合にのみ返されます。

function wu.getAliases( entity, lang )

ウィキデータエンティティまたはウィキデータIDをentityに渡すと、その別名の配列を返します。別名がない場合、テーブルは空となります。言語が見つからない場合ウィキの言語が代わりに使用されます。

function wu.getSitelink( entity, globalSiteId )

entity(ウィキデータエンティティまたはウィキデータID)に接続されている、globalSiteIdで指定されたウィキ(例:enwikijawikivoyage)のページ名を返します。指定されたウィキに接続されたページがない場合、nilを返します。

function wu.getCheckedSitelink( entity, globalSiteId )

wikiglobalSiteIdで指定されたウィキでエンティティに接続されているページのタイトルと、2番目の値にそれが転送ページかどうか(trueまたはfalse)を返します。

function wu.getFilteredSitelink( entity, globalSiteId )

wikiglobalSiteIdで指定されたウィキのページタイトルを返しますが、これが転送ページならばnilを返します。

function wu.getValue( entity, p )

entitypropertyに入っている値の内、最初のものを文字列またはテーブルとして返します。エラーの場合は空文字列が返ります。

function wu.getId( entity, p )

entitypropertyに入っている値がウィキデータのアイテムへのリンクの場合、その最初の値のウィキデータ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は値についている修飾子のプロパティ(stringP...)です。与えられた修飾子の値(ウィキデータ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, ... )

各文の値と修飾子の入ったテーブルを含む配列を返します。

  • valuestablenil):必要な値のテーブル。すべて取得する場合はnilを指定します。
  • qualifierstablestringnil):可能なすべての修飾子プロパティを選択する場合はnil、単一の修飾子プロパティの場合は文字列、複数ならテーブルを渡します。多くとも、最初のcount文が返されます。
  • qualifierstablenil):必要な値のテーブル。すべて取得する場合はnilを指定します。

labelFctfunction)は修飾子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 )

使用されたすべてのウィキデータプロパティについて、対応するカテゴリリンクの文字列を返します。