انتقل إلى المحتوى

وحدة:WikidataIB/شرح

من ويكيبيديا، الموسوعة الحرة

صممت هذه الوحدة لتُستخدم داخل {{infobox}} (حيث ترمز الحروف WikidataIB إلى "صندوق المعلومات"، ومن هنا جاء الاسم)، أو داخل قوالب أخرى، وهي مصممة بشكل خاص لتسمح لمحرري المقالة (على عكس محرري صندوق المعلومات الذي تستخدمه المقالة) بالتحكم في عرض القيم من ويكي بيانات.

يجب استخدام إحدى الوحدات التجريبية لاختبار أي تعديلات غير بسيطة.

تتوفر أمثلة اختبار للوحدة الرئيسية والنسختين التجريبيتين.

الوحدات والملاعب
الوحدة ملعب للتجربة
رئيسية وحدة:WikidataIB Module talk:WikidataIB/testing
تجريبية1 Module:WikidataIB/sandbox (diff) Module talk:WikidataIB/sandbox/testing (diff)
تجريبية2 Module:WikidataIB/sandbox1 (diff) Module talk:WikidataIB/sandbox1/testing (diff)

نظرة عامة

[عدل]

يوفر هذا الوحدة هذه الاستدعاءات خصيصًا للاستخدام في صناديق المعلومات حاليًا:

  1. getValue - الاستدعاء الرئيسي، يُستخدم للحصول على القيمة أو القيم الخاصة بخاصية معينة.
  2. getQualifierValue - يأخذ: (1) خاصية؛ (2) قيمتها؛ (3) معرف خاصية المؤهل، ويعيد القيم التي تطابق.
  3. getValueByQual - يحصل على قيمة خاصية تحتوي على مؤهل ذو قيمة كيان معينة.
  4. getValueByLang - يحصل على قيمة خاصية تحتوي على مؤهل P407 ("لغة العمل أو الاسم") حيث يكون للغة رمز معين.
  5. getValueByRefSource - يحصل على قيمة خاصية تحتوي على مرجع "مذكور في" (P248) حيث تكون القيمة لديها معرف كيان معين.
  6. getPropOfProp - إذا كانت قيمة (قيم) prop1 من نوع "عنصر ويكي" فإنه يعيد قيمة (قيم) prop2 لكل من هذه العناصر.
  7. getAwardCat - إذا كان العنصر يحتوي على قيم P166 (الجائزة المستلمة)، فإنه يفحص كل من هذه الجوائز للبحث عن P2517 (الفئة للمستلمين لهذه الجائزة) ويعيد الفئة المقابلة، مع P734 (اسم العائلة) للعنصر كمفتاح ترتيب، أو بدون مفتاح ترتيب إذا لم يكن هناك اسم عائلة.
  8. getIntersectCat - لكل قيمة من prop1 يسترجع الفئة الرئيسية للقيمة ثم لكل قيمة من prop2، ثم يعيد كل الفئات التي تمثل تقاطع هذه الخصائص.
  9. getSumOfParts - يفحص الخاصية 'جزء من' (P527) للبحث عن القيم المطابقة لقائمة. إذا كانت القيم المطابقة تحتوي على مؤهل 'الكمية' (P1114)، فإن هذه الكميات تُجمّع وتُعاد (ولكن الصفر يعيد nil).
  10. getCoords - يحصل على الإحداثيات ويمررها عبر {{Coord}}.
  11. getPreferredValue - غير مستخدم ولكنه يُحتفظ به لأغراض التوافق الخلفي. استخدم |getValue|rank=best بدلاً من ذلك.

الاستدعاء القديم getSourcedValue تمت إزالته الآن لأنه زائد عن الحاجة لـ getValue والذي يمكنه القيام بنفس الوظيفة باستخدام وسيط |onlysourced=true (المضبوط افتراضيًا).

وظائف الأدوات المساعدة

[عدل]
  1. getLink - إذا كان هناك رابط إلى مقال على الويكي المحلي، فإنه يُعيد رابطًا للمقال مع اسم ويكي بيانات كنص معروض. إذا لم يكن هناك رابط، فإنه يُعيد الاسم كنص عادي. إذا لم يكن هناك اسم في اللغة المحلية، فإنه يُعيد معرف الكيان.
  2. getAT (عنوان المقال) - إذا كان هناك رابط إلى مقال على الويكي المحلي، فإنه يُعيد الرابط كنص عادي، وإلا لا شيء.
  3. getSiteLink - يحصل على الرابط كنص عادي لمقال على ويكي معين.
  4. getLabel - يُعيد اسم ويكي بيانات للغة المحلية كنص عادي. إذا لم يكن هناك اسم في اللغة المحلية، فإنه يُعيد معرف الكيان.
  5. getAllLabels - يسترجع مجموعة الأسماء ويُنسقها للعرض كنص ويكي.
  6. labelorid - يُعيد الاسم مع إزالة جميع نصوص الويكي، أو معرف الكيان إذا لم يكن هناك اسم.
  7. getDescription - يُعيد وصف المقال لكيان ويكي بيانات إذا كان الوسيط المحلي هو "ويكي بيانات".
  8. getAllDescriptions - يسترجع مجموعة الأوصاف ويُنسقها للعرض كنص ويكي.
  9. getAliases - يُعيد الأسماء البديلة للكيان في اللغة الحالية أو المعطاة.
  10. getAllAliases - يسترجع مجموعة الأسماء البديلة ويُنسقها للعرض كنص ويكي.
  11. pageId - يُعيد معرف صفحة ويكي بيانات (معرف الكيان، رقم Q) للصفحة الحالية.
  12. formatDate - يأخذ تاريخًا بالتنسيق المعتاد من mw.wikibase.entity:formatPropertyValues ويُنسقه وفقًا لوسيط df (تنسيق التاريخ) ووسيط bc.
  13. formatNumber - يُنسق رقمًا وفقًا لرمز اللغة المُعطى.
  14. checkBlacklist - يُعيد true إذا كانت الحقل غير مدرج في القائمة السوداء (أي مسموح).
  15. emptyor - يُعيد nil إذا كان الوسيط مجرد علامات ترقيم أو مسافات بيضاء أو علامات HTML، وإلا يُعيد الوسيط دون تغيير.
  16. getLang - يُعيد رمز لغة ميدياويكي أو اسم اللغة الكامل للمحتوى الحالي.
  17. getItemLangCode - يبحث عن الدولة (P17)، ثم عن اللغة الرسمية لتلك الدولة (P37)، ويُعيد رمز اللغة (P424).
  18. findLanguage - يُعيد (1) اللغة المُعطاة إذا كانت صالحة؛ أو (2) اللغة المحددة للمستخدم؛ أو (3) لغة الويكي الحالية.
  19. getQid - يُعيد (1) معرف الكيان إذا تم توفيره؛ أو (2) معرف الكيان لموضوع الفئة الرئيسي (P301)؛ أو (3) معرف الكيان المرتبط بالصفحة الحالية؛ أو (4) لا شيء.
  20. followQid - بالنظر إلى قائمة من الخصائص، يبحث عن كل خاصية بالتتابع ويُعيد معرف الكيان لأول قيمة تتطابق (اختياريًا، يُعيد جميع معرفات الكيان التي تتطابق).
  21. getGlobe - يُعيد معرف الكيان للكرة المستخدمة في P625 (موقع الإحداثيات)، أو nil إذا لم يكن هناك واحدة.
  22. getCommonsLink - يُعيد أحد التالي بالترتيب: رابط كومونز لعنصر ويكي بيانات المرتبط؛ رابط كومونز للفئة الرئيسية لموضوع العنصر المرتبط.
  23. siteID - يُعيد جذر معرف الموقع العالمي، مثل "en" لـ "enwiki"، "enwikisource"، "en-gb"، إلخ.
  24. projID - نفس الشيء مثل siteID.
  25. location - يفحص من الموقع الحالي صعودًا على طول سلسلة المواقع ذات المستوى الأعلى، مُعيدًا كل موقع حتى يصل إلى دولة.
  26. examine - يُعيد تفريغًا منسقًا للخاصية المعطاة.
  27. url2 - يأخذ وسيطًا يكون عنوان URL صالحًا ويُنسقه للاستخدام في صندوق المعلومات؛ يقبل ناتجه كمدخل.
  28. getWebsite - يسترجع الموقع الرسمي (P856) ويُنسقه للاستخدام في صندوق المعلومات.
  29. checkvalue - يبحث في خاصية عن معرف كيان معين كقيمته ويُعيد ذلك المعرف إذا تم العثور عليه؛ وإلا يُعيد nil.
  30. checkValidity - يُعيد ما إذا كان الوسيط الأول غير المسمى يمثل معرف كيان صالحًا.
  31. showNoLinks - يُظهر عناوين المقالات التي يجب عدم ربطها.

أمثلة على الاستدعاءات

[عدل]

{{#استدعاء:WikidataIB |getValue |<معرف الخاصية> |name=<أسم الحقل> |suppressfields=<قائمة الحقول التي لن يتم عرضها أبدًا> |fetchwikidata=<قائمة البيانات في ويكي بيانات (مفعلة افتراضياً الكل)> |onlysourced=<yes/no> |noicon=<yes/no> |df=<dmy/mdy/y> |bc=<BC/BCE> |qual=<ALL/DATES/P999> |list=<ubl/hlist/prose> |linked=<yes/no> |<المعلمة المحلية>}}

{{#استدعاء:WikidataIB |getCoords |name=<أسم الحقل> |suppressfields=<قائمة الحقول التي لن يتم عرضها أبدًا> |fetchwikidata=<قائمة البيانات في ويكي بيانات (مفعلة افتراضياً الكل)> |<المعلمة المحلية>}}

{{#استدعاء:WikidataIB |getQualifierValue |<معرف الخاصية> |pval=<معرف القيمة المستهدفة للخاصية> |qual=<معرف التصفية المطلوبة> |name=<أسم الحقل> |suppressfields=<قائمة الحقول التي لن يتم عرضها أبدًا> |fetchwikidata=<قائمة البيانات في ويكي بيانات (مفعلة افتراضياً الكل)> |onlysourced=<yes/no>}}

{{#استدعاء:WikidataIB |getValueByQual |<معرف الخاصية> |qualID=<معرف الخاصية للتصفية المطلوبة> |qvalue=<معرف ويكي بيانات للتصفية المطلوبة> |name=<أسم الحقل> |suppressfields=<قائمة الحقول التي لن يتم عرضها أبدًا> |fetchwikidata=<قائمة البيانات في ويكي بيانات (مفعلة افتراضياً الكل)> |onlysourced=<yes/no>}}

{{#استدعاء:WikidataIB |getValueByLang |<معرف الخاصية> |lang=<رمز اللغة المطلوب مطابقته> |name=<أسم الحقل> |suppressfields=<قائمة الحقول التي لن يتم عرضها أبدًا> |fetchwikidata=<قائمة البيانات في ويكي بيانات (مفعلة افتراضياً الكل)> |onlysourced=<yes/no>}}

Function getValue

[عدل]
الاسم الاسم المستعار الوظيفة الافتراضي
(الأول غير مسمى) 1 معرف الخاصية التي سيتم إرجاع قيمها. مطلوب.
(الثاني غير مسمى) 2 قيمة محلية يتم توفيرها، إذا لم تكن فارغة، ستُرجع بدلاً من القيمة في ويكي بيانات. فارغ
qid رقم Q (معرف الكيان) للكيان الذي تنتمي إليه الخاصية. إذا لم يُقدّم أو كان فارغًا، يتم استخدام الإدخال المرتبط بويكي بيانات للصفحة الحالية – يستخدم mw.wikibase.getEntityIdForCurrentPage(). معرف العنصر للصفحة الحالية
eid بديل عن qid. باستثناء eid، جميع المعلمات في getValue تعامل nil والسلسلة الفارغة بنفس الطريقة. لذا، تعيين |x= يعطي نفس النتيجة كما لو تم تجاهل المعلمة. ومع ذلك، لتوفير بعض التوافق مع الوحدات الأخرى، استخدام |eid= دائماً يُرجع سلسلة فارغة، بينما تجاهل eid يسمح لـ qid بالعمل كالمعتاد. معرف العنصر للصفحة الحالية
rank [غير حساس لحالة الأحرف] عند التعيين على best، يُرجع القيم المفضلة إذا كانت موجودة، وإلا يُرجع القيم العادية. عند التعيين على preferred، يُرجع القيم المفضلة. عند التعيين على normal، يُرجع القيم العادية. عند التعيين على deprecated يُرجع القيم غير الموصى بها. أي قيمة للمعلمة تبدأ بـ "b" هي "best"؛ تبدأ بـ "p" هي "preferred"؛ تبدأ بـ "n" هي "normal"؛ تبدأ بـ "d" هي deprecated. القيم المتعددة مسموح بها: "p n d" ستُرجع كل الرتب. "Best" يتجاوز الأعلام الأخرى. القيم الأخرى يتم تجاهلها وإذا لم تُطلب رتب، تُرجع القيم المفضلة والعادية. المفضلة والعادية
qual قائمة مفصولة بعلامات الترقيم لمعرفات الخصائص التي سيتم إرجاعها بين قوسين بعد الخاصية. تعيين qual=ALL يُرجع كل المؤهلات. تعيين qual=DATES يُرجع تاريخ البدء (P580) وتاريخ الانتهاء (P582) مع فاصل تواريخ. لا شيء
qualsonly qo قيمة بوليانية تمكّن عرض المؤهل فقط، دون قيمة الخاصية أو الأقواس. القيم no، false و0 كلها خاطئة؛ أي شيء آخر صحيح. false
fetchwikidata fwd قائمة الحقول التي يتم جلب القيم منها. ALL يجلب كل الحقول. قيمة NONE أو فارغ أو تجاهل المعلمة لا يجلب أي حقول. لا شيء
suppressfields spf قائمة الحقول التي لن تظهر أبدًا. هذا سيجبر حتى القيمة المحلية في الحقل على عدم الظهور. لا شيء
name اسم الحقل. عند ترميز صندوق المعلومات، هذا هو الاسم الذي سيتم التعرف عليه من قبل fetchwikidata وsuppressfields. مطلوب إذا تم تحديد fetchwikidata أو suppressfields (باستثناء عند fetchwikidata=ALL). nil
onlysourced osd قيمة بوليانية ستمنع عرض القيم غير الموثوقة أو تلك الموثوقة فقط إلى ويكيبيديا. هذا طلب تعليقات عام 2018 يتطلب أن تكون القيم المعروضة في صناديق المعلومات من ويكي بيانات موثوقة. القيم no، false و0 كلها خاطئة؛ أي شيء آخر صحيح. true
df تنسيق التاريخ: قد يكون dmy (اليوم قبل الشهر) أو mdy (الشهر قبل اليوم) أو y (السنة فقط). dmy
qdf تنسيق تاريخ المؤهلات. إذا تم تجاهله، يأخذ القيمة الافتراضية للمعلمة df، أو "y" إذا تم تجاهل df أيضًا. قيمة df أو "y"
bc تنسيق اللاحقة BC/BCE للتواريخ. BCE
plaindate pd سلسلة لتعديل تنسيق التواريخ. تعيين "true"/"yes"/"1" يعطل إضافة "ظروف المصدر" (P1480) وأي روابط. تعيين "adj" يفعل نفس الشيء ولكن يستخدم الشكل الصفاتي للتاريخ. false
linked قيمة بوليانية تمكن الرابط إلى صفحة محلية عبر ارتباطها في ويكي بيانات. القيم no، false و0 كلها خاطئة؛ أي شيء آخر صحيح. true
displaytext dt سلسلة تتجاوز النص المعروض لعنصر مرتبط إذا لم تكن فارغة. فارغ
shortname sn قيمة بوليانية تمكّن استخدام الاسم القصير (P1813) بدلاً من التسمية للعنصر المرتبط. القيم no، false و0 كلها خاطئة؛ أي شيء آخر صحيح. false
uselabel uselbl قيمة بوليانية تفرض عرض التسمية بدلاً من الرابط المفصول للموقع للعنصر المرتبط. التسميات أكثر عرضة للتخريب من الروابط. القيم no، false و0 كلها خاطئة؛ أي شيء آخر صحيح. false
wdlinks wdl قيمة بوليانية تمكّن عرض الروابط إلى ويكي بيانات عند عدم وجود مقالة محلية. القيم no، false و0 كلها خاطئة؛ أي شيء آخر صحيح. false
unitabbr uabbr قيمة بوليانية تمكن اختصارات الوحدات للوحدات الشائعة. القيم no، false و0 كلها خاطئة؛ أي شيء آخر صحيح. false
convert conv قيمة بوليانية تمكن تمرير الكميات إلى قالب Cvt. القيم no، false و0 كلها خاطئة؛ أي شيء آخر صحيح. false
showunits su قيمة بوليانية تمكن عرض الوحدات للكميات. القيم no، false و0 كلها خاطئة؛ أي شيء آخر صحيح. true
scale سلسلة تحدد التحجيم لتنسيق الكميات. القيم هي: "a"=تلقائي؛ "0"=بدون تحجيم؛ "3"=ألف؛ "6"=مليون؛ "9"=مليار؛ "12"=تريليون. 0
maxvals يحدد الحد الأقصى لعدد القيم التي سيتم إرجاعها عند توفر قيم متعددة. تعيينها إلى 1 مفيد حيث تستخدم السلسلة المرجعة داخل استدعاء آخر، مثل الصورة. القيم 0 والفارغة تُرجع جميع القيم. 0 (جميع القيم)
collapse يحدد الحد الأقصى لعدد القيم التي سيتم إرجاعها قبل أن يتم طي المحتوى تلقائيًا. القيم 0 والفارغة تسمح بعرض كل المحتوى دون طي. 0 (جميع القيم)
linkprefix lp بادئة الرابط التي تُضاف قبل القيمة المرتبطة عند الربط. ينطبق فقط على العناصر التي تحتوي على مقالات وعلى السلاسل (مثل المؤهلات). فارغ
linkprefix2 lp2 بادئة الرابط التي تُضاف قبل قيمة المرتبطة (تالية) عند الربط. فارغ
link [غير حساس لحالة الأحرف] يتحكم في الربط إلى العنصر المرتبط. القيم الصالحة هي "item" (افتراضيًا: الربط إلى العنصر المرتبط)، "property" (الربط إلى صفحة الخاصية)، "sitelink" (الربط إلى صفحة المقالة إذا كانت موجودة) و"none" (عدم الربط). item

الوسائط الأساسية

[عدل]
  • يمكن لـ `getValue` أيضًا قبول وسيط مسمى |qid= وهو معرّف ويكي بيانات لمقالة معينة. لن يُستخدم هذا في العادة لأنه عند عدم تحديده، يتم افتراضيًا استخدام المقالة الحالية.
  • الخاصية التي يجب إرجاع قيمتها تمر في أول خاصية غير مسماة وتعتبر إلزامية.
  • المعلمة الثانية غير المسماة، إذا تم توفيرها، ستصبح هي القيمة المعادة ولن يتم إجراء أي استدعاء إلى ويكي بيانات.

القائمة البيضاء والقائمة السوداء

[عدل]
  • يتم تمرير اسم الحقل الذي يتم استدعاء هذه الدالة منه في الوسيط المسمى |name=، والذي يتم التحقق منه أولاً مقابل قائمة سوداء من الحقول التي لا يجب عرضها أبدًا (أي يجب أن تُرجع الاستدعاء قيمة nil في جميع الظروف). إذا لم يكن الحقل في القائمة السوداء، يتم التحقق منه بعد ذلك مقابل القائمة البيضاء. إذا كان اسم الحقل مطابقًا، فسيُرجع الاستدعاء أي قيمة محلية مُقدمة إذا تم تقديمها كوسيط ثاني غير مسمى، أو قيمة ويكي بيانات بخلاف ذلك.
  • تحديد |fetchwikidata=ALL هو اختصار لإرجاع جميع الحقول التي لا توجد في القائمة السوداء.
  • يكون الاسم إلزاميًا عند استخدام القائمة السوداء أو القائمة البيضاء، لذا سيُرجع الوحدة قيمة nil إذا لم يتم تقديمه، باستثناء حالة |fetchwikidata=ALL.
  • تمرير القائمة السوداء يتم عبر الوسيط المسمى |suppressfields=
  • تمرير القائمة البيضاء يتم عبر الوسيط المسمى |fetchwikidata=

التوثيق

[عدل]

ستقبل دالة getValue وسيطًا منطقيًا باسم onlysourced والذي سيمنع استدعاء القيم من ويكي بيانات التي لا تحتوي على مصادر أو التي تكون مصادرها مقتصرة على مشروع من مشاريع ويكيميديا فقط. في حال غياب هذا الوسيط، أو إذا كان الوسيط فارغًا (|onlysourced=) أو سلسلة فارغة ("")، فسيتم افتراض القيمة الافتراضية وهي true (أي يتم إرجاع القيم التي تحتوي على مراجع فقط). تُعامل القيم no، false، و0 على أنها false (أي يتم إرجاع جميع القيم)؛ أي قيمة أخرى تعتبر true (على الرغم من أن استخدام |onlysourced=yes/no يُفضل لسهولة القراءة).

الرابط إلى ويكي بيانات

[عدل]

وظيفة getValue ستستقبل معاملًا منطقيًا يسمى noicon، والذي سيخفي أيقونة "التعديل في ويكي بيانات" والرابط الخاص بها في الحالات التي يتم فيها معالجة القيمة المُعادة بواسطة صندوق المعلومات (مثل عنوان URL). غياب هذا المعامل أو إدخال معامل فارغ (مثل |noicon=) سيُعتبر افتراضيًا على أنه false (أي سيتم إضافة الأيقونة). السلسلة الفارغة ("") والقيم no، false و0 يتم التعامل معها كقيم false؛ أما أي قيمة أخرى فستُعتبر true (على الرغم من أن استخدام |noicon=true يُفضل لزيادة الوضوح).

التواريخ

[عدل]

لتلبية الحاجة إلى التعامل مع التواريخ بتنسيقات mdy (شهر/يوم/سنة)، dmy (يوم/شهر/سنة)، أو السنة فقط، فإن وظيفة getValue تقبل معاملًا مسمى |df= والذي يمكن أن يأخذ القيم "dmy"، "mdy"، أو "y" - الافتراضي هو "dmy".

نظرًا لأن المقالة قد تتطلب استخدام أحد اللاحقتين "ق.م" و"قبل الميلاد"، فإن getValue تقبل معاملًا مسمى |bc= والذي يمكن أن يأخذ القيم "BC" أو "BCE" - الافتراضي هو "BCE".

الرتب

[عدل]

المعامل |rank=، عندما يكون مضبوطًا على "preferred"، يُرجع فقط القيم المفضلة؛ عندما يكون مضبوطًا على "normal"، يُرجع فقط القيم العادية؛ عندما يكون مضبوطًا على "deprecated"، يُرجع فقط القيم الملغاة. إذا كان المعامل مضبوطًا على "best"، فإنه يُرجع القيم المفضلة إذا كانت موجودة، وإلا فإنه يُرجع القيم العادية. أي قيمة للمعامل تبدأ بـ "p" تُعتبر "مفضلة"; أي قيمة للمعامل تبدأ بـ "n" تُعتبر "عادية"; أي قيمة للمعامل تبدأ بـ "d" تُعتبر "ملغاة"; وأي قيمة للمعامل تبدأ بـ "b" تُعتبر "أفضل". يُسمح بتركيبات القيم، على سبيل المثال، |rank=p n يُرجع جميع القيم المفضلة والعادية (وهي القيمة الافتراضية)، على الرغم من أن "best" تتجاوز أي معاملات أخرى.

معالجات نوع القيمة المحددة

[عدل]

تحتوي الوحدة على معالجات محددة للأنواع التالية من البيانات:

  1. العناصر التي تتوافق مع مقالة في بعض ويكيبيديا، وتسمى "عناصر ويكي بيس". ستتم ربطها بالمقالة المقابلة (والمفككة) في ويكيبيديا الإنجليزية عندما يكون ذلك ممكنًا.
  2. العناصر التي تمثل التواريخ. قد تكون هذه قرونًا أو سنوات، أو سنوات وأشهر، أو سنوات، وأشهر وأيام.
  3. العناصر التي تمثل وسائط كومنز، أو عناوين URL، أو معرفات خارجية، أو أنواع أخرى من النصوص العادية.
  4. العناصر التي تمثل الكميات. يمكن أن يكون لكل منها وحدة مرتبطة، أو تكون بلا أبعاد، وقد تحتوي على نطاق.
  5. العناصر التي تمثل الإحداثيات العالمية. ستكون هذه بالإحداثيات الجغرافية وخطوط الطول، وستكون لها دقة مرتبطة.

لا يتم معالجة العناصر التي تمثل أنواع أخرى من البيانات حاليًا.

يمكن استخدام النوع الثالث من البيانات مع المعاملات:

  • |prefix=، |postfix=، |linkprefix=، |linkpostfix=

إذا لم تُقدم على الأقل واحدة من |linkprefix= أو |linkpostfix=، فسيتم استخدام |prefix= و|postfix= فقط. على سبيل المثال، عند الحصول على رمز مركز مرصد الكوكب الصغير (P717) في Vienna Observatory (Q532127):

  • {{#invoke:WikidataIB/sandbox|getValue|P717|fetchwikidata=ALL|onlysourced=no |prefix="before " |postfix=" after" |qid=Q532127}} → before 045 after تعديل على ويكي بيانات

استخدم علامات الاقتباس المزدوجة لتغليف قيمة المعامل إذا كانت تحتوي على مسافات بادئة أو تالية (وإلا ستُحذف). إذا قمت بتزويد |linkprefix= أو |linkpostfix=، فسيتم استخدام جميع المعاملات الأربعة، وسيتم إنشاء رابط لكل قيمة على النحو التالي:

  • [[ linkprefix WikidataValue1 linkpostfix | prefix WikidataValue1 postfix]], [[ linkprefix WikidataValue2 linkpostfix | prefix WikidataValue2 postfix]], إلخ.

يسمح ذلك بإنشاء روابط متعددة لأقسام مختلفة من مقالة قائمة، مثل قائمة رموز المراصد الفلكية. على سبيل المثال، عند الحصول على رمز مركز مرصد الكوكب الصغير (P717) في Vienna Observatory (Q532127) يمكننا إنشاء الروابط:

  • {{#invoke:WikidataIB/sandbox|getValue|P717|fetchwikidata=ALL|onlysourced=no |prefix= |postfix= |linkprefix="List of observatory codes#" |linkpostfix= |qid=Q532127}} → [List of observatory codes#045 045] تعديل على ويكي بيانات

تُطبق المعاملات |prefix=، |postfix=، |linkprefix=، |linkpostfix= أيضًا على عناصر ويكي بيس إذا كانت مرتبطة.

تنسيق القيم المتعددة المُعادة

[عدل]
  • |sorted=<yes|no> هو قيمة منطقية تُمرر لتمكين فرز القيم المُعادة. عدم وجود معامل، أو سلسلة فارغة، أو "false"، أو "no"، أو "0" يُعطل الفرز. إنه فقط فرز أبجدي بسيط جدًا ويقوم بفرز القيم المرتبطة كـ "[[ ..."
  • |sep=<فواصل characters> يسمح بتحديد الفاصل بين القيم المتعددة المُعادة. القيمة الافتراضية هي ", " (فاصلة متبوعة بمسافة عادية). إذا كان للفاصل مسافات بادئة أو تالية، فقم بتغليفه بعلامات اقتباس مزدوجة (على سبيل المثال، |sep=" - "). تُحذف أي علامات اقتباس مزدوجة من الفاصل. يجب هروب حرف العمود الفاصل (|) كـ {{!}}. لأسباب تتعلق بالوصول (انظر )، لا تستخدم |sep=<br> لقوائم عمودية غير مرقمة؛ استخدم |list=ubl بدلاً من ذلك.
  • |list=<prose|cslist|hlist|ubl|blist|olist> يسمح بعرض القيم المتعددة المُعادة كجملة مع فصل آخر قيمتين بـ "و" (|list=prose)، قائمة أفقية مفصولة بفواصل (|list=cslist، لا تستخدم في الجمل)، قائمة أفقية (|list=hlist)، قائمة عمودية غير مرقمة (|list=ubl)، قائمة عمودية مرقمة (|list=blist)، أو قائمة مرتبة عمودية (|list=olist). هذه المعاملات تتجاوز الفاصل ولا تعرض "أيقونة القلم" المرتبطة بـ "تعديل في ويكي بيانات".
  • |list=p-1 يعرض القيمة الأخيرة. يمكن دمجه مع |maxvals=n لعرض القيمة n.

تقييد القيم المُعادة

[عدل]

في بعض الأحيان، يُتوقع أن يكون للخاصية قيمة واحدة فقط، مثل الصورة (P18)، ولكن قد تحتوي على قيم متعددة على ويكي بيانات. ضبط |maxvals=1 سيقيد عدد القيم المُعادة إلى 1. أي قيمة أخرى ممكنة وتعمل كما هو متوقع، ولكن الصفر يُعتبر "بدون حد".

إزالة الرابط

[عدل]

ستكون القيمة المُعادة التي تمثل مقالًا في الويكي المحلي مرتبطة بشكل افتراضي. يشمل ذلك التحويلات، ولكن ليس صفحات التوضيح. في بعض الأحيان، قد تكون هناك حاجة لعدم ربط القيم المُعادة، ويمكن تحقيق ذلك عن طريق ضبط |linked=no.

اختصارات الوحدات

[عدل]

عندما تكون القيمة المُعادة كمية، يتم إضافة اسم الوحدات التي تُعبر عنها. قد ترغب قوالب المعلومات في استخدام الاختصارات بدلاً من ذلك لوحدات شائعة. يمكن القيام بذلك عن طريق ضبط |unitabbr=true.

التصفيات

[عدل]

يمكن تزويد وسيط |qual=، الذي سيعيد تصفيات الخاصية المطلوبة، إذا كانت موجودة. إذا كانت القيمة مضبوطة على قائمة مفصولة بعلامات الترقيم من معرفات الخصائص (مثل P123، P456)، فسيتم إرجاع قيم التصفيات المتعلقة بتلك الخاصية فقط. إذا كانت القيمة مضبوطة على |qual=ALL، فسيتم إرجاع جميع قيم التصفيات. إذا كانت القيمة مضبوطة على |qual=DATES، فسيتم إرجاع تاريخ البدء (P580) وتاريخ الانتهاء (P582) الخاصة بالخاصية مع فاصل زمني. في كل حالة، تتبع أي قيم تصفيات مُعادة قيمة الخاصية، وتكون محاطة بأقواس. إذا تم إرجاع قيم تصفيات متعددة، فسيتم فصلها بفواصل بشكل افتراضي، على الرغم من أنه يمكن تغيير الفاصل عن طريق تحديد |qsep= (الذي قد يكون محاطًا بعلامات اقتباس مزدوجة، والتي تُستبعد، بحيث يمكن تضمين المسافات). ضبط الوسيط |qsorted=yes سيقوم بترتيب قيم التصفيات المعادة أبجديًا.

الشكل المختصر للمعاملات

[عدل]

بعض المعاملات الأطول يمكن اختصارها لجعل تصاميم صناديق المعلومات أكثر اختصارًا:

  • fwd → fetchwikidata
  • osd → onlysourced
  • spf → suppressfields
  • wdl → wdlinks

مجموعات المعاملات

[عدل]

بشكل عام، تحتوي وظيفة getValue على مجموعة من القيم الافتراضية لمعاملاتها، والتي تمثل قرارات توافقية بين المحررين. على سبيل المثال، |onlysourced= تكون افتراضيًا true، بحيث يتم إرجاع القيم من ويكي بيانات التي تكون موثقة بمصدر أفضل من "ويكيبيديا" فقط. و|fetchwikidata= تكون افتراضيًا none، بحيث لا يتم إرجاع أي شيء حتى يتم تفعيلها بتحديد أسماء الحقول أو "ALL". هذا يمثل حالة الأمان الافتراضية ويسمح بجعل صناديق المعلومات قادرة على استخدام ويكي بيانات دون تغيير أي مقالة حتى يتم تفعيلها لتلك المقالة.

لتبسيط استخدام getValue في حالات أخرى، يمكن تحديد تركيبات شائعة من المعاملات باستخدام |parameterset= أو ما يعادلها |ps= لتسهيل الاستخدام. هناك تركيبتان متاحتان حاليًا وهما:

ps=1
مجموعة شائعة من التعديلات للحصول على قيمة بسيطة، مرتبطة عند الإمكان:
|rank         ="best"
|fetchwikidata="ALL"
|onlysourced  ="no"
|noicon       ="true"
ps=2
نوع من القيم الخام في نص عادي:
|rank          = "best"
|fetchwikidata = "ALL"
|onlysourced   = "no"
|noicon        = "true"
|linked        = "no"
|plaindate     = "true"

يمكن إنشاء مجموعات أخرى إذا كان هناك طلب عليها.

قالب التغليف

[عدل]

يمكن استخدام القالب {{wdib}} كقالب تغليف ملائم لـ {{#invoke:WikidataIB |getValue}}.

Other main functions

[عدل]

Function getPreferredValue

[عدل]

The getPreferredValue function works exactly like getValue, taking the same parameters, but if any values for a property have the preferred rank set, it will only return those values. This is now deprecated in favour of getValue|rank=best.

Function getCoords

[عدل]
  • getCoords can also take a named parameter |qid= which is the Wikidata ID for an article. This will not normally be used as omitting it defaults to the current article.
  • The first unnamed parameter, if supplied, will become the returned value and no call to Wikidata will be made.
  • The coordinates from Wikidata are parsed and passed to قالب:إحداثيات which returns the display as if it were called manually.
  • The blacklist of fields that are never to be displayed, and the whitelist are implemented in the same way as for getValue using |suppressfields= and |fetchwikidata=
  • The format parameter sets the display format to decimal or dms. Any value beginning with "dec" sets decimal; anything else sets dms.
  • The display parameter sets the display position to "inline", "title" or "inline, title". Default is nothing (so uses default for {{Coord}}, currently "inline").

دالة getQualifierValue

[عدل]

تُستخدم دالة getQualifierValue عندما نريد جلب قيمة تصفية. نحتاج إلى معرفة الخاصية وقيمة الخاصية التي ترتبط بها. المعلمات هي:

  • معرف الخاصية الذي يتم تمريره في المعامل بدون اسم (أو |1=)
  • القيمة المستهدفة لتلك الخاصية في |pval=
  • معرف التصفية لتلك القيمة المستهدفة في |qual=
  • نفس المعلمات لتطبيق القائمة البيضاء والقائمة السوداء للخاصية كما في getValue
  • خيار منطقي لتحديد ما إذا كانت القيم المستندة إلى مصادر فقط يتم إرجاعها (الافتراضي هو "لا") في |onlysourced=
  • معرف العنصر الاختياري للوصول العشوائي في |qid=
  • نفس المعلمات لتنسيق الإخراج كما في getValue

مثال على getQualifierValue

[عدل]

في مرصد القطب الجنوبي (Q1513315) هناك خاصية حدث هام (P793)، والتي لها قيمة تشييد (Q385378). تحتوي هذه الخاصية على تصفيتين، تاريخ البدء (P580) وتاريخ الانتهاء (P582). للحصول على تاريخ البدء:

  • {{#invoke:WikidataIB |getQualifierValue |qid=Q1513315 |P793 |pval=Q385378 |qual=P580 |name=xyz |fetchwikidata=ALL }}

في مرصد القطب الجنوبي يتم إرجاع:

  • نوفمبر 2006 تعديل على ويكي بيانات

Function getValueByQual

[عدل]

The getValueByQual function returns the value of a property which has a qualifier with a given entity value. The parameters are:

  • The property ID passed in the unnamed parameter (or |1=)
  • The property ID for a qualifier (or "ALL" or "DATES") in |qualID=
  • The Wikibase-entity ID of a value for that qualifier in |qvalue=
  • The same parameters to implement whitelisting and blacklisting of the property as in getValue
  • Optional boolean to specify whether only sourced values of the property are returned (defaults to "no") in |onlysourced=
  • Optional item ID for arbitrary access in |qid=
  • The same parameters to format output as in getValue

Example of getValueByQual

[عدل]

In لحم (Q10990) there is a property صوت اللفظ (P443) that has multiple values, each of which has a qualifier لغة العمل أو لغة الاسم (P407). We can return the property value whose qualifier has the value العربية (Q13955)

  • {{#invoke:WikidataIB |getValueByQual |qid=Q10990 |P443 |qualID=P407 |qvalue=Q13955 |fwd=ALL |osd=no |noicon=true}} → Ar-لحم.ogg

دالة getValueByLang

[عدل]

ترجع دالة getValueByLang قيمة خاصية تحتوي على المُؤهِّل لغة العمل أو لغة الاسم (P407) التي قيمتها هي رمز اللغة المُعطى. المعلمات هي:

  • معرف الخاصية الذي يتم تمريره في المعامل بدون اسم (أو |1=)
  • ​​رمز لغة ويكيميديا (P424) لمطابقة اللغة التي رمزها مُعطى في |lang=xx[-yy]. إذا لم يتم تقديم أي رمز، فسيتم استخدام اللغة الافتراضية.
  • نفس المعلمات لتطبيق القائمة البيضاء والقائمة السوداء للخاصية كما في getValue
  • خيار منطقي لتحديد ما إذا كانت القيم المستندة إلى مصادر فقط يتم إرجاعها (الافتراضي هو "لا") في |onlysourced=
  • معرف البند الاختياري للوصول العشوائي في |qid=
  • نفس المعلمات لتنسيق الإخراج كما في getValue

مثال على getValueByLang

[عدل]

في OSDN (Q7565108) هناك خاصية الموقع الرسمي (P856) التي تحتوي على قيم متعددة، ولكل منها مؤهل لغة العمل أو لغة الاسم (P407). يمكننا إرجاع قيمة الخاصية التي تحتوي على مؤهل لغة العمل أو لغة الاسم (P407) (بند ويكي بيانات) ولها الخاصية ​​رمز لغة ويكيميديا (P424) وهي "ja"، أي اليابانية (Q5287)

إذا كان |lang= غير محدد، يمكننا الحصول على نفس القيمة مع اللغة الافتراضية (هنا هي العربية (Q13955) ولها ​​رمز لغة ويكيميديا (P424) وهي "ar")

  • {{#invoke:WikidataIB |getValueByLang |qid=Q7565108 |P856 |fwd=ALL |osd=no |noicon=true}}

Utility functions

[عدل]
[عدل]

getLink has the qid of a Wikidata entity passed as the first unnamed parameter or as |qid=

If there is a sitelink to an article on the local Wiki, it returns a link to the article with the Wikidata label as the displayed text. If there is no sitelink, it returns the label as plain text. If there is no label in the local language, it displays the qid instead.

Wikidata: Corisca and the Satyr (Q29016906) and عالم آثار (Q3621491)
  • {{#invoke:WikidataIB |getLink |Q29016906}} → Q29016906
  • {{#invoke:WikidataIB |getLink |Q3621491}}عالم آثار

Function getLabel

[عدل]

getLabel has the qid of a Wikidata entity passed as the first unnamed parameter or as |qid=

It returns the Wikidata label in the local language for an item by the given qid. If there is no label in the local language, it returns the qid instead. Note that this is the label given to the Wikidata entry in the same language as the current Wiki, if the label exists.

Wikidata: Corisca and the Satyr (Q29016906) and عالم آثار (Q3621491)
  • {{#invoke:WikidataIB |getLabel |Q29016906}} → Q29016906
  • {{#invoke:WikidataIB |getLabel |Q3621491}} → عالم آثار
  • {{#invoke:WikidataIB |getLabel |Q19805408}} → وحدة:Biblio/Ouvrage

Function label

[عدل]

label has the qid of a Wikidata entity passed as the first unnamed parameter or as |qid=

It returns the Wikidata label in the local language for an item by the given qid or linked to the current page. If there is no label in the local language, it returns an empty string. Note that this is the label given to the Wikidata entry in the same language as the current Wiki, if the label exists.

Wikidata: Corisca and the Satyr (Q29016906) and عالم آثار (Q3621491)
  • {{#invoke:WikidataIB |label |Q29016906}}
  • {{#invoke:WikidataIB |label |Q3621491}} → عالم آثار
  • {{#invoke:WikidataIB |label |Q19805408}} → وحدة:Biblio/Ouvrage

Function getAT

[عدل]

getAT has the qid of a Wikidata entity passed as the first unnamed parameter or as |qid=

If there is a sitelink to an article on the local Wiki, it returns the sitelink as plain text, i.e. the article title. If there is no sitelink, it returns nothing. Note that this is the title of the article in the current Wikipedia, if the interlanguage link exists in the Wikidata entry.

Wikidata: Corisca and the Satyr (Q29016906) and عالم آثار (Q3621491)
  • {{#invoke:WikidataIB |getAT |Q29016906}}
  • {{#invoke:WikidataIB |getAT |Q3621491}} → عالم آثار

Function getDescription

[عدل]

getDescription has the qid of a Wikidata entity passed as |qid= (it defaults to the associated qid of the current article if omitted). It has a local parameter passed as the first unnamed parameter. Any local parameter passed (other than "Wikidata" or "none") becomes the return value. It returns the article description for the Wikidata entity in plain text if the local parameter is "Wikidata". Nothing is returned if the description doesn't exist or "none" is passed as the local parameter.

Wikidata: Corisca and the Satyr (Q29016906) and عالم آثار (Q3621491)
  • {{#invoke:WikidataIB |getDescription |qid=Q29016906 |wikidata}} → painting by Artemisia Gentileschi
  • {{#invoke:WikidataIB |getDescription |qid=Q29016906 |A painting}} → A painting
  • {{#invoke:WikidataIB |getDescription |qid=Q29016906 |none}}
  • {{#invoke:WikidataIB |getDescription |qid=Q3621491 |wikidata}} → person studying human activity in the past
  • {{#invoke:WikidataIB |getDescription |qid=Q3621491 |A profession}} → A profession
  • {{#invoke:WikidataIB |getDescription |qid=Q3621491 |none}}

Function formatDate

[عدل]

formatDate accepts a datetime of the usual format from mw.wikibase.entity:formatPropertyValues, like "1 August 30 BCE" as parameter 1 and formats it according to the df (date format) and bc parameters.

  • {{#invoke:WikidataIB |formatDate | 1 August 30 BCE |bc=BCE |df=dmy}} → 1 August 30 BCE
  • {{#invoke:WikidataIB |formatDate | 1 August 30 BCE |bc=BC |df=mdy}} → August 1, 30 ق م
  • df = "dmy" / "mdy" / "y" - default is "dmy"
  • bc = "BC" / "BCE" - default is "BCE"

Function checkBlacklist

[عدل]

checkBlacklist allows a test to check whether a named field is allowed. It returns true if the field is not blacklisted (i.e. allowed) It returns false if the field is blacklisted (i.e. disallowed)

Example:

  • {{#if:{{#invoke:WikidataIB |checkBlacklist |name=nationality |suppressfields=residence; nationality; citizenship}} | not blacklisted | blacklisted}} → not blacklisted
  • {{#if:{{#invoke:WikidataIB |checkBlacklist |name=birth_place |suppressfields=residence; nationality; citizenship}} | not blacklisted | blacklisted}} → not blacklisted

Function emptyor

[عدل]

emptyor returns nil if its first unnamed argument is just punctuation, whitespace or html tags otherwise it returns the argument unchanged (including leading/trailing space).

If the argument could contain "=", then it must be called explicitly:

  • | 1 = whatever-the-argument-is

In that case, leading and trailing spaces are trimmed.

It finds use in infoboxes where it can replace tests like:

  • {{#if: {{#invoke:WikidataIB |getvalue |P99 |fwd=ALL}} | <span class="xxx">{{#invoke:WikidataIB |getvalue |P99 |fwd=ALL}}</span> | }}

with a form that uses just a single call to Wikidata:

  • {{#invoke |WikidataIB |emptyor |1= <span class="xxx">{{#invoke:WikidataIB |getvalue |P99 |fwd=ALL}}</span> }}

Function labelorid

[عدل]

labelorid is a public function to expose the output of labelOrId().

The Q-number (entity ID) is passed as |qid= or as an unnamed parameter.

It returns the Wikidata label for that entity or the qid if no label exists.

Function getQid

[عدل]
  • getQid works with the current page and its associated Wikidata entry.
  • It returns qid, if supplied as the first unnamed parameter or as |qid=;
  • failing that, the Wikidata entity ID of the "category's main topic (P301)", if it exists;
  • failing that, the Wikidata entity ID associated with the current page, if it exists;
  • otherwise, nothing

Function examine

[عدل]

examine provides a dump of the entire property given in the first unnamed parameter (or in |pid= as a named alias) from the item given by the parameter 'qid', or from the item corresponding to the current page if qid is not supplied. Both parameters may be unnamed and given in any order.

It works in a similar manner to the وحدة:Wikidata function, but only loads a single claim, rather than the whole Wikidata entry.

  • Example: {{#invoke:WikidataIB |examine |qid=Q1396889 |P50}}

There is a قالب:Examine Wikidata item which acts as a wrapper for the call.

  • Example: {{Examine Wikidata item|Q4048254 |P31}}
table#1 {
    table#2 {
        ["id"] = "Q4048254$9af461b4-a1d0-4c67-a7f0-f668944a17d6",
        ["mainsnak"] = table#3 {
            ["datatype"] = "wikibase-item",
            ["datavalue"] = table#4 {
                ["type"] = "wikibase-entityid",
                ["value"] = table#5 {
                    ["entity-type"] = "item",
                    ["id"] = "Q4656150",
                    ["numeric-id"] = 4656150,
                },
            },
            ["property"] = "P31",
            ["snaktype"] = "value",
        },
        ["rank"] = "normal",
        ["references"] = table#6 {
            table#7 {
                ["hash"] = "3bf39867b037e8e494a8389ae8a03bad6825a7fc",
                ["snaks"] = table#8 {
                    ["P143"] = table#9 {
                        table#10 {
                            ["datatype"] = "wikibase-item",
                            ["datavalue"] = table#11 {
                                ["type"] = "wikibase-entityid",
                                ["value"] = table#12 {
                                    ["entity-type"] = "item",
                                    ["id"] = "Q191168",
                                    ["numeric-id"] = 191168,
                                },
                            },
                            ["property"] = "P143",
                            ["snaktype"] = "value",
                        },
                    },
                },
                ["snaks-order"] = table#13 {
                    "P143",
                },
            },
        },
        ["type"] = "statement",
    },
    table#14 {
        ["id"] = "q4048254$d1f08825-499b-8d4a-d1ee-304b2498a7fd",
        ["mainsnak"] = table#15 {
            ["datatype"] = "wikibase-item",
            ["datavalue"] = table#16 {
                ["type"] = "wikibase-entityid",
                ["value"] = table#17 {
                    ["entity-type"] = "item",
                    ["id"] = "Q14204246",
                    ["numeric-id"] = 14204246,
                },
            },
            ["property"] = "P31",
            ["snaktype"] = "value",
        },
        ["rank"] = "normal",
        ["type"] = "statement",
    },
}

Function url2

[عدل]

url2 takes a parameter url= that is a proper url and formats it for use in an infobox.

Examples:

  1. {{#invoke:WikidataIB |url2 |url= http://www.example.com/ }}www.example.com 
    <span class="url">[http://www.example.com/ www<wbr/>.example<wbr/>.com]</span>&nbsp;
  2. {{#invoke:WikidataIB |url2 |url= http://www.example.com/path/ }}www.example.com/path/ 
    <span class="url">[http://www.example.com/path/ www<wbr/>.example<wbr/>.com<wbr/>/path<wbr/>/]</span>&nbsp;
  3. {{#invoke:WikidataIB |url2 |url= {{Wdib|P856 |qid=Q23317 |fwd=ALL |osd=no}} }}https://www.audi.co.za/، https://www.audi.de/، https://www.audi.fr/ www.audi.com، https://www.audi.co.za/، https://www.audi.de/، https://www.audi.fr/ تعديل على ويكي بيانات
    <span class="url">[https://www.audi.com، https://www.audi.co.za/، https://www.audi.de/، https://www.audi.fr/ www<wbr/>.audi<wbr/>.com، https:<wbr/>/<wbr/>/www<wbr/>.audi<wbr/>.co<wbr/>.za<wbr/>/، https:<wbr/>/<wbr/>/www<wbr/>.audi<wbr/>.de<wbr/>/، https:<wbr/>/<wbr/>/www<wbr/>.audi<wbr/>.fr<wbr/>/]</span>&nbsp;<span class='penicon autoconfirmed-show'>[[ملف:OOjs UI icon edit-ltr-progressive.svg |frameless |text-top |10px |alt=تعديل على ويكي بيانات|link=https://www.wikidata.org/wiki/Q23317?uselang=ar#P856|تعديل على ويكي بيانات]]</span>
    {{Wdib|P856 |qid=Q23317 |fwd=ALL |osd=no}}https://www.audi.com، https://www.audi.co.za/، https://www.audi.de/، https://www.audi.fr/ تعديل على ويكي بيانات
    https://www.audi.com، https://www.audi.co.za/، https://www.audi.de/، https://www.audi.fr/&nbsp;<span class='penicon autoconfirmed-show'>[[ملف:OOjs UI icon edit-ltr-progressive.svg |frameless |text-top |10px |alt=تعديل على ويكي بيانات|link=https://www.wikidata.org/wiki/Q23317?uselang=ar#P856|تعديل على ويكي بيانات]]</span>
  4. {{#invoke:WikidataIB |url2 |url= {{مسار|http://www.example.com/}} }}www.example.com www.example.com/ www<wbr/>.example<wbr/>.com]</span>] 
    <span class="url">[http://www.example.com/ www<wbr/>.example<wbr/>.com]</span> www<wbr/>.example<wbr/>.com<wbr/>/ www<wbr<wbr/>/><wbr/>.example<wbr<wbr/>/><wbr/>.com]<<wbr/>/span>]</span>&nbsp;

Comparison with output of {{URL}}:

  1. {{مسار| http://www.example.com/ }}www.example.com
    <span class="url">[http://www.example.com/ www<wbr/>.example<wbr/>.com]</span>
  2. {{مسار| http://www.example.com/path/ }}www.example.com/path/
    <span class="url">[http://www.example.com/path/ www<wbr/>.example<wbr/>.com<wbr/>/path<wbr/>/]</span>
  3. {{مسار| {{ويكي بيانات|property|Q23317|P856}} }}www.audi.com
    <span class="url">[https://www.audi.com www<wbr/>.audi<wbr/>.com]</span>
    {{ويكي بيانات|property|Q23317|P856}}https://www.audi.com
    https://www.audi.com

See also

[عدل]

Coding into an infobox

[عدل]

Typically, the getValue call will be invoked in an infobox definition, using appropriate template parameters. One simple implementation is given as an example in Template:Infobox book/Wikidata/Sandbox. As an illustration, the 'author' field in the infobox is coded like this:

| label2  = Author{{#if:{{{authors|}}}|s}}
|  data2  = {{#invoke:WikidataIB |getValue |P50 |name=author |fetchwikidata={{{fetchwikidata|}}} |suppressfields={{{suppressfields|}}} |{{{authors|{{{author|}}}}}} }}

The property to be fetched is the first unnamed parameter. In this case it is المُؤَلِّف (P50).

The name of the field is passed in |name= and that name is checked against the blacklist and the whitelist. To always suppress the author field in a particular article, an editor will set |suppressfields=author in the infobox. The author field will then never be displayed.

If the field is not blacklisted, then the infobox can be set to display a locally supplied value for author simply by setting |author=جورج أورويل, for example, in the infobox. It also accepts |authors=. If the name of the field is on the whitelist, e.g. |fetchwikidata=author; genre; pub_date; pages; dewey; congress, and the local value is not supplied, then the infobox will display the value retrieved from Wikidata. Any separators can be used, except | and {}.

As a shorthand, |fetchwikidata=ALL will fetch all of the fields that are not blacklisted, as long as no local value is already provided in the article for a given field.

Since Wikidata labels are normally lower case, the ucfirst function from وحدة:String2 can be used to capitalise the first letter of the returned text, e.g.

Example of calls in an infobox

[عدل]

Basic use of getValue:

  • {{#invoke:WikidataIB |getValue |P000 |name=fieldname |qid={{{qid|}}} |fetchwikidata={{{fetchwikidata|}}} |onlysourced={{{onlysourced|}}} |{{{localparameter|}}} }}

Full collection of parameters:

  • {{#invoke:WikidataIB |getValue |P000 |name=fieldname |qid={{{qid|}}} |suppressfields={{{suppressfields|}}} |fetchwikidata={{{fetchwikidata|}}} |onlysourced={{{onlysourced|}}} |noicon={{{noicon|}}} |wdl={{{wikidatalink|}}} |df={{dateformat|}} |bc={{{bc|}}} |prefix= |postfix= |linkprefix= |linkpostfix= |sorted={{{sorted|}}} |sep={{{separator|}}} |list={{listtype|}}} |{{{localparameter|}}} }}

Any of the parameters can, of course, be fixed for a given field in an infobox, rather than taking the parameter supplied to the infobox, which will affect all fields. For example, one field may set |list=hlist where a series of short words is expected; whereas another field could use |list=ubl where an unbulleted vertical list of several words on each line is required.

Coordinates

[عدل]

The getCoords call will display the output of قالب:إحداثيات when supplied with the coordinates returned from Wikidata. It can be coded like this:

|label20 = Coordinates
| data20 = {{#invoke:WikidataIB |getCoords |name=coordinates |suppressfields={{{suppressfields|}}} |fetchwikidata={{{fetchwikidata|}}} |{{{coordinates|}}} }}

An example is قالب:Infobox biosphere reserve

{{Infobox biosphere reserve
| fetchwikidata = ALL
}}

Displays coordinates in the usual positions when used in an article where Wikidata has coordinates.

Upgrading existing infoboxes

[عدل]

Since the parameter |fetchwikidata= is needed for any Wikidata functionality, an existing infobox may be replaced by an infobox incorporating these calls without any change whatsoever to any article. Each article using the new infobox can later be enabled by supplying |fetchwikidata=ALL, or a list of required fields for that article. At that point, the onus is on the editor enabling the functionality to check that no unwanted fields are now being displayed. If so, they can be added to a blacklist for the article by setting |suppressfields= to the list of unwanted fields.

Verifiability

[عدل]

Where it will always be essential for a particular field to only contain values that are referenced, use getValue, making sure that |onlysourced= is not set to 'false', '0' or 'no'. By default it will exclude values that are unsourced or only sourced to a Wikipedia, thus making the job of checking easier at the article level. If unsourced data is acceptable (!), set |onlysourced=no. As it is beyond my wit to produce an automated mechanism that knows whether an existing source is reliable or not in a given context, that job must still be performed at the article level by an editor familiar with the subject. It should always be done when first enabling Wikidata for that article.

Helper templates

[عدل]
قالب:If then show
tests whether the first unnamed parameter is not an empty string and returns it if it isn't. Otherwise it returns the second unnamed parameter. Optional third and fourth unnamed parameters provide a prefix and a suffix for the first parameter when returned. Useful when the first parameter is a call to Wikidata.
قالب:اطبع لو لم يساو
tests whether the first unnamed parameter is equal to the second unnamed parameter and returns the third unnamed parameter if it does. Otherwise it returns the first unnamed parameter. This is useful when the first parameter is a {{#invoke: of a Lua module that returns a value for which a specific exception is required.
قالب:If then wikilink
tests whether the first unnamed parameter is not an empty string and if it isn't, it returns the parameter formatted as piped wiki-link using an optional namespace prefix.
قالب:Formatter link
takes an external identifier code as |code= and uses a formatter url as |url= to construct a link to the external resource, which uses the code as display.
قالب:Emptyor
tests a piece of text to ascertain whether it's effectively empty or contains some text. If the unnamed parameter consists only of html tags, punctuation (e.g. wiki markup) and whitespace, then Emptyor returns nothing; otherwise it returns the parameter unchanged. Wrapper for p.emptyor function.

Example of use: Infobox book

[عدل]

This section is taken from قالب:Infobox book/Wikidata/Sandbox/doc.

No Wikidata

[عدل]
{{Infobox book/Wikidata/Sandbox
| suppressfields =
| fetchwikidata  =
| name           = Animal Farm
| title_orig     = Animal Farm: A Fairy Story
| image          = Animal Farm - 1st edition.jpg
| image_size     = 200px
| caption        = First edition cover
| author         = [[جورج أورويل]]
| country        = United Kingdom
| language       = English
| genre          = Political satire
}}

Works as a non-aware infobox: only locally supplied parameters are displayed.

{{Infobox book/Wikidata/Sandbox
| name           = Animal Farm
| title_orig     = Animal Farm: A Fairy Story
| image          = Animal Farm - 1st edition.jpg
| image_size     = 200px
| caption        = First edition cover
| author         = [[جورج أورويل]]
| country        = United Kingdom
| language       = English
| genre          = Political satire
}}

The blacklist and whitelist can be omitted if unused

All Wikidata

[عدل]
{{Infobox book/Wikidata/Sandbox
| fetchwikidata  = author; genre; pub_date; pages; dewey; congress
}}

Fetches the author, publication date, number of pages, Dewey index, and Library of Congress catalogue number values from Wikidata.

{{Infobox book/Wikidata/Sandbox
| fetchwikidata  = ALL
}}

As shorthand, the |fetchwikidata= parameter can be set to ALL to fetch all available fields. Any field can be suppressed by naming it in |suppressfields=, or overridden by supplying a local value.

Never display genre

[عدل]
{{Infobox book/Wikidata/Sandbox
| suppressfields = genre
| fetchwikidata  = author; genre; pub_date; pages; dewey; congress
}}

The genre field will always be suppressed, even if a local value is supplied.

{{Infobox book/Wikidata/Sandbox
| suppressfields = genre
| fetchwikidata  = author; genre; pub_date; pages; dewey; congress
| genre          = Political satire
}}

Local override

[عدل]
{{Infobox book/Wikidata/Sandbox
| fetchwikidata  = author; genre; pub_date; pages; dewey; congress
| genre          = Political satire
}}

The genre field is set to display "Political satire", no matter what is stored in Wikidata.

{{Infobox book/Wikidata/Sandbox
| fetchwikidata  = ALL
| genre          = Novel
}}

The genre field is set to display "Novel", no matter what is stored in Wikidata.

Don't fetch genre

[عدل]
{{Infobox book/Wikidata/Sandbox
| suppressfields = 
| fetchwikidata  = author; pub_date; pages; dewey; congress
}}

The genre field will not be fetched from Wikidata. Only the author, publication date, number of pages, Dewey index, and Library of Congress catalogue number are imported. A local value for genre will display.

Exporting the module

[عدل]

WikidataIB has been developed to run on any language wiki (or Wikimedia project) with a minimum of modification. An optional sub-module Module:WikidataIB/i18n may be created to replace the values for error messages, ordinal suffixes etc. as shown in the local i18n definitions in the module. Although the same result can be arrived at by directly editing those values in WikidataIB, using the sub-module will allow an updated version of WikidataIB to directly replace the older module without having to re-edit the i18n definitions.

Linked items

[عدل]

If the target Wiki has a convention that certain items are not normally linked (see ويكيبيديا:دليل الأسلوب/وصلات for an example), then a sub-module Module:WikidataIB/nolinks can be created to list items that should not be linked, using the English Wikipedia sub-module as an exemplar.

Italic titles

[عدل]

If the target Wiki has a convention that certain works should be italicised or quoted (see en:Wikipedia:Manual of Style/Text formatting #Names and titles for an example), then a sub-module وحدة:WikidataIB/titleformats can be created to list items that should be italicised or quoted, using the English Wikipedia sub-module as an exemplar.

Complex date

[عدل]

Most of the output from the module will use the local language (or any user-specified one on multi-lingual wikis) where the sitelink or label exists on Wikidata. However, dates are more complicated and not handled perfectly in all languages. To solve this, WikidataIB uses وحدة:Complex date – developed on Commons by Jarekt – which allows expansion to support a wider variety of languages. As a result, it is necessary to install Complex date and its dependencies alongside WikidataIB when installing on another Wikimedia project.

Complex date dependencies

[عدل]

وحدة:Complex date relies on the following modules:

Unless otherwise noted, the authoritative version of each module can be found on Commons although the versions on English Wikipedia are usually kept in sync.

See also

[عدل]

Tracking categories

[عدل]