Semantic Web - RDF - RDFS - OWL
posted on 01 Jul 2009 12:00 by techinnoreview in MITTเนื้อหาทางทฤษฎีที่เกี่ยวข้อง
ซีแมนติกเว็บ (Semantic Web)
เป็นการจัดการข้อมูลในลักษณะของการเชื่อมโยงความสัมพันธ์ของข้อมูล ในระดับเมตะเดต้า (Metadata) โดยทำการอ่านข้อมูลแบบออนไลน์ทำให้เครื่องคอมพิวเตอร์สามารถเข้าใจ ความหมายของข้อมูลต่างๆ ได้ว่าเป็นอะไรมาจากข้อมูลส่วนไหนของชุดข้อมูล ทำให้คอมพิวเตอร์ สามารถนำข้อมูลที่ได้นั้นไปประมวลผลได้โดยอัตโนมัติ ยกตัวอย่างเช่น ถ้าคอมพิวเตอร์พบข้อมูลว่า X เป็นน้องของ Y และ Z เป็นลูกของ Y คอมพิวเตอร์จะสามารถรับรู้ได้เองว่า Z เป็นหลานของ X เป็นต้น กล่าวโดย คือ ซีแมนติกจะทำทุกสิ่งทุกอย่าง โดยออนไลน์หมดและข้อมูลทุกอย่างที่ ออนไลน์นั้นจะเชื่อมโยงกันด้วยความสัมพันธ์กันทั่วทั้งระบบ ทำให้เราสามารถลดขนาด และระยะเวลาในการทำงานให้น้อยลงได้
ซีแมนติกเว็บ ใช้มาตรฐานเทคโนโลยีของ Resource Description Framework หรือ “RDF” Web Ontology Language หรือ “OWL” และ Extensible Markup Language หรือ “XML” มารวมกันเพื่อที่จะพัฒนาให้มีประสิทธิภาพมากยิ่งขึ้น
![]() |
โครงสร้างของซีแมนติกเว็บ
[ที่มา: http://www.cs.umd.edu/users/hendler/AgentWeb.html]
RDF
Resource Description Framework หรือ “RDF”เป็นมาตรฐานที่อิงมาจากภาษา XML แต่มีโครงสร้างรูปแบบหลากหลายกว่า XML แบบจำลองของ RDF เมตะเดต้าอยู่บนพื้นฐานของความคิดในการสร้างข้อความสั่งหรือ“Statement” ของทรัพยากร หรือ “Resource” ในรูปแบบประธาน ภาคแสดง และกรรม หรือ “Subject-Predicate-Object” ซึ่งเรียกว่า A Triple in RDF ซึ่ง Subjectจะหมายถึง Resource Predicate หมายถึงคุณลักษณะ หรือ “Property” และ Object ก็คือ ค่าของคุณลักษณะ หรือ “Property Value”ดังตัวอย่างที่อยู่ในรูปภาษาอังกฤษ
[Resource] [Property] [Value]
The secret agent is Niki Devgood
[Subject] [Predicate] [Object]
RDF Triples สามารถเขียนโดยใช้ XML Tags ได้ดังรูป
![]() |
รูปแบบ RDF Triples
[ที่มา: http://www.altova.com/semantic_web.html]
หลังจากสร้างเป็นรูปแบบ RDF Triples แล้วก็สามารถสร้าง Triples อื่นๆ ที่เกี่ยวเนื่องได้ ดังรูป
![]() |
รูปแบบ RDF Triples แบบอื่นๆ
[ที่มา: http://www.altova.com/semantic_web.html]
หลังจากนี้เราสามารถสร้างโค้ดทั้งในรูปแบบของ RDF/ XMLหรือ n-Triplesได้
ตัวอย่างเช่น บทความในเว็บของ Wikipedia ที่เกี่ยวกับ Tony Benn
กำหนดให้ “http://en.wikipedia.org/wiki/Tony_Benn” เป็น Resource ที่เฉพาะเจาะจง ซึ่งจะกล่าวได้ว่าหัวข้อ หรือ “Title” ของ Resourceนี้ก็คือ“Tony Benn” และ เจ้าของบทความ หรือ “Publisher” คือ “Wikipedia” ซึ่งทั้งสองสามารถแสดงออกมาเป็นเครื่องหมายแบบ RDF Statements ได้
ใน RDF แบบ N-Triples จะมี Statements คล้ายๆ ดังนี้
<http://en.wikipedia.org/wiki/Tony_Benn> <http://purl.org/dc/elements/1.1/title> "Tony Benn" .
<http://en.wikipedia.org/wiki/Tony_Benn> <http://purl.org/dc/elements/1.1/publisher> "Wikipedia" .
และ Statements ทั้งหมดอาจเขียนในรูปแบบ RDF/XML ได้ดังนี้
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="http://en.wikipedia.org/wiki/Tony_Benn">
<dc:title>Tony Benn</dc:title>
<dc:publisher>Wikipedia</dc:publisher>
</rdf:Description>
</rdf:RDF>
ซึ่งจะทำให้เข้าใจได้อย่างแน่นอนว่า หัวข้อของ Resource นี้คือ “Tony Benn”
จุดประสงค์ของ RDF คือสามารถทำให้เครื่องตีความและเข้าใจในความต้องการด้านบนได้ แต่ทั้งสองรูปแบบด้านบนยังมีการใช้คำมากเกินไปกว่าความต้องการของRDF เพราะว่า RDF ต้องการ Subject Resource ที่เป็นหนึ่งเดียว หรือ “Unique” เพื่อให้ได้ความหมายที่แท้จริง และ Predicate ก็ต้องการความเป็นหนึ่งเดียว เพื่อที่จะลดโอกาสที่ Title หรือ Publisher จะมีความหมายที่คลุมเครือ กำกวม
ในการสร้าง Triples ที่ประกอบด้วย Subjects Predicates และ Objects นั้น RDF จะอนุญาตให้ใช้เครื่องมือในการสร้างการตัดสินใจอย่างมีเหตุผลซึ่งต้อง อยู่บนพื้นฐานของความสัมพันธ์ร่วมกันระหว่าง Subjects และ Objects อย่างไรก็ตามขณะที่ RDF สนับสนุนตัวแบบ หรือ “Model” และไวยากรณ์หรือ “Syntax” ของภาษาสำหรับการระบุถึง Resource แต่มันก็ยังคงไม่ระบุรายละเอียดในเชิงความหมายของ Resource ได้ จึงต้องการ RDFS และ OWL
RDFS
RDF Schema หรือ “RDFS” ใช้ในการสร้างคำศัพท์ซึ่งกล่าวถึงความ เกี่ยวข้องกัน ของกลุ่มของ RDF Resources และความสัมพันธ์ของ Resources เหล่านั้น คำศัพท์ของ RDFS จะอธิบายคุณสมบัติซึ่งสามารถระบุต่อ RDF Resources ภายในโดเมนที่กำหนดให้ ซึ่ง RDFS จะอนุญาตให้สร้างคลาส หรือ “Classes” ของ Resources ซึ่งสามารถแชร์คุณสมบัติร่วมกัน
การใช้แบบ Triples แบบเดียวกันโดยใช้ RDF RDFS Triples จะประกอบด้วย Classesคุณสมบัติของ Classes และ Values ซึ่งกำหนดความสัมพันธ์ระหว่าง Resources ภายในโดเมนที่เจาะจง
Resources จะถูกกำหนดเป็นอินสแตนท์ หรือ “Instances” ของ Classes และ Classes ก็จะเป็น Resource ด้วย และ Classes ใดๆ ก็จะสามารถเป็นซับคลาส หรือ “Subclasses” ของ Classes อื่นๆ ได้ด้วย โดยลำดับขั้นที่เกี่ยวข้องกันของข้อมูลจะถูกเครื่องตีความบนความหมายของ Resources ที่อยู่บนพื้นฐานของคุณสมบัติและ Classes ของพวกมัน
โดยรวมแล้ว RDFS เป็นภาษาคำศัพท์พื้นฐานสำหรับแสดงความสัมพันธ์ ระหว่าง Resources
OWL
Web Ontology Language หรือ “OWL” เป็นภาษาที่รวมกันระหว่างข้อความหรือ “Text” และ ข้อความพิเศษ หรือ “Extra Information” ที่เพิ่มเติมเข้ามาเกี่ยวกับข้อความ ที่มีแบบแผนอย่างเป็นทางการที่อธิบายลำดับชั้นและความสัมพันธ์ระหว่าง Resources ที่แตกต่างกัน สร้างอยู่บน RDF และ RDFS ซึ่งประกอบด้วยอนุกรมวิธาน หรือ “Taxonomy” และเซทของกฎที่ได้จากเครื่องที่สามารถสร้างข้อสรุปแบบเชิงตรรกะ หรือ “Logical”
Taxonomy เป็นระบบของการแบ่ง Class เช่น ในทางวิทยาศาสตร์จะมี Kingdom Phylum Class Order ฯลฯ เป็นระบบในการแบ่ง Class ในพืชและสัตว์ซึ่งกลุ่ม Resources ภายใน Classes และ Subclasses จะขึ้นอยู่กับความสัมพันธ์และการมีคุณสมบัติร่วมกันของพวกมัน
เพราะว่า Taxonomy เป็นการแสดงระดับชั้นความสัมพันธ์ระหว่าง Resource ดังนั้นจึงได้ใช้ OWL เพื่อ กำหนดคุณสมบัติของ Class ของ Resource และอนุญาตให้มี Subclass ที่สืบทอด หรือ “Inherit” มาจากคุณสมบัติเดียว กัน ทำให้ OWL มีประโยชน์ต่อรูปแบบข้อมูลของ XML Schema ด้วย โดยที่ OWL ถูกพัฒนาเป็นหลักเพราะมันแสดงออกถึงความหมายและความจริงไดมากกว่า XML RDF และ RDF/S ดังนั้น OWLจึงมีความสามารถมากกว่าภาษาเหล่านั้น


