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

توسيع بيانات JSON-LD — Numio

يوسّع (expansion) مستند JSON-LD باستخدام jsonld.js: يُطبَّق @context ثم يُزال، وتصبح المصطلحات عناوين IRI كاملة، وتُغلَّف كل قيمة في مصفوفة من كائنات @value أو @id. وتُحذف المفاتيح التي لا ترتبط بأي IRI.

التحقق من عناوين IRI التي تُحلّ إليها فعليًا مصطلحات schema.org أو مصطلحات @context المخصص لديك.

JSON-LD

Expanded

متى تستخدمها

  • التحقق من عناوين IRI التي تُحلّ إليها فعليًا مصطلحات schema.org أو مصطلحات @context المخصص لديك.
  • تصحيح البيانات المنظّمة التي تختفي فيها خاصية بصمت لأنها غير معرّفة في السياق.

طريقة الاستخدام

  1. الصق مستند JSON-LD مع @context الخاص به في محرر JSON-LD.
  2. اقرأ المصفوفة الموسّعة: تُدرج كل عقدة عناوين IRI الكاملة للخصائص وقيمها داخل مصفوفات.
  3. قارن بالمدخلات؛ أي خاصية مفقودة من المخرجات لم يربطها السياق.

JSON-LD

{
  "@context": {
    "name": "http://schema.org/name",
    "knows": {"@id": "http://schema.org/knows", "@type": "@id"},
    "homepage": {"@id": "http://schema.org/url", "@type": "@id"}
  },
  "@id": "http://example.org/jane",
  "@type": "http://schema.org/Person",
  "name": "Jane Doe",
  "homepage": "http://janedoe.example",
  "knows": "http://example.org/john"
}

JSON-LD موسّع

[
  {
    "@id": "http://example.org/jane",
    "@type": [
      "http://schema.org/Person"
    ],
    "http://schema.org/url": [
      {
        "@id": "http://janedoe.example"
      }
    ],
    "http://schema.org/knows": [
      {
        "@id": "http://example.org/john"
      }
    ],
    "http://schema.org/name": [
      {
        "@value": "Jane Doe"
      }
    ]
  }
]

التفاصيل والقيود

يجري التوسيع في متصفحك باستخدام الحزمة jsonld. ينزّل متصفحك أي @context بعيد مثل https://schema.org/ (المستخدم في المثال الافتراضي)؛ وإذا فشل ذلك (دون اتصال، أو CORS)، تعرض الصفحة خطأً يذكر عنوان URL.

وجود "@type": "@id" في تعريف مصطلح يحوّل القيمة النصية إلى مرجع {"@id": ...} بدلًا من قيمة حرفية.

المخرجات دائمًا مصفوفة في المستوى الأعلى، حتى لعقدة واحدة.

FAQ

لماذا اختفت بعض خصائصي؟

يحذف التوسيع المفاتيح غير المعرّفة في @context والتي ليست عناوين IRI مطلقة. مثلًا، إذا رُبط name فقط، يُزال المفتاح nickname من المخرجات.

هل يمكنني استخدام سياق schema.org؟

نعم. يعمل "@context": "https://schema.org/" إذا تمكّن متصفحك من جلبه. للعمل دون اتصال، اكتب تعريفات المصطلحات مضمّنة كما في المثال.

لماذا كل قيمة داخل مصفوفة؟

يستخدم الشكل الموسّع دائمًا مصفوفات لقيم الخصائص ولـ @type، كي تعالج المعالِجات القيم المفردة والمتعددة بالطريقة نفسها.

المواصفات والمراجع