このモジュールは、{{#property: }}
マジックワードではアクセスできないウィキデータのプロパティを利用するための関数です。
現在ウィキデータから情報を取得するラッパー関数やモジュール用の関数が複数存在します。当モジュールを使用する代わりに、{{Wikidata}}を使用できないか検討してください。
コード | 返す値 |
---|---|
{{#invoke:wikibase|capital}} | name of the "capital" property as listed in the Wikidata item associated with the current page, displayed as a link |
{{#invoke:wikibase|commonslink}} | name of the Wikimedia Commons category, as listed in the Wikidata item associated with the current page |
{{#invoke:wikibase|disambig}} | true if the Wikidata item corresponds to a Wikipedia disambiguation pagefalse if it does not |
{{#invoke:wikibase|flag}} | filename listed under the "flag" property in the Wikidata item associated with the current page |
{{#invoke:wikibase|id}} | ID number of the Wikidata item associated with the current page |
{{#invoke:wikibase|idLink}} | ID number of the Wikidata item associated with the current page, in the form of a link to that item |
{{#invoke:wikibase|label}} | label of the Wikidata item associated with the current page |
{{#invoke:wikibase|latitude}} | decimal latitude as listed in the Wikidata item associated with the current page |
{{#invoke:wikibase|longitude}} | decimal longitude as listed in the Wikidata item associated with the current page |
{{#invoke:wikibase|page|Qxxxxx}} | name of the local page associated with Wikidata item number Qxxxxx |
{{#invoke:wikibase|sitelink|enwiki}} | name of the English Wikipedia page name, as listed in the Wikidata item associated with the current pageenwiki can be replaced with other language codes to obtain corresponding page names for Wikipedia or Wikivoyage in other languages |
使用状況
[編集]このモジュールを使用しているテンプレートは以下の通りです:
関連項目
[編集]この解説は、モジュール:Wikibase/docから呼び出されています。 (編集 | 履歴) 編集者は、このモジュールをサンドボックス (作成 | 複製)とテストケース (作成)で試すことができます。(解説) このモジュールのサブページ一覧。 |
-- Module:Wikibase function getId( id ) if not mw.wikibase then return "wikibase module not found" end if id then return id end entity = mw.wikibase.getEntityObject() if not entity then return nil end return entity.id end -- Returns the link corresponding to the code provided. function sitelink(dbname) if dbname==nil or dbname=='' then return '' end local sl = mw.wikibase.getEntityObject() if sl and sl.sitelinks[dbname] then return sl.sitelinks[dbname].title end return '' end -- Returns the corresponding geographical coordinates of the item function coords(typ,fallback) if fallback~=nil and fallback~='' and string.match(fallback, '^<%!%-%-.*%-%->$')==nil then return fallback end local item = mw.wikibase.getEntityObject() if item~=nil and item.claims~=nil then local coords = item.claims.P625 if coords~=nil and coords[0]~=nil and coords[1]==nil then return coords[0].mainsnak.datavalue.value[typ] end end return '' end -- Returns the most updated info from a series of statements function updated(item,prop,frame) if item~=nil then local claims = item.claims if claims~=nil and claims[prop]~=nil then for index,claim in pairs(claims[prop]) do local qual = claim.qualifiers if qual==nil or qual.P582==nil then -- p582 è la data di fine, significa che non è il valore attuale local val = claim.mainsnak.datavalue.value if val['numeric-id']~=nil then local id = 'Q'..val['numeric-id'] local sl = mw.wikibase.sitelink(id) local lb = mw.wikibase.label(id) if sl~=nil and sl~='' then return frame:preprocess('[['..sl..'|'..lb..']]') end return lb end return val end end end end return '' end local p = {} -- Returns the ID number of the data item linked to the current page. function p.id(frame) id = getId(frame.args[1]) if id == nil then return "(no element found)" end return id end -- Returns the ID number of the data item linked to the current page in the form of a link to Wikidata. function p.idLink(frame) id = getId(frame.args[1]) if id == nil then return "(no element found)" end return "[[d:" .. id .. "|" .. string.upper(id) .. "]]" end -- Returns the label of the data item. function p.label(frame) id = getId(frame.args[1]) if id == nil then return "(no element found)" end return mw.wikibase.label( id ) end -- Returns the local page of the data item provided. function p.page(frame) id = getId(frame.args[1]) if id == nil then return "(no element found)" end return mw.wikibase.sitelink( id ) end -- Returns the link corresponding to the code provided. function p.sitelink(frame) return sitelink(frame.args.dbname or frame.args[1]) end -- Returns the corresponding link to Wikipedia in English. function p.enwikilink(frame) if frame.args[1]~=nil and frame.args[1]~='' then return frame.args[1] end local sl = sitelink('enwiki') if sl~=nil and sl~='' then return sl end local t = mw.title.getCurrentTitle().text if t~=nil and t~='' then return t end return '' end -- Returns the Commons category of the data item. function p.commonslink(frame) if frame.args[1]~=nil and frame.args[1]~='' then return 'Category:'..frame.args[1] end local item = mw.wikibase.getEntityObject() if item~=nil and item.claims~=nil then local cat = item.claims.P373 if cat~=nil and cat[0]~=nil and cat[1]==nil and cat[0].mainsnak.datavalue.value~=nil then return 'Category:'..(cat[0].mainsnak.datavalue.value) end end local t = mw.title.getCurrentTitle().text if t~=nil and t~='' then return 'Category:'..t end return '' end -- Returns the name of the capital or main city. function p.capital(frame) if frame.args[1]~=nil and frame.args[1]~='' then return frame.args[1] end local item = mw.wikibase.getEntityObject() return updated(item,'P36',frame) end function p.capoluogo(frame) return p.capital(frame) end function p.valuta(frame) if frame.args[1]~=nil and frame.args[1]~='' then return frame.args[1] end local item = mw.wikibase.getEntityObject() return updated(item,'P38',frame) end -- GET FLAG -- P41 thumb image function p.flag(frame) -- if frame.args[1]~=nil and frame.args[1]~='' then -- return frame.args[1] -- end -- local title="" - not using title local arg1 = frame.args[1] local item = mw.wikibase.getEntityObject(arg1) if item == nil then return end local flag = updated(item,'P41',frame) -- local title = mw.wikibase.sitelink(arg1) if flag ~= nil and flag ~= '' then return flag -- return "[[ファイル:" .. flag .. "| thumb | 200px | " .. title .. "]]" end end -- Restituisce l'etichetta dell'elemento rappresentante la bandiera relativa all'elemento dell'articolo function p.bandiera_titolo(frame) local item = mw.wikibase.getEntityObject() if item~=nil then local claims = item.claims if claims~=nil and claims.P163~=nil and claims.P163[0]~=nil and claims.P163[1]==nil then return mw.wikibase.label('Q'..claims.P163[0].mainsnak.datavalue.value['numeric-id']) end end return mw.title.getCurrentTitle().text..' - Bandiera' end -- Restituisce la latitudine corrispondente all'articolo. function p.latitude(frame) return coords('latitude',frame.args[1]) end -- Restituisce la longitudine corrispondente all'articolo. function p.longitude(frame) return coords('longitude',frame.args[1]) end function p.disambig(frame) local item = mw.wikibase.getEntityObject() if item~=nil and item.descriptions~=nil then local desc = item.descriptions.en if desc~=nil and desc.value~=nil and desc.value:lower():find('disambiguation page')~=nil then return true end end return false end function p.instanceof(arg) arg = tonumber(arg.args[1] or arg) if item and item.claims and item.claims.P31 then local claims = item.claims.P31 for index, claim in pairs(claims) do if claim.mainsnak and claim.mainsnak.datavalue then local val = claim.mainsnak.datavalue.value if val and val['numeric-id'] and arg == val['numeric-id'] then return true end end end end return false end return p