تحويل JSON-LD إلى الصيغة الموجزة — Numio
يضغط (compaction) مستند JSON-LD وفق السياق الذي تحدده باستخدام jsonld.compact. تصبح عناوين IRI الكاملة مصطلحاتك أو أسماء بصيغة prefix:suffix، وتُختصر المصفوفات ذات العنصر الواحد إلى قيم بسيطة.
تحويل JSON-LD الموسّع المطوّل الصادر عن أداة RDF إلى مفاتيح قصيرة مقروءة يحددها سياقك.
متى تستخدمها
- تحويل JSON-LD الموسّع المطوّل الصادر عن أداة RDF إلى مفاتيح قصيرة مقروءة يحددها سياقك.
- التحقق من أن السياق يربط عناوين IRI المتوقعة قبل نشره.
طريقة الاستخدام
- الصق المستند (موسّعًا أو بأي سياق) في محرر JSON-LD.
- ضع السياق المستهدف في محرر Context ككائن يحتوي على مفتاح @context.
- اقرأ النتيجة: يوضع السياق في الأعلى وتستخدم الخصائص مصطلحاته.
JSON-LD + السياق
// JSON-LD editor
{
"@id": "http://example.org/book/1",
"@type": "http://schema.org/Book",
"http://schema.org/name": "Dune",
"http://schema.org/author": {"@id": "http://example.org/frank-herbert"},
"http://schema.org/datePublished": {"@value": "1965", "@type": "http://www.w3.org/2001/XMLSchema#gYear"}
}
// Context editor
{"@context": {"schema": "http://schema.org/", "title": "schema:name",
"author": {"@id": "schema:author", "@type": "@id"}}}JSON-LD مضغوط
{
"@context": {
"schema": "http://schema.org/",
"title": "schema:name",
"author": {
"@id": "schema:author",
"@type": "@id"
}
},
"@id": "http://example.org/book/1",
"@type": "schema:Book",
"author": "http://example.org/frank-herbert",
"schema:datePublished": {
"@type": "http://www.w3.org/2001/XMLSchema#gYear",
"@value": "1965"
},
"title": "Dune"
}التفاصيل والقيود
تستخدم الخصائص التي ليس لها مصطلح مطابق بادئةً إن كانت معرّفة (schema:datePublished)؛ وإلا فتبقي على IRI الكامل.
المصطلح الذي يحمل "@type": "@id" يسمح بضغط المراجع إلى سلاسل بسيطة، كما في author أعلاه.
يعمل في متصفحك باستخدام jsonld.js. يجب أن يحتوي المحرران على JSON صالح؛ ويجلب متصفحك عناوين URL للسياقات البعيدة. إذا فشل التنزيل، تعرض الصفحة خطأً يذكر عنوان URL للسياق.
FAQ
لماذا تبقى القيمة المُنمَّطة كائنًا؟
القيمة التي تحمل @type (مثل تاريخ xsd:gYear) تبقى {"@type", "@value"} ما لم يعرّف السياق للخاصية مصطلحًا بالـ @type نفسه.
هل يمكن أن يحتوي محرر Context على URL؟
نعم، بصيغة {"@context": "https://..."}. ينزّله المتصفح، لذا يجب أن يسمح الخادم بالطلبات عبر المصادر (CORS)؛ والسياقات المضمّنة تتجنب ذلك.
هل يغيّر الضغط البيانات؟
لا. يغيّر الضغط طريقة كتابة عناوين IRI والقيم فقط؛ وتوسيع النتيجة يعطي الرسم البياني نفسه.