توسيع بيانات JSON-LD — Numio
يوسّع (expansion) مستند JSON-LD باستخدام jsonld.js: يُطبَّق @context ثم يُزال، وتصبح المصطلحات عناوين IRI كاملة، وتُغلَّف كل قيمة في مصفوفة من كائنات @value أو @id. وتُحذف المفاتيح التي لا ترتبط بأي IRI.
التحقق من عناوين IRI التي تُحلّ إليها فعليًا مصطلحات schema.org أو مصطلحات @context المخصص لديك.
متى تستخدمها
- التحقق من عناوين IRI التي تُحلّ إليها فعليًا مصطلحات schema.org أو مصطلحات @context المخصص لديك.
- تصحيح البيانات المنظّمة التي تختفي فيها خاصية بصمت لأنها غير معرّفة في السياق.
طريقة الاستخدام
- الصق مستند JSON-LD مع @context الخاص به في محرر JSON-LD.
- اقرأ المصفوفة الموسّعة: تُدرج كل عقدة عناوين IRI الكاملة للخصائص وقيمها داخل مصفوفات.
- قارن بالمدخلات؛ أي خاصية مفقودة من المخرجات لم يربطها السياق.
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، كي تعالج المعالِجات القيم المفردة والمتعددة بالطريقة نفسها.