编辑“
Module:PrevalenceData
”
跳转到导航
跳转到搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
-- This module is specifically the Wikidata property "prevalence" (P1193), due -- to its particular need for ranges and area-based qualifiers, and the lack of -- support for these in the main Wikidata module. -- Completely untested. local p = {} --local wikidata = require( 'Module:Wikidata' ) p.main = function ( frame ) --local entity = mw.wikibase.getEntity( 'Q133087' ) local entity = mw.wikibase.getEntity( frame.args.qId or nil ) if entity then local prevalenceClaims = entity.claims and entity.claims.P1193 -- TODO: Get best claim, not always just the first one. -- Probably use getBestStatements. if prevalenceClaims then local pRange = '' -- Run through all prevalence claims for i, prevalenceClaim in pairs( prevalenceClaims ) do local prevalenceValue = prevalenceClaim.mainsnak.datavalue.value if ((prevalenceValue) and (prevalenceValue.lowerBound) and (prevalenceValue.upperBound)) then if string.len( pRange ) > 0 then -- Split multiple claims -- Maybe line break instead? pRange = pRange .. ', ' end local lowerBound = prevalenceValue.lowerBound * 100 local upperBound = prevalenceValue.upperBound * 100 pRange = pRange .. lowerBound if lowerBound ~= upperBound then pRange = pRange .. ' to ' .. upperBound end pRange = pRange .. '%' if prevalenceClaim.qualifiers then -- Qualifiers for prevalence are currently unstandardized. -- Keep guessing until the right one is found. local quals = prevalenceClaim.qualifiers.P276 or -- location prevalenceClaim.qualifiers.P1001 or -- applies to jurisdiction prevalenceClaim.qualifiers.P17 -- country if quals then pRange = pRange .. ' (' for k, qual in pairs(quals) do if k > 1 then pRange = pRange .. ', ' end local qualId = qual.datavalue.value[ 'numeric-id' ] local link = mw.wikibase.sitelink( 'Q' .. qualId ) local label = ({ -- Certain geographic locales might need a -- manual-ish override for labels. [ 132453 ] = 'developed world' })[ qualId ] or mw.wikibase.label( 'Q' .. qualId ) if link then label = '[[' .. link .. '|' .. label .. ']]' end pRange = pRange .. label end pRange = pRange .. ')' end end end --[[ -- Todo: References if prevalenceClaim.references then end ]]-- end return pRange end end return '' end return p
摘要:
请注意,您对Positive WiKi的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Positive WiKi:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
Module:PrevalenceData/doc
(
编辑
)
导航菜单
个人工具
未登录
讨论
贡献
创建账号
登录
命名空间
模块
讨论
English
查看
阅读
编辑源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息