ويكي بيانات:أداة المصادر الأولية
تسمح أداة المصادر الأساسية لسير عمل التدفق بالتبرعات بالبيانات إلى ويكي بيانات، حيث يمكن لمحرري ويكي بيانات مراجعة أو تعديل أو رفض البيانات المقدمة إلى المجتمع، تم دمج سير العمل في ويكي بيانات.
جربها
- انتقل إلى
أدواتك
. - علم على عنصر
Primary Sources
(قسمWikidata-centric
) واضغط على زرSave
في أسفل الصفحة. - في الشريط الجانبي الأيمن، انقر على رمز الترس، بجوار رابط
Random Primary Sources item
. - اختر مجموعة بيانات، مثل
strephit-confident
أوsoweego
أوfreebase
. - يمكنك اختبار الأداة بثلاث طرق:
- رابط الشريط الجانبي
Primary Sources list
(قسمTools
)- انقر على زر
Load
لفهم سريع لمحتوى مجموعة البيانات. - اختياريا، أدخل معرف الخاصية لتصفية البيانات.
- انقر على زر
- يعرض الرابط الجانبي
Random page
عنصرا ليتم تنسيقه. - عنصر من اختيارك.
- رابط الشريط الجانبي
ملاحظة: أدوات ويكي بيانات مكتوبة بجافا سكريبت; لذا تأكد من أنك سمحت بتنفيذها في متصفحك.
اقتراح ترقية أداة المصادر الأولية
الإصدار الأول والحالي لأداة المصادر الأولية (PST) ينبع من تبرع فريبيس من قبل جوجل.[1] استنادا إلى تعليقات المجتمع التي تم جمعها منذ نشرها كأداة ويكي بيانات[2][3][4]، فإن فريق StrepHit يقدم هنا اقتراحا راديكاليا، مما سيؤدي إلى الإصدار التالي من الأداة.
الرجاء ملاحظة أن جميع النماذج المشار إليها في هذه الوثيقة يمكن الوصول إليها في phab:M218
مستودع كود النسخة 1
- النهاية الخلفية: مكتوبة بـC++، مع تخزين SQL، تم نشرها كخدمة ويب عبر واجهات برمجة تطبيقات REST.[5]
- النهاية الأمامية : مكتوبة بـJavaScript، تم نشرها كأداة ويكي بيانات.[6]
الأهداف
الهدف العام هو جعل الأداة ذاتية الاستدامة، لتحقيق ذلك; تعطى الأولوية القصوى لما يلي:
- معايير الويب
- الاستقرار: أي الخيارات المدفوعة بسياسة واجهة ويكي بيانات المستقرة.[7]
اعتماد لغة البرمجة من قبل مجتمع ويكيميديا.
وبالإضافة إلى ذلك، ينبغي أيضا أن تصبح أداة الخيار المفضل لإصدارات البيانات من مزودي الطرف الثالث[8]، وهذا يجعل الحاجة إلى إجراء الإصدارات القياسية حتى أكثر أهمية .
سير عمل المستخدم
يمكن للمستخدم قبول أو رفض بيان جديد تقترحه الأداة:
- معطى صفحة عنصر، يتم تمييز البيان المقترح بخلفية زرقاء.
- يمكن للمستخدم قبوله أو رفضه بالنقر فوق رابطي "approve claim" أو "reject claim" على التوالي.
- بعد ذلك، سيتم تحديث الصفحة بالبيان الجديد في الحالة الأولى أو بدونه في الحالة الثانية.
بشكل مماثل، يمكن للأداة اقتراح مراجع جديدة لبيان موجود:[9]
- يتم تمييز المرجع الجديد بخلفية زرقاء.
- يمكن للمستخدم قبوله أو رفضه بالنقر إما على رابط
approve reference
أو على رابطreject reference
على التوالي. - يمكن للمستخدم أيضا الاطلاع على تلميح أدوات المعاينة الذي يوضح مصدر المصدر من خلال النقر على
preview reference
.[10][11] - إذا كانت مجموعة البيانات تحتوي على معلومات عن مصدر بالغ الدقة، على سبيل المثال، مقتطف النص حيث تم استخراج البيان المقترح، [12] سيوضح تلميح أداة المعاينة تلك المعلومات الدقيقة. [13]
- في حالة عدم التفاعل السلس بين النهاية الأمامية والنهاية الخلفية، سيظهر تلميح الأداة مع رسالة تنبيه.[14]
تكوين المصادر الأولية
- عندما ينقر المستخدم على رمز الترس بجوار الرابط
Random Primary Sources item
(راجع القسم أدناه) في القائمة الرئيسية في الشريط الجانبي الأيسر، سيتم فتح نافذة مشروطة.[15][16][17] - يمكن للمستخدم البحث وتحديد أية مجموعة بيانات لاستخدامها.
- يتم عرض معلومات أساسية، بالتحديد
Dataset description
وMissing statements
وTotal statements
. - يمكن للمستخدم إما
Save
أوCancel
الإعدادات الجديدة.
بند مصدر ابتدائي عشوائي
- يمكن للمستخدم الانتقال إلى عنصر عشوائي يحتوي على بيانات مقترحة بالنقر فوق الرابط
Random Primary Sources item
الموجود في القائمة الرئيسية في الشريط الجانبي الأيسر. - سيتم اختيار العنصر عشوائيا من مجموعات البيانات المحددة في تكوين مصادر أولية.
تصفح المصادر الأولية
- يمكن للمستخدم استعراض بيانات مقترحة مجمعة بواسطة الخاصية عن طريق النقر فوق رابط الخاصية المناسبة أسفل القائمة
Browse Primary Sources
على الشريط الجانبي الأيسر. - يمكن للمستخدم الانتقال مرة أخرى إلى أعلى الصفحة عن طريق النقر على الرابط
back to top
أسفل قائمةBrowse Primary Sources
مباشرة في الشريط الجانبي الأيسر.
أداة تعتمد على التصفية
ينطبق سير عمل مماثل على أداة قائمة على المرشح، توجد في قائمة Tools
في الشريط الجانبي الأيسر.
- عندما يقوم المستخدم بالنقر فوق الرابط
Primary Sources filter
(حالياPrimary Sources list
)، سيتم فتح نافذة مشروطة.[18] - يمكن للمستخدم عرض جدول البيانات المقترحة مع المراجع في نهاية المطاف عن طريق إنشاء مرشحات بعدة طرق:
Domain of interest
: يبدأ المستخدم بكتابة مجال يهتم به ويحصل على الإكمال التلقائي استنادا إلى قيود بسيطة، وهي عادةً خاصية instance of (P31)، على سبيل المثال، سرد كافة العناصر التي تكون chemical compound (Q11173).Property
: يبدأ المستخدم في كتابة خاصية ما مهتم بها ويحصل على الإكمال التلقائي استنادا إلى تسميات الخواص، يعرض هذا المرشح فقط البيانات المقترحة مع الخاصية المحددة، على سبيل المثال، سرد جميع date of birth (P569).SPARQL Query
: تم إعداد هذا المرشح لمستخدمي الطاقة ويقبل استعلامات سباركل عشوائية.Source language
: تعرض البيانات فقط باللغة المختارة.Dataset
: يتيح للمستخدم اختيار مجموعة بيانات محددة أو أكثر لاستخدامها، على غرار تكوين المصادر الأولية.
بعد إنشاء المرشحات، تعرض الأداة جدولا بالبيانات، حيث يمكن للمستخدم إما approve
أو reject
الاقتراحات، بعد preview
مصدر المراجع ، حسب قسم قسم "User workflow"، يمكن حظر إجراءات الموافقة أو الرفض إذا لم يتم فتح معاينة المصدر.[19]
العمارة
تنفيذ النهاية الخلفية
صيغة التاريخ
تقبل الأداة حاليا مجموعات البيانات المتسلسلة في QuickStatements (Q20084080)، في حين أنه في الواقع تنسيق مدمج للغاية، مفيد لتحميل مجموعة كبيرة من البيانات، فهو غير قياسي تماما: يتم تضمين الوثائق المتوفرة الوحيدة في صفحة خدمة بيانات سريعة نفسها[20]، ومن ثم، نتوقع دعم التنسيقات المستقرة لكل من القدرة على استمرارية المشروع وسير عمل مقنن للتبرع بالبيانات، مع ذلك، سنبقي دعم بيانات سريعة.
يجب إجراء تسلسل لمجموعات البيانات من موفري الجهات الخارجية في RDF ومتابعة نموذج بيانات RDF ويكي بيانات [21] نعتقد أن هذه هي الطريقة الأكثر قياسية لسببين:
- RDF هو معيار ويب ناضج; كونه توصية W3C منذ 1999.[22]
- يُدعَى تنسيق تصدير RDF ويكي بيانات ليكون ثابتا.[23]
المكون الرئيسي
بالنظر إلى هذه المقدمات المنطقية، فإن حالة خدمة استعلام ويكي بيانات[24] ملائمة بشكل جيد للجهة الخلفية. لأنها:
- تستخدم متجر RDF ثلاثيا: أي Blazegraph كمحرك تخزين.[25]
- زعمت أنها واجهة برمجة تطبيقات ويكي بيانات عامة مستقرة.[26]
- مكتوبة بـJava، على الأرجح لغة برمجة أكثر اعتمادا مقارنة بالتنفيذ الحالي بـC++.
- لديها تسهيلات لتحميل مجموعات البيانات بتنسيق تفريغ RDF ويكي بيانات.[27]
- تعرض واجهات برمجة تطبيقات للوصول إلى البيانات عبر سباركل، مفيدة بشكل خاص لكل من مرشح النطاق وميزات صندوق نص الاستعلام.[28]
الأداة الرئيسية ستدعم بيانات كاملة، في حين أن الأداة التي تعتمد على التصفية ينبغي أن تتغذى على بيانات truthy.
استيعاب API
واجهة برمجة تطبيقات الإدخال هي المسؤولة عن التفاعل مع موفري البيانات التابعين لجهات خارجية، يتم أولا التحقق من صحة مجموعات البيانات الواردة مقابل نموذج بيانات RDF ويكي بيانات. ستوفر بعد ذلك الخدمات التالية لمجموعات البيانات:
- الرفع.
- التحديث.
- الإسقاط.
معالجة API
واجهة برمجة تطبيقات المعالجة مسؤولة عن التفاعل مع مستخدمي ويكي بيانات، مع خدمتين رئيسيتين، ستقترح عليك ادعاءات للإضافة والإبلاغ عن الاقتراحات المرفوضة في وحدة التخزين الخلفية.
تنفيذ الواجهة الأمامية
الهدف الرئيسي للاستدامة الذاتية هو تجنب كسر الواجهة الأمامية عندما يتم إجراء تغيير في واجهة مستخدم ويكي بيانات. لتحقيق ذلك; ستصبح الأداة الحالية امتداد ميدياويكي لWikibase (Q16354758). إعادة بناء كود القواعد الرئيسية أمر أساسي وسوف:
- يشمل اختبارات الوحدة، من المتوقع حدوث حالات فشل في حالة حدوث تغييرات في واجهة مستخدم ويكي بيانات، وسوف يتم كسر بنية ويكي بيانات بدلا من كسر الأداة.
- يقوم بتمييز واضح بين التفاعل مع النهاية الخلفية وبين المستخدمين.
- ينفذ قوالب HTML.
الكود سيتم تقسيمه إلى مكونين نموذجيين من تمديد ميدياويكي، مكتوب ب'PHP وجافا سكريبت على التوالي.
مكون PHP
سيكون مكون PHP مسؤولا فقط عن تهيئة الإضافة، سيتم التعامل مع كل ما تبقى عن طريق مكون JavaScript.
مكون جافا سكريبت
مكون جافا سكريبت سوف:
- إنشاء تقديم القالب النهائي، وبشكل أكثر تحديدا، سيتم إلحاق القالب ببيانات البند الحالي عند الحاجة
- التعامل مع التفاعل مع المستخدم، وبشكل أكثر تحديدا، ستقوم بما يلي:
- إخطار النهاية الخلفية للأداة باللموافقة أو الرفض للادعاء أو المرجع المقترح.
- إضافة ادعاء أو مرجع معتمد إلى ويكي بيانات عبر API ميدياويكي.[29]
- تنفيذ الميزات المذكورة في سير عمل المستخدم.
المراجع
- ↑ Pellissier Tanon, T., Vrandečić, D., Schaffert, S., Steiner, T., and Pintscher, L. (2016, April). From Freebase to Wikidata: The Great Migration. In Proceedings of the 25th International Conference on World Wide Web (pp. 1419-1428). ACM (2016)
- ↑ RFC: Semi-automatic Addition of References to Wikidata Statements
- ↑ Wikidata_talk:Primary_sources_tool
- ↑ phab:project/view/2788
- ↑ https://github.com/Wikidata/primarysources/tree/d24ca9ecef71b93f0feed27f6fdc4e479c929004/backend
- ↑ https://github.com/Wikidata/primarysources/tree/d24ca9ecef71b93f0feed27f6fdc4e479c929004/frontend
- ↑ Wikidata:Stable Interface Policy
- ↑ Data donation: 3. Work with the Wikidata community to import the data
- ↑ Help:Sources
- ↑ PST - Wireframe 1
- ↑ PST - Mockup 1
- ↑ m:Grants:IEG/StrepHit:_Wikidata_Statements_Validation_via_References
- ↑ PST - Mockup 2
- ↑ PST - Mockup 3
- ↑ PST configuration - Mockup 1
- ↑ PST configuration - Mockup 2
- ↑ PST configuration - Mockup 3
- ↑ PS filter - Mockup 1
- ↑ PS filter - Mockup 2
- ↑ https://tools.wmflabs.org/wikidata-todo/quick_statements.php
- ↑ mw:Wikibase/Indexing/RDF_Dump_Format#Data_model
- ↑ https://www.w3.org/TR/PR-rdf-syntax/
- ↑ Wikidata:Stable_Interface_Policy#Stable_Data_Formats
- ↑ mw:Wikidata_query_service
- ↑ phab:T166503
- ↑ Wikidata:Stable_Interface_Policy#Stable_Public_APIs
- ↑ https://github.com/wikimedia/wikidata-query-rdf/tree/master/dist/src/script
- ↑ phab:T166512
- ↑ https://www.wikidata.org/w/api.php