ในปัจจุบัน สถาปัตยกรรมซอฟต์แวร์เน้นการพัฒนาผ่าน Web Application ข้ามแพลตฟอร์ม (เช่น ระบบที่พัฒนาด้วย Nuxt, .NET Core API หรือระบบ Microservices) การใช้ XML จึงสร้างภาระและความหน่วงให้กับเครือข่าย รูปแบบ JSON-LD (JavaScript Object Notation for Linked Data) ที่ทำงานบนมาตรฐาน SKOS จึงกลายเป็นมาร์กอัปที่ได้รับความนิยมสูงสุดสำหรับแอปพลิเคชันยุคใหม่ เพราะมันรวมความสามารถในการระบุความสัมพันธ์เชิงโครงข่ายแบบ Semantic Web เข้ากับความเรียบง่าย สแกนไว และประมวลผลได้อย่างรวดเร็วในหน่วยความจำของภาษาโปรแกรมมิ่งยุคปัจจุบัน
โครงสร้างและไวยากรณ์ (Syntax)
JSON-LD ใช้โครงสร้าง Key-Value Pair ของ JSON ทั่วไป แต่มีการกำหนด “บริบทข้อมูล” ผ่านชุดคำสั่งพิเศษที่ขึ้นต้นด้วยเครื่องหมาย @ (At-sign) ดังนี้
@context: ประกาศให้ระบบรับรู้ว่าฟิลด์ย่อยด้านล่างอ้างอิงความหมายตามมาตรฐานใด (ในที่นี้คือระบุชี้ไปที่http://www.w3.org/2004/02/skos/core@graph: ชุด Array บันทึกข้อมูล Concept คำศัพท์ทั้งหมด@id: ทำหน้าที่แทนrdf:aboutเพื่อระบุ URI ประจำตัวของคำศัพท์@type: กำหนดประเภทอ็อบเจกต์เป็นskos:Concept- การจัดการพหุภาษา: ฟิลด์ข้อมูลที่เป็นสตริงจะถูกครอบด้วยโครงสร้างอ็อบเจกต์ที่มีคีย์เป็นโค้ดภาษา เช่น
"@language": "th"ทำให้นักพัฒนาเข้าถึงชุดข้อมูลแยกตามภาษาได้ทันทีผ่านคำสั่ง Dot Notation ในระบบโปรแกรม
ตัวอย่างมาร์กอัปใช้งานจริง
{
"@context": {
"skos": "http://www.w3.org/2004/02/skos/core#",
"id": "@id",
"type": "@type",
"prefLabel": { "@id": "skos:prefLabel" },
"altLabel": { "@id": "skos:altLabel" },
"scopeNote": { "@id": "skos:scopeNote" },
"broader": { "@id": "skos:broader", "@type": "@id" },
"related": { "@id": "skos:related", "@type": "@id" }
},
"@graph": [
{
"id": "http://plusmagi.com/thesaurus/spot-deal",
"type": "skos:Concept",
"prefLabel": [
{ "@value": "Spot Deal", "@language": "en" }
],
"altLabel": [
{ "@value": "ธุรกรรมซื้อขายทันที", "@language": "th" },
{ "@value": "สัญญารายครั้ง", "@language": "th" },
{ "@value": "Spot Contract", "@language": "en" }
],
"scopeNote": [
{ "@value": "ข้อตกลงในการซื้อขายสินทรัพย์ในราคาตลาดปัจจุบัน ชำระเงินและส่งมอบภายใน 2 วันทำการ", "@language": "th" }
],
"broader": "http://plusmagi.com/thesaurus/deal-type",
"related": [
"http://plusmagi.com/thesaurus/fixed-price",
"http://plusmagi.com/thesaurus/floating-price"
]
}
]
}
ข้อดีและข้อจำกัด
- ข้อดี: ส่งผ่านเครือข่ายได้รวดเร็ว เหมาะสำหรับการทำแอปพลิเคชันค้นหาแบบเรียลไทม์ (Auto-complete Search), ภาษา JavaScript/C# สามารถแปลงค่าเป็น Object และดึงไปใช้งานได้ทันทีโดยไม่ต้องติดตั้ง Library พิเศษ, บ็อตสืบค้นเวอร์ชันปัจจุบันระบุให้ JSON-LD เป็นรูปแบบหลักในการทำ SEO
- ข้อจำกัด: ตัวโครงสร้างข้อมูลยังคงมีความซับซ้อนในส่วนของการระบุพหุภาษามากกว่าโครงสร้าง JSON ธรรมดา ทำให้ผู้ดูแลระบบคลังคำศัพท์จำเป็นต้องมีความเข้าใจในหลักการของ Linked Data ขั้นพื้นฐานครับ
อ่านเพิ่มเติม