Модуль:TestWikibase

Материал из Викиновостей, свободного источника новостей
Документация

>> Модуль:TestWikibase/doc

TestWikibase

For d:Q42.

{{#invoke:TestWikibase|getEntity|Q42}}
table
{{#invoke:TestWikibase|getEntityIdForTitle|Категория:Москва}}
Q649
{{#invoke:TestWikibase|getEntityUrl|Q42}}
https://www.wikidata.org/wiki/Special:EntityPage/Q42
{{#invoke:TestWikibase|label|Q42}}
Дуглас Адамс
{{#invoke:TestWikibase|getLabelWithLang|Q42}}Q420333
Дуглас Адамс ru
{{#invoke:TestWikibase|sitelink|Q42}}
{{#invoke:TestWikibase|description|Q2385722}}
исторический район города Риги
{{#invoke:TestWikibase|getDescriptionWithLang|Q42}}
английский писатель, драматург и сценарист, автор серии книг «Автостопом по галактике» ru

Q420333

{{#invoke:TestWikibase|renderSnak|Q42}}
Ошибка Lua на строке 43: attempt to index field 'P342' (a nil value).
{{#invoke:TestWikibase|renderSnak|Q42}}
Ошибка Lua на строке 43: attempt to index field 'P342' (a nil value).
{{#invoke:TestWikibase|resolvePropertyId|отец}}
P22
{{#invoke:TestWikibase|resolvePropertyId|Q42}}
{{#invoke:TestWikibase|entityGetLabel|Q42}}
Douglas AdamsQ420333
{{#invoke:TestWikibase|entity_getDescription|Q42}}
English author and humourist (1952–2001)
{{#invoke:TestWikibase|entity_getProperties|Q42}}
P2600 P1828 P949 P6173 P535 P1477 P40 P12582 P6351 P1015 P7195 P4326 P3341 P11345 P11496 P8287 P11686 P1670 P8179 P10387 P800 P2626 P10266 P1343 P1816 P8189 P2469 P244 P5365 P734 P1442 P742 P2638 P6119 P4782 P5882 P509 P1813 P9984 P8895 P5247 P1953 P3065 P5361 P5233 P10302 P214 P12098 P6620 P409 P7300 P2949 P4198 P9995 P906 P8292 P5357 P345 P5695 P1415 P1263 P11158 P9171 P4862 P434 P2168 P136 P2734 P166 P1284 P1273 P1368 P1005 P9807 P570 P3479 P5905 P5034 P1559 P6517 P213 P5008 P735 P7859 P25 P11249 P69 P4785 P11683 P5337 P551 P109 P4619 P5019 P1233 P3136 P4431 P5297 P5534 P4342 P7215 P349 P1266 P1890 P3368 P6298 P7284 P691 P3373 P3388 P7154 P7803 P27 P271 P9743 P2087 P1695 P2435 P22 P10069 P10832 P8125 P3846 P1617 P268 P6874 P10337 P1280 P9100 P396 P10291 P3222 P5284 P1411 P7084 P7902 P11120 P937 P646 P9918 P3145 P8504 P2722 P2048 P7029 P26 P8849 P3204 P1149 P101 P7704 P2607 P3192 P3630 P10553 P20 P2191 P6329 P2963 P9307 P8313 P4204 P4789 P9802 P947 P3845 P9965 P3142 P7214 P5033 P5340 P5570 P1417 P7763 P106 P172 P1006 P7400 P373 P7071 P7303 P2611 P1196 P485 P4985 P7502 P1712 P3348 P7661 P2373 P4438 P1412 P950 P3430 P2605 P1258 P7745 P108 P3154 P11180 P140 P4193 P3305 P569 P3913 P5587 P1375 P2188 P4657 P19 P11182 P7775 P3365 P11386 P2889 P6972 P6464 P2019 P6327 P910 P7369 P1303 P3417 P6394 P648 P1424 P856 P3762 P227 P7433 P31 P2604 P7293 P7699 P7700 P3984 P1207 P3106 P269 P4359 P6262 P866 P1315 P4768 P119 P1889 P21 P2387 P9251 P8385 P2850 P5404 P9196 P8851 P1728 P10227 P9247 P8408 P4839 P998 P7506 P2021 P2581 P103 P18 P2163 P6839 P1580 P463 P1340 P6868 P4666 P11194 P5408 P6886
{{#invoke:TestWikibase|entity_getBestStatements|Q42}}
{{#invoke:TestWikibase|entity_formatPropertyValues|Q42}}
Ошибка Lua на строке 112: attempt to index field '?' (a nil value).
{{#invoke:TestWikibase|entity_claimRanks|Q42}}
{{#invoke:TestWikibase|getValues|Q16702061|P31}}
деревня
--[[
Docs: https://www.mediawiki.org/wiki/Extension:Wikibase_Client/Lua
--]]

local tW={};

function tW.getEntity(frame)
	return mw.wikibase.getEntity(frame.args[1])
end	

function tW.getEntityIdForTitle(frame)
 return mw.wikibase.getEntityIdForTitle(frame.args[1])
end
	
function tW.getEntityUrl(frame)
	return mw.wikibase.getEntityUrl(frame.args[1])
end	
	
function tW.label(frame)
 return mw.wikibase.label(frame.args[1])
end

function tW.getLabelWithLang(frame)
 local name, prefix = mw.wikibase.getLabelWithLang( frame.args[1])
 return name .. "  " .. prefix
end	

function tW.sitelink(frame)
 return mw.wikibase.sitelink(frame.args[1])
end	

function tW.description(frame)
 return mw.wikibase.description(frame.args[1])
end	

function tW.getDescriptionWithLang(frame)
 local name, prefix = mw.wikibase.getDescriptionWithLang( frame.args[1])
 return name .. "  " .. prefix
end	

function tW.renderSnak(frame)
 local entity = mw.wikibase.getEntityObject(frame.args[1])
 local snak = entity['claims']['P342'][1]['qualifiers']['P342'][1]
 return mw.wikibase.renderSnak( snak ) 
end	

function tW.formatValue(frame)
 local entity = mw.wikibase.getEntityObject(frame.args[1])
 local snak = entity['claims']['P342'][1]['qualifiers']['P342'][1]
 return mw.wikibase.formatValue( snak )
end	

function tW.resolvePropertyId(frame)
 return mw.wikibase.resolvePropertyId(frame.args[1])
end		

function tW.getPropertyOrder(frame)
 local a={}
 a=mw.wikibase.getPropertyOrder()
 for i=1,3 do return a[i] end
end	

function tW.entityGetLabel(frame)
 local a={}	 
 a=mw.wikibase.getEntityObject('Q42')
 return a:getLabel('de')
end			

function tW.entity_getDescription(frame)
 local a={}	 
 a=mw.wikibase.getEntityObject('Q42')
 return a:getDescription('en')
end			

function tW.entity_getProperties(frame)
 local a={}	 
 a=mw.wikibase.getEntityObject('Q42')
 local b={}
 b = a:getProperties()
 local i=1
 local s=""
 while b[i] do
 s=s .. b[i] .. " "
 i=i+1
 end
 return s
end			

function tW.entity_getBestStatements(frame)
 local a={}	 
 a=mw.wikibase.getEntityObject('Q42')
 local b={}
 b = a:getBestStatements('P906')
 local s=""
 local i=1
 while b[i] do
  local j=1
  while b[i][j] do 
   s=s..b[i][j].." " 
   j=j+1	
  end
  i=i+1
 end
 return s
end			

function tW.entity_formatPropertyValues(frame)
 local a={}	 
 a=mw.wikibase.getEntityObject('Q42')
 local b={}
 b = a:formatPropertyValues('P31', { mw.wikibase.entity.claimRanks.RANK_NORMAL })
 local s=b[1][1] 
 return s
end			

function tW.entity_claimRanks(frame)
 local a={}	 
 a=mw.wikibase.getEntityObject('Q42')
 local b={}
 b = a:formatPropertyValues('P271',{mw.wikibase.entity.claimRanks.RANK_NORMAL})
 local i=1
 while b[i] do
 	local j=1
 	print (i, " ", j, " ")
 	while b[i][j] do
 		print (i, " ", j, " ")
 		j=j+1
 	end	
 end	
end				

function tW.getValues(frame)
 local entity = mw.wikibase.getEntity(frame.args[1])
 local values = {}
 return entity:formatPropertyValues(frame.args[2],mw.wikibase.entity.claimRanks).value
end

return tW