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

توحيد صيغة JSON-LD — Numio

يحوّل JSON-LD إلى صيغة قياسية (canonicalization) من N-Quads مرتبة باستخدام jsonld.normalize وخوارزميته الافتراضية URDNA2015. تحصل العقد الفارغة على تسميات حتمية (_:c14n0 و_:c14n1)، فتنتج الرسوم البيانية المتساوية نصًا متطابقًا.

إنتاج الصيغة القياسية التي تُجزَّأ أو تُوقَّع في Verifiable Credentials وLinked Data Proofs.

JSON-LD

Normalized

متى تستخدمها

  • إنتاج الصيغة القياسية التي تُجزَّأ أو تُوقَّع في Verifiable Credentials وLinked Data Proofs.
  • التحقق مما إذا كان مستندا JSON-LD بتخطيطين أو سياقين مختلفين يصفان الرسم البياني نفسه.

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

  1. الصق مستند JSON-LD في محرر JSON-LD.
  2. اقرأ N-Quads القياسية: ثلاثية واحدة في كل سطر، مرتبة، مع إعادة تسمية العقد الفارغة إلى _:c14nN.
  3. قارن نص المخرجات بأداة diff أو احسب تجزئته لمقارنة الرسوم البيانية.

JSON-LD

{
  "@context": {"@vocab": "http://schema.org/"},
  "@type": "Person",
  "name": "Jane Doe",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Seattle"
  }
}

N-Quads قياسية

_:c14n0 <http://schema.org/addressLocality> "Seattle" .
_:c14n0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/PostalAddress> .
_:c14n1 <http://schema.org/address> _:c14n0 .
_:c14n1 <http://schema.org/name> "Jane Doe" .
_:c14n1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/Person> .

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

تستدعي الصفحة normalize دون خيارات، لذا يستخدم jsonld.js خوارزمية URDNA2015 ومخرجات N-Quads.

تعتمد تسميات العقد الفارغة على محتوى الرسم البياني، لا على ترتيب المفاتيح في JSON الخاص بك.

يعمل في متصفحك؛ ويجلب متصفحك عناوين URL البعيدة لـ @context. إذا فشل التنزيل، تعرض الصفحة خطأً يذكر عنوان URL للسياق.

FAQ

ما الفرق بين هذه الصفحة وصفحة JSON-LD to N-Quads؟

كلتاهما تُخرج N-Quads. تعيد هذه الصفحة تسمية العقد الفارغة بشكل قياسي (_:c14n0) وترتّب الأسطر؛ أما صفحة N-Quads فتُبقي التسميات التي يُسندها المعالج مثل _:b0.

ما خوارزمية التوحيد القياسي المستخدمة؟

URDNA2015، وهي الافتراضية في jsonld.js، وقد اعتمدها W3C معيارًا باسم RDF Dataset Canonicalization (RDFC-1.0).

لماذا تغيب خاصية عن المخرجات؟

المفاتيح غير المعرّفة في @context لا تتوسع إلى عناوين IRI وتُحذف قبل التحويل إلى quads.

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