توحيد صيغة JSON-LD — Numio
يحوّل JSON-LD إلى صيغة قياسية (canonicalization) من N-Quads مرتبة باستخدام jsonld.normalize وخوارزميته الافتراضية URDNA2015. تحصل العقد الفارغة على تسميات حتمية (_:c14n0 و_:c14n1)، فتنتج الرسوم البيانية المتساوية نصًا متطابقًا.
إنتاج الصيغة القياسية التي تُجزَّأ أو تُوقَّع في Verifiable Credentials وLinked Data Proofs.
متى تستخدمها
- إنتاج الصيغة القياسية التي تُجزَّأ أو تُوقَّع في Verifiable Credentials وLinked Data Proofs.
- التحقق مما إذا كان مستندا JSON-LD بتخطيطين أو سياقين مختلفين يصفان الرسم البياني نفسه.
طريقة الاستخدام
- الصق مستند JSON-LD في محرر JSON-LD.
- اقرأ N-Quads القياسية: ثلاثية واحدة في كل سطر، مرتبة، مع إعادة تسمية العقد الفارغة إلى _:c14nN.
- قارن نص المخرجات بأداة 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.