عند تبادل خطط التنظيف الرقمية، يعتمد الأمر على البيانات التي يتلقاها الفحص بالفعل. يمكن لاسم حقل مكرر أن يؤدي إلى استبدال المعلومات بمجرد قراءة ملف JSON. وقد يرى فحص المخطط اللاحق للكائن الناتج القيمة المتبقية فقط في ظل ظروف معينة. يشرح المقال التقني الصادر عن شركة جوناس للتنظيف (Jonas Gebäudereinigung) هذا الاختلاف باستخدام مثال مصغر خيالي صراحةً.
يحتوي كائن JSON على إدخالات مسماة. توصي معيارية الإنترنت RFC 8259 بتعيين أسماء فريدة داخل الكائن. ومع ذلك، لا تؤدي الأسماء المتكررة إلى نفس النتيجة في كل تطبيق: فبعض البرامج تحتفظ بالزوج الأخير، والبعض الآخر يبلغ عن خطأ أو يوفر جميع الأزواج. لذا فإن "القابلية للقراءة" وحدها ليست دليلاً على الاحتفاظ بجميع المعلومات التي كانت موجودة في الأصل.
المثال المصغر هو: {"turnus":"wöchentlich","turnus":"monatlich"}. وهو يعرض إدخالين يحملان نفس الاسم في نفس الكائن. هذه ليست خطة تنظيف كاملة ولا مجموعة بيانات من مخطط جوناس. اسم الحقل الخيالي يهدف فقط إلى إظهار الآلية. كلا القيمتين موجودتان في النص الأصلي؛ ولم يتم اتخاذ قرار فني بشأن المعنى الذي يجب أن تكون له الأولوية.
يحتفظ مفكك الترميز القياسي لمكتبة json في بايثون (Python) بالزوج الأخير عند حدوث مثل هذه التكرارات. في التجربة الاصطناعية الخاصة، بقيت كلمة "monatlich" (شهري). وبعد عكس ترتيب الأزواج، بقيت كلمة "wöchentlich" (أسبوعي). لم تتم معالجة أي بيانات خاصة بالعملاء في هذا الإجراء. تصف النتيجة مفكك الترميز هذا بإعداداته الافتراضية ولا تعد قاعدة عامة لجميع برامج JSON. لا يمكن استعادة الإدخال المكرر الأصلي من النتيجة المبسطة وحدها.
هنا تبدأ حدود التحقق اللاحق من المخطط. يمثل نموذج بيانات مواصفات مخطط JSON 2020-12 الكائن كمجموعة من الخصائص، حيث لا يمكن تمثيل خاصيتين بنفس الاسم. السلوك في حالة الأسماء المكررة في المستند المصدر غير محدد هناك. إذا قامت أداة ما بفحص الكائن الناتج فقط، فلا يمكن للقاعدة رؤية الإدخال الذي تمت إزالته. يمكن للأداة المتكاملة فحص النص الأصلي بالإضافة إلى ذلك؛ يجب توضيح ذلك لمسار الاستيراد الملموس.
توفر بايثون نقطة انطلاق مع object_pairs_hook لمعالجة الأزواج المرتبة للكائن أثناء فك الترميز. تمكنت وظيفة فحص صغيرة خاصة من التعرف على الأسماء المتكررة في التجربة الاصطناعية ورفض الاستيراد. كان ذلك اختباراً منفصلاً عند القراءة، وليس فحصاً مقابل مخطط جوناس. لم يتم إثبات أو إدخال وظيفة حماية جاهزة لعملية دمج حقيقية للعملاء.
الحد ينطبق داخل كائن واحد. قد يظهر نفس الاسم مرة واحدة في كائنين مختلفين دون أن يعني ذلك وجود التكرار الموصوف. يجب أيضاً مراعاة طريقة الكتابة: يمكن أن يتوافق اسم يحتوي على تمثيل هروب (Escape) بعد فك الترميز مع نفس الاسم كسلسلة نصية مكتوبة مباشرة. لذلك، فإن مجرد عد الأجزاء النصية المرئية لا يغني عن فحص الأسماء المفككة في كل كائن.
بالنسبة لعملاء استيراد البيانات، السؤال الجوهري هو: هل يتم التعرف على الأسماء المتكررة قبل فقدان المعلومات المحتمل، وماذا يحدث بعد ذلك؟ لا تجيب إشارة التحقق الناجحة من المخطط على هذا السؤال إلا إذا كان مسار الاستيراد يتضمن هذا التحكم الإضافي بالفعل. علاوة على ذلك، لا يحدد ترتيب إدخالين أيهما هو دورة التنظيف المتفق عليها.
تقدم شركة جوناس للتنظيف بالفعل مخطط بيانات عام لخطة التنظيف ومثالاً اصطناعياً. يصف المقال سؤال استيراد عام في سياق التطبيق الحالي هذا. ولا يعلن عن إصدار برمجيات جديد أو خطأ مرصود في جوناس أو تغيير تم تنفيذه.
المورد: https://xn--jonas-gebudereinigung-e2b.de/ressourcen/reinigungsplan-datenschema/
الأسس التقنية: RFC 8259، الأقسام 4 و 8.3؛ توثيق بايثون، json؛ مخطط JSON 2020-12، النواة، القسم 4.2.
المصادر: https://www.rfc-editor.org/info/rfc8259/ · https://docs.python.org/3/library/json.html · https://json-schema.org/draft/2020-12/json-schema-core
مؤلف الشركة: جوناس للتنظيف (Jonas Gebäudereinigung). تم إنشاؤه بدعم من الذكاء الاصطناعي ومراجعته بناءً على المصادر المذكورة؛ لا يُدعى وجود مراجعة بشرية متخصصة.
جهة الاتصال الصحفية: المساعدة الصحفية لشركة جوناس للتنظيف
Alexanderstraße 101 B, 26121 Oldenburg, ألمانيا
هاتف: +49 441 24923021
البريد الإلكتروني: info@jonas-gebäudereinigung.de
