خطأ في بيانات Schema.org لـ DiscussionForumPosting؟

لاحظت وجود خطأ في بيانات Schema.org لـ DiscussionForumPosting.

عندما أقوم بتشغيل موضوع عشوائي في منتدى Discourse من خلال أداة التحقق، فإنه يُظهر حقل @id بعناوين URL غير موجودة.

إليك مثال مع مسار لاحق /post_2 (إنه خطأ 404):

أعتقد أن حقول @id هذه من المفترض أن تكون عناوين URL عاملة، لأن W3.org تقول:

لكي نتمكن من الإشارة خارجيًا إلى العقد في رسم بياني، من المهم أن يكون للعقد معرف. IRIs مفهوم أساسي للبيانات المترابطة، لكي تكون العقد مترابطة حقًا، يجب أن يؤدي إلغاء مرجعية المعرف إلى تمثيل لتلك العقدة. قد يسمح هذا للتطبيق باسترداد مزيد من المعلومات حول العقدة.

إعجاب واحد (1)

أتساءل عما إذا كانت هذه مشكلة في كيفية عرض المدقق للمعّرف. على حد علمي، يتم سحب المعّرف من العلامة وليس شيئًا نحدده بأنفسنا، على سبيل المثال:

id='post_1' هو @id

إذا نقرت على قسم المعّرف هذا في المدقق، فإنه يسلط الضوء بشكل صحيح على المنشور الذي يحمل المعّرف المطابق… لذا يبدو أن المدقق يمكنه التعرف عليه بشكل صحيح.

ألاحظ هذا السلوك في مواقع أخرى ذات قيم @id، على سبيل المثال في بيانات المخطط لسؤال stackoverflow.com هذا:

Screenshot 2023-03-28 at 5.59.12 PM

هذا يعاني من نفس المشكلة، https://stackoverflow.com/questions/7227202/answer-38775925 ليس عنوان URL صالحًا في الواقع، فهو يعاني من نفس الخطأ حيث يجب أن يكون علامة # بدلاً من / https://stackoverflow.com/questions/7227202#answer-38775925.

هل هناك أي مؤشرات على أن هذا يسبب مشكلة في كيفية استخدام هذه البيانات عمليًا في أي مكان؟

إعجاب واحد (1)

هذا مثير للاهتمام. لم أفكر في التحقق من مصدر HTML وافترضت فقط أنه JSON-LD.

تستخدم Google بيانات المخطط، لكنني لست متأكدًا مما إذا كانوا يستخدمون هذا المخطط المحدد. وثائق schema.org ليست مكتوبة بوضوح شديد.

يبدو أن Discourse يضع عدة DiscussionForumPosting في كل موضوع، ولكن المثال في الوثائق يبدو وكأن DiscussionForumPosting قد يُقصد به الإشارة إلى الموضوع الرئيسي فقط وليس التعليقات؟ تسرد الوثائق حقل comment مع Comment (مفرد) على الرغم من أن الوصف مكتوب بصيغة الجمع.

image

لقد نظرت للتو في كيفية قيام Invison بذلك ويستخدم JSON-LD، ويضع كائنات Comment في حقل comment. يبدو أن هذا الكثير من النص الإضافي لإرساله إلى المتصفح.

لا أعرف ما هو الحل، لكنني سأحاول البحث فيه لاحقًا.

إعجاب واحد (1)

هل هذا ذو صلة؟

3 إعجابات

أنا أتجول في هذا المنتدى بالصدفة وهو أمر مناسب. أمتلك رمز Google الذي يحلل ذلك.

الخيط المرتبط هو إجابة جيدة لموضوع التعليق. سأتناول الباقي هنا.

من غير القياسي في الأساس تفسير سمات معرف HTML كمعرفات عقد. تم ذلك في بداية تحليل البيانات الوصفية الدقيقة من Google ربما لأسباب غير واضحة. من المفترض أن تستخدم itemid إذا كنت تريد القيام بذلك بشكل صريح. آمل أن أزيل تلك الحيلة يومًا ما ولكن من الصعب إخراج شيء كهذا دون خسائر.

ثانيًا، لا يلزم أن تكون معرفات الموارد الدولية (IRIs) قابلة للإلغاء. هذا اقتراح من W3C ولكن العديد من معرفات الموارد الدولية (IRIs) ليست كذلك وجوجل بالتأكيد لا يتطلب ذلك.

هذه مشكلة فقط إذا تسببت في دمج العقد في البيانات المنظمة عن طريق الخطأ كما لو كنت تستخدم itemid بنفس القيمة في مكان آخر في HTML. بخلاف ذلك، فهي مجرد غرابة يمكن تجاهلها.

أوه، ومن فضلك لا تنتقل إلى JSON-LD. بصراحة، هذا مفضل للعلامات النصية الثقيلة مثل المنتديات. الاضطرار إلى تكرار المحتويات النصية أمر سخيف. إنه ببساطة أسهل في التأليف وهذا هو السبب في أننا كنا ندفعه.

9 إعجابات

شكراً للتتبع @rrlevering! يبدو أنه من الآمن إغلاق هذه المشكلة، وسنقوم بتحديث مخطط الموضوع/المنشور في Different schema type for Topics and Posts

5 إعجابات

تم إغلاق هذا الموضوع تلقائيًا بعد يومين. لم يعد يُسمح بالردود الجديدة.