وحدة:Wikibase
هذه الوحدة تم نسخها من المثال من صفحة توثيق الوحدة في mw:Extension:Wikibase Client/Lua. ويجب أن تبقى متسقة مع تلك الصفحة.
الاستخدام
- معرف
{{#invoke: Wikibase | id }}
- تسمية
{{#invoke: Wikibase | label }}
{{#invoke: Wikibase | label | entity id (Q# or P#) }}
- وصف
{{#invoke: Wikibase | description }}
{{#invoke: Wikibase | description | entity id (Q# or P#) }}
- صفحة
{{#invoke: Wikibase | page }}
{{#invoke: Wikibase | page | item id (Q#) }}
- نوع البيانات
{{#invoke: Wikibase | datatype | property id (P#) }}
أمثلة
معرف
{{#invoke:Wikibase | id }}
ينتج ← خطأ: الوظيفة "id" غير موجودة.
تسمية
{{#invoke:Wikibase | label }}
ينتج ← خطأ: الوظيفة "label" غير موجودة.{{#invoke:Wikibase | label | Q132689 }}
ينتج ← خطأ: الوظيفة "label" غير موجودة.{{#invoke:Wikibase | label | P31 }}
ينتج ← خطأ: الوظيفة "label" غير موجودة.
وصف
{{#invoke:Wikibase | description }}
ينتج ← خطأ: الوظيفة "description" غير موجودة.{{#invoke:Wikibase | description | Q132689 }}
ينتج ← خطأ: الوظيفة "description" غير موجودة.{{#invoke:Wikibase | description | P31 }}
ينتج ← خطأ: الوظيفة "description" غير موجودة.
صفحة
{{#invoke:Wikibase | page }}
ينتج ← خطأ: الوظيفة "page" غير موجودة.{{#invoke:Wikibase | page | Q132689 }}
ينتج ← خطأ: الوظيفة "page" غير موجودة.
نوع البيانات
- طالع أيضًا: wikidata:Help:Data type
- طالع أيضًا: wikidata:Special:ListDatatypes
⧼datatypes-type-commonsMedia⧽: [[d:Property:P18|
- عنصر قائمة منقطة
- تحويل قالب:تسمية
طالع عدد استخدامات القالب في المقالات (من هنا)
(P18)]]
{{#invoke:Wikibase | datatype | P18 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.{{#invoke:Wikibase | datatype | Property:P18 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
⧼datatypes-type-globe-coordinate⧽: [[d:Property:P625|
- عنصر قائمة منقطة
- تحويل قالب:تسمية
طالع عدد استخدامات القالب في المقالات (من هنا)
(P625)]]
{{#invoke:Wikibase | datatype | P625 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.{{#invoke:Wikibase | datatype | Property:P625 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
⧼datatypes-type-wikibase-item⧽: [[d:Property:P6|
- عنصر قائمة منقطة
- تحويل قالب:تسمية
طالع عدد استخدامات القالب في المقالات (من هنا)
(P6)]]
{{#invoke:Wikibase | datatype | P6 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.{{#invoke:Wikibase | datatype | Property:P6 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
⧼datatypes-type-wikibase-property⧽: [[d:Property:P1647|
- عنصر قائمة منقطة
- تحويل قالب:تسمية
طالع عدد استخدامات القالب في المقالات (من هنا)
(P1647)]]
{{#invoke:Wikibase | datatype | P1647 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.{{#invoke:Wikibase | datatype | Property:P1647 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
⧼datatypes-type-string⧽: [[d:Property:P225|
- عنصر قائمة منقطة
- تحويل قالب:تسمية
طالع عدد استخدامات القالب في المقالات (من هنا)
(P225)]]
{{#invoke:Wikibase | datatype | P225 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.{{#invoke:Wikibase | datatype | Property:P225 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
⧼datatypes-type-monolingualtext⧽: [[d:Property:P1448|
- عنصر قائمة منقطة
- تحويل قالب:تسمية
طالع عدد استخدامات القالب في المقالات (من هنا)
(P1448)]]
{{#invoke:Wikibase | datatype | P1448 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.{{#invoke:Wikibase | datatype | Property:P1448 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
⧼datatypes-type-quantity⧽: [[d:Property:P1082|
- عنصر قائمة منقطة
- تحويل قالب:تسمية
طالع عدد استخدامات القالب في المقالات (من هنا)
(P1082)]]
{{#invoke:Wikibase | datatype | P1082 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.{{#invoke:Wikibase | datatype | Property:P1082 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
⧼datatypes-type-time⧽: [[d:Property:P569|
- عنصر قائمة منقطة
- تحويل قالب:تسمية
طالع عدد استخدامات القالب في المقالات (من هنا)
(P569)]]
{{#invoke:Wikibase | datatype | P569 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.{{#invoke:Wikibase | datatype | Property:P569 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
⧼datatypes-type-url⧽: [[d:Property:P856|
- عنصر قائمة منقطة
- تحويل قالب:تسمية
طالع عدد استخدامات القالب في المقالات (من هنا)
(P856)]]
{{#invoke:Wikibase | datatype | P856 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.{{#invoke:Wikibase | datatype | Property:P856 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
⧼datatypes-type-math⧽: [[d:Property:P2534|
- عنصر قائمة منقطة
- تحويل قالب:تسمية
طالع عدد استخدامات القالب في المقالات (من هنا)
(P2534)]]
{{#invoke:Wikibase | datatype | P2534 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.{{#invoke:Wikibase | datatype | Property:P2534 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
⧼datatypes-type-external-id⧽: [[d:Property:P212|
- عنصر قائمة منقطة
- تحويل قالب:تسمية
طالع عدد استخدامات القالب في المقالات (من هنا)
(P212)]]
{{#invoke:Wikibase | datatype | P212 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.{{#invoke:Wikibase | datatype | Property:P212 }}
ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
local p = {} function p.wikidatacheck(frame) local pframe = frame:getParent() local config = frame.args -- the arguments passed BY the template, in the wikitext of the template itself local args = pframe.args -- the arguments passed TO the template, in the wikitext that transcludes the template local property = config.property local value = config.value or "" local catbase = config.category local namespaces = config.namespaces local nocatsame = config.nocatsame or "" local ok = false -- one-way flag to check if we're in a good namespace local ns = mw.title.getCurrentTitle().namespace for v in mw.text.gsplit( namespaces, ",", true) do if tonumber(v) == ns then ok = true end end if not ok then -- not in one of the approved namespaces return "" end local entity = mw.wikibase.getEntityObject() if not entity then -- no Wikidata item return "[[Category:" .. catbase .. " not in Wikidata]]" end if value == "" then return nil -- Using Wikidata end local claims = entity.claims or {} local hasProp = claims[property] if not hasProp then -- no claim of that property return "[[Category:" .. catbase .. " not in Wikidata]]" -- bad. Bot needs to add the property end for i, v in ipairs(hasProp) do -- Now we try to iterate over all possible values? propValue = (v.mainsnak.datavalue or {}).value if propValue == value then if nocatsame == "" then return "[[Category:" .. catbase .. " same as Wikidata]]" -- yay! else return nil -- if nocatsame, the "same as" category is not added end end end return "[[Category:" .. catbase .. " different from Wikidata]]" -- needs human review :( end return p