وحدة: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" غير موجودة.

نوع البيانات

⧼datatypes-type-commonsMedia⧽: [[d:Property:P18|

  • عنصر قائمة منقطة
  1. تحويل قالب:تسمية
Light Bulb Icon.svg
هذه تحويلة لقالب:
فضلًا اطلب حذف هذه التحويلة حذفًا سريعًا إن لم تكن ضرورية.
طالع عدد استخدامات القالب في المقالات (من هنا)

(P18)]]

  • {{#invoke:Wikibase | datatype | P18 }} ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
  • {{#invoke:Wikibase | datatype | Property:P18 }} ينتج ← خطأ: الوظيفة "datatype" غير موجودة.

⧼datatypes-type-globe-coordinate⧽: [[d:Property:P625|

  • عنصر قائمة منقطة
  1. تحويل قالب:تسمية
Light Bulb Icon.svg
هذه تحويلة لقالب:
فضلًا اطلب حذف هذه التحويلة حذفًا سريعًا إن لم تكن ضرورية.
طالع عدد استخدامات القالب في المقالات (من هنا)

(P625)]]

  • {{#invoke:Wikibase | datatype | P625 }} ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
  • {{#invoke:Wikibase | datatype | Property:P625 }} ينتج ← خطأ: الوظيفة "datatype" غير موجودة.

⧼datatypes-type-wikibase-item⧽: [[d:Property:P6|

  • عنصر قائمة منقطة
  1. تحويل قالب:تسمية
Light Bulb Icon.svg
هذه تحويلة لقالب:
فضلًا اطلب حذف هذه التحويلة حذفًا سريعًا إن لم تكن ضرورية.
طالع عدد استخدامات القالب في المقالات (من هنا)

(P6)]]

  • {{#invoke:Wikibase | datatype | P6 }} ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
  • {{#invoke:Wikibase | datatype | Property:P6 }} ينتج ← خطأ: الوظيفة "datatype" غير موجودة.

⧼datatypes-type-wikibase-property⧽: [[d:Property:P1647|

  • عنصر قائمة منقطة
  1. تحويل قالب:تسمية
Light Bulb Icon.svg
هذه تحويلة لقالب:
فضلًا اطلب حذف هذه التحويلة حذفًا سريعًا إن لم تكن ضرورية.
طالع عدد استخدامات القالب في المقالات (من هنا)

(P1647)]]

  • {{#invoke:Wikibase | datatype | P1647 }} ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
  • {{#invoke:Wikibase | datatype | Property:P1647 }} ينتج ← خطأ: الوظيفة "datatype" غير موجودة.

⧼datatypes-type-string⧽: [[d:Property:P225|

  • عنصر قائمة منقطة
  1. تحويل قالب:تسمية
Light Bulb Icon.svg
هذه تحويلة لقالب:
فضلًا اطلب حذف هذه التحويلة حذفًا سريعًا إن لم تكن ضرورية.
طالع عدد استخدامات القالب في المقالات (من هنا)

(P225)]]

  • {{#invoke:Wikibase | datatype | P225 }} ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
  • {{#invoke:Wikibase | datatype | Property:P225 }} ينتج ← خطأ: الوظيفة "datatype" غير موجودة.

⧼datatypes-type-monolingualtext⧽: [[d:Property:P1448|

  • عنصر قائمة منقطة
  1. تحويل قالب:تسمية
Light Bulb Icon.svg
هذه تحويلة لقالب:
فضلًا اطلب حذف هذه التحويلة حذفًا سريعًا إن لم تكن ضرورية.
طالع عدد استخدامات القالب في المقالات (من هنا)

(P1448)]]

  • {{#invoke:Wikibase | datatype | P1448 }} ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
  • {{#invoke:Wikibase | datatype | Property:P1448 }} ينتج ← خطأ: الوظيفة "datatype" غير موجودة.

⧼datatypes-type-quantity⧽: [[d:Property:P1082|

  • عنصر قائمة منقطة
  1. تحويل قالب:تسمية
Light Bulb Icon.svg
هذه تحويلة لقالب:
فضلًا اطلب حذف هذه التحويلة حذفًا سريعًا إن لم تكن ضرورية.
طالع عدد استخدامات القالب في المقالات (من هنا)

(P1082)]]

  • {{#invoke:Wikibase | datatype | P1082 }} ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
  • {{#invoke:Wikibase | datatype | Property:P1082 }} ينتج ← خطأ: الوظيفة "datatype" غير موجودة.

⧼datatypes-type-time⧽: [[d:Property:P569|

  • عنصر قائمة منقطة
  1. تحويل قالب:تسمية
Light Bulb Icon.svg
هذه تحويلة لقالب:
فضلًا اطلب حذف هذه التحويلة حذفًا سريعًا إن لم تكن ضرورية.
طالع عدد استخدامات القالب في المقالات (من هنا)

(P569)]]

  • {{#invoke:Wikibase | datatype | P569 }} ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
  • {{#invoke:Wikibase | datatype | Property:P569 }} ينتج ← خطأ: الوظيفة "datatype" غير موجودة.

⧼datatypes-type-url⧽: [[d:Property:P856|

  • عنصر قائمة منقطة
  1. تحويل قالب:تسمية
Light Bulb Icon.svg
هذه تحويلة لقالب:
فضلًا اطلب حذف هذه التحويلة حذفًا سريعًا إن لم تكن ضرورية.
طالع عدد استخدامات القالب في المقالات (من هنا)

(P856)]]

  • {{#invoke:Wikibase | datatype | P856 }} ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
  • {{#invoke:Wikibase | datatype | Property:P856 }} ينتج ← خطأ: الوظيفة "datatype" غير موجودة.

⧼datatypes-type-math⧽: [[d:Property:P2534|

  • عنصر قائمة منقطة
  1. تحويل قالب:تسمية
Light Bulb Icon.svg
هذه تحويلة لقالب:
فضلًا اطلب حذف هذه التحويلة حذفًا سريعًا إن لم تكن ضرورية.
طالع عدد استخدامات القالب في المقالات (من هنا)

(P2534)]]

  • {{#invoke:Wikibase | datatype | P2534 }} ينتج ← خطأ: الوظيفة "datatype" غير موجودة.
  • {{#invoke:Wikibase | datatype | Property:P2534 }} ينتج ← خطأ: الوظيفة "datatype" غير موجودة.

⧼datatypes-type-external-id⧽: [[d:Property:P212|

  • عنصر قائمة منقطة
  1. تحويل قالب:تسمية
Light Bulb Icon.svg
هذه تحويلة لقالب:
فضلًا اطلب حذف هذه التحويلة حذفًا سريعًا إن لم تكن ضرورية.
طالع عدد استخدامات القالب في المقالات (من هنا)

(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