การใช้งาน protege Protege คืออะไร Protege เป็น open

Download Report

Transcript การใช้งาน protege Protege คืออะไร Protege เป็น open

การใชง้ าน
protege
Protege
●
●
●
คืออะไร
้
Protege เป็ น open-sourec เป็ นโปรแกรมทีใ่ ชในการสร
้าง models เพือ
่ เป็ น
knowledge-based application ทีใ่ ชกั้ บ ontoltgies
เป็ นขัน
้ ตอนการทำางานของ texonomies ใน ontologies ,หารจัดหมวดหมูเ่ พือ
่
นำ าไปใชกั้ บ axiomatized
ปั จจุบน
ั Ontologies มีสว่ นอย่างมากในการพัฒนา application ฐานความรู ้ทาง
วิทยาศาสตร์
การติดตัง้ Protege
●
●
●
Download protege (version 3.x)
http://protege.stanford.edu/doc/owl/getting-started.html
ระหว่างการติดตังให้เลือก Basic + OWL
ดูตัวอย่างการติดตั้งได้ที่ http://protege.stanford.edu/doc/owl/gettingstarted.html
Protege
●
●
การสร้ าง modeling ontologies มีอยู่ 2 วิธี

Frame-based

OWL(Web Ontology Language)
Frame-based

Protege Frames editor: ช่วยให้ ผ้ ใู ช้ สามารถสร้ างและแก้ ไข Ontogies ได้ ให้ เป็ นไป
ตาม OKBC (Open Knowledge Base Connectivity Protocol).
➢
Classes
➢
Slots for properties and relationships
➢
Instances for class
Protege ต่อ
●
Protege OWL editor: ช่วยให้ ผ้ ใู ช้ สามารถสร้ าง ontology สำาหรับเวป และรายละเอียดของ
OWL

Classes

Properties
➢
Reasoning
➢
Instances
การสร้ าง OWL บน Ontology
●
●
เริ่ ม protégé
เลือก File – New Project – OWL/RDF files – Ontology URI
(http://www.pizza.com/ontologies/pizza.owl) – OWL DL – Properties View
●
จะได้ Protégé ใหม่ที่ถกู สร้ างขึ ้น
●
ทำาการบันทึกโดยตังชื
้ ่อว่า Pizza.owl
Named Classes
●
ไปที่แท็บของ OWL Classes
●
จะได้ tree และ OWL จะเป็ น superclass ของทุก class
●
ในการสร้าง Pizza , Pizza Topping และ PizzaBase จะเป็ น subclass ของ OWL
●
การตั้งชื่อที่ใช้ประชุม
➢
ชื่อประชุมที่ไม่พเิ ศษ
➢
มัน่ คง , ตรงกัน
class ลูก
●
วิธีการสร้ างเงื่อนไขว่า Pizza Toping และ pizza Base เป็ นลูกของ Pizza calss
1. เลือก calss ของ Pizza
2. คลิก๊ ปุ่ ม add siblings เพื่อสร้ าง class ลูก
3. เพิ่ม Pizza Base และ Pizza Topping เป็ น class ลูก
4. เพิ่ม class ของ Pizza Topping
5. เพิ่ม Pizza และ Pizza Base เป็ น
สร้ างกลุ่มของ class
●
สร้ าง ThinAndCrisyBase and DeepPanBase เป็ น subclass ของ PizzaBase และเป็ น class ลูก
●
เลือก PizzBase และคลิก๊ ขวา เลือก subclass
●
ทำาซ้ำ าอีก 2 ครัง้ เพื่อเป็ นการประหยัดเวลาถ้ าเราต้ องการสน้ าง class ลูก อีก
สร้ าง subclassesของ PizzaTopping
●
เลือก Pizza Topping
➢
●
เลือก class ของ MeatTopping
➢
●
สร้ าง subclass เป็ น MeatTopping , VegetableTopping, CheeseTopping and SeafoodTopping
และตรวจสอบว่า class ที่สร้ างขึ ้น นันเป็
้ น subclass ของ Pizza Topping
เพิ่ม subclass ของ MeatTopping,Add disjoint subclasses: SpicyBeefTopping,
PepperoniTopping, SalamiTopping and HamTopping
เลือก class ของ VegetableTopping
➢
เพิ่ม subclass ของ TomatoTopping, OliveTopping, MushroomTopping, PepperTopping,
OnionTopping, CaperToppin
สร้ าง disjoint subclasses
●
เลือก PizzaTopping
➢
●
เลือก class MeatTopping,
➢
●
สร้ าง subclaesses ของ MeatTopping, VegetableTopping, CheeseTopping and
SeafoodTopping. Make sure that these classes are disjoint to each other
เพิ่ม disjoint subclasses: SpicyBeefTopping, PepperoniTopping, SalamiTopping and
HamTopping
เลือก VegetableTopping
➢
เพิ่ม disjoint subclasses: TomatoTopping, OliveTopping, MushroomTopping,
PepperTopping, OnionTopping, CaperTopping
คุณสมบัตขิ อง OWL
●
OWL เป็ นการแสดงความสัมพันธ์ ระหว่ าง 2 วัตถุ
➢
แสดงวัตถุ : เชื่อมระหว่างวัตถุและวัตถุ
➢
แสดงชนิดของข้ องมูล : เชื่อมระหว่าง obj และ XML Schema
สร้ างคุณสมบัตขิ อง obj
●
เลือกที่แท็ปของ “Properties”
●
กดปุ่ ม “Create Object Property” เพื่อสร้ าง property ใหม่
●
เปลี่ยนชื่อเป็ น hasIngredient
สร้ างคุณสมบัตยิ ่ อย
●
การเลือกคุณสมบัติ hasIngredient
●
เพิ่ม Topping และ Base เป็ น subproperties
การผกผัน
●
Obj แต่ละ obj อาจจะผกพันกันได้
●
ถ้ ามีการเชื่อมโยงระหว่าง A ถึง B ดังนัน้ A และ B อาจมีการผกผันกันได้
สร้ างคุณสมบัตทิ ผี่ กผัน
●
●
สร้ าง obj ใหม่โดยเลือก IngredientOf
➢
กดปุ่ ม “Set inverse property”
➢
เลือก “hasIngredient” และตังค่
้ า
เลือก hasBase
➢
●
สร้ าง isBaseOf ผกผันกับ hasBase
เลือก Topping
➢
สร้ าง ToppingOf ให้ ผกผัน
Functional Properties
●
●
ถ้ า property เป็ น functional จะบุคคลเดียวที่เป็ นบุคคลสำาคัญที่มีความสัมพันธ์ กับ
property
การกำาหนดช่วงของโดเมนจะต้ องไม่ซ้ำากัน
ฟังก์ ชั่นผกผันกับคุณสมบัตกิ ารทำางาน
โดเมน
ช่วง
ตัวอย่าง
Functional
Property
สำาหรับการกำาหนด
โดเมน
ช่วงจะต้องไม่ซากั
้ำ น
hasFather: A
hasFather B, A
hasFather C B=C
InverseFunctionalPr
operty
โดเมนจะต้ องไม่ซ้ำา
กัน
สำาหรับการกำาหนด
ช่วง
hasID: A hasID B,
C hasID B A=C
Transitive Properties
ถ้ า Propertive เป็ น Transitive และ Propertive มีความสัมพันธ์ a ไป b และ b ไป c ดังนัน้ a
ไป c โดยผ่าน P
Symmetric Properties
ถ้ า Properties สมมาตร และ Properties มีความสัมพันธ์จาก a ไป b แล้ ว b มีความสัมพันธ์
ไป a โดยผ่าน P
hasIngredient ผ่ าน Properties
●
●
●
เลือก hasIngredient property
เลือก การส่งผ่านค่าใน tick box
เลือก isIngredientOf property ตรวจสอบให้ แน่ใจว่า transitive tick box นันถู
้ ก tick แล้ ว
การทำา hasBase property functional
●
เลือก hasBase property
●
เลือก functional ใน tick box
●
OWL-DL ไม่อนุญาตให้ datatype properties ที่มีการส่งผ่าน, symmetric หรื อมี inverse
properties
โดเมนและช่ วงการทำางาน
●
คุณสมบัติที่เชื่อมโยงจากโดเมนไปยังช่วง
●
OWL จะใช้โดเมนและช่วงที่เป็ นในการให้เหตุผล
วิธีการระบุช่วงของ hasTopping
●
การเลือก hasTopping
➢
เลือกช่วงที่ตอ้ งการ
➢
เลือก PizzaTopping
➢
เลือก OK
➢
จะปรากฏ PizzaTopping ในช่วงรายการ
่ เป็นโดเมนของ hasTopping
ระบุพซ
ิ ซา
●
เลือก hasTopping
➢
กดปุ่ มในช่วง
➢
เลือก Pizza
➢
เลือก OK
➢
Pizza จะปรากฏในชื่อของโดเมน
ำ หร ับคุณสมบ ัติ
่ งสา
ระบุโดเมนและชว
isToppingOf
●
เลือกคุณสมบัติของ Topping
●
ตั้งค่าคุณสมบัติของโดเมน isToppingOf เลือก PizzaTopping
●
ตั้งค่าช่วงของคุณสมบัติ isToppingOf ในการเลือก Pizza
่ งสำาหร ับคุณสมบ ัติ hasBase
ระบุโดเมนและชว
ของ isBaseOf ผกผ ัน
●
●
การเลือกคุณสมบัติ hasBase
➢
กำาหนดโดเมนเป็ น Pizza
➢
ระบุช่วงเป็ น PizzaBase
การเลือกคุณสมบัติ isBaseOf
➢
กำาหนดโดเมนเป็ น PizzaBase
➢
กำาหนดช่วงเป็ น Pizza
Property restrictions
●
Web Ontology Language คุณสมบัติที่ใช้ในการสร้างข้อจำากัด
●
ข้อ จำากัด จะถูกใช้เพือ่ จำากัด บุคคลที่อยูใ่ น class เดียวกัน
●
ขอบเขตุ cardinality(จำานวนสมาชิกในเซ็ตทางคณิ ตศาสตร์ที่ให้มา)
●
ขอบเขตุ hasValue
เพิม่ ข้ อ จำากัด ให้ กบั พิซซ่ า
●
เพิม
่ ข ้อจำากัดให ้กับพิซซา่ ระบุวา่ จะต ้องมี PizzaBase เป็ นองค์
ประกอบด ้วย
➢
เลือก pizza
➢
เลือกตัวเลือกที่จาำ เป็ นในการสร้างเป็ นเงื่อนไข
➢
เลือกสร้างตัวช่วยเพื่อสร้างข้อจำากัด
–
เลือก HasBaseเป็ นคุณสมบัติที่ถูกจำากัด
–
เลือก someValueFrom เป็ นข้อจำากัด
–
ใส่ ลงใน ฟิ ลว์ PizzaBase
เพิม่ ข้ อ จำากัด ให้ กบั พิซซ่ า
การเพิม่ ข้ อจำากัด ในส่ วนของ MargheritaPizza
●
ในการระบุวา่ MargheritaPizza มี TomatoTopping และ MozzarellaToppingอย่างน้อยหนึ่งตัว
เลือก ในที่น้ ีจะแสดงตัวอย่างของ TomatoTopping
➢
➢
เลือก MargheritaPizza
ไปที่"ยืนยันเงื่อนไข (Asserted Conditions) "สร้างข้อจำากัด ใหม่ เลือก
someValueFrom
➢
เลือก hasTopping ซึ่งเป็ นคุณสมบัติที่จะถูก จำากัด
➢
ใส่ TomatoTopping
➢
เลือก OK
สร้ าง AmericanPizza
●
สร้าง AmericanPizza ให้มีรสชาติ pepperoni, mozzarella และ Tomato
●
การปรับเปลี่ยนรายละเอียดของ MargheritaPizza
➢
เลือก MargheritaPizza
➢
เลือก Select create clone
➢
เพิม่ ข้อจำากัด เพิม่ เติมเพือ่ AmericanaPizza

➢
กดปุ่ ม OK
เพิ่ม PepperoniTopping
สร้ าง AmericanHotPizza และ SohoPizza
●
●
AmericanHotPizza เหมือนกับ AmericanaPizza แต่มี JalapenoPepperTopping เป็ นองค์
ประกอบ
SohoPizza เหมือนกับ MargheritaPizza แต่เพิม่ OliveTopping และ ParmezanTopping
การสร้าง subclasses ของ NamedPizza เพื่อกำาหนดให้แตกต่างจากคลาสอื่น
●
เลือก MargheritaPizza
●
เลือก "add all siblings" และ "Disjoints widget"เพื่อให้ พิซซ่าแตกต่างจากรายการอื่น ๆ
การแก้ ไข ontology
คือการทำาให้ CheeseTopping และ VegetableTopping มีความต้องการที่แตกต่างจากส่ วนอื่นๆ ที่มี
การลบคำาสั่ งที่ disjoint
●
การทำางานระหว่าง CheeseTopping และ VegetableTopping เพือ่ ดูวา่ เกิดอะไรขึ้
➢
เลือก CheeseTopping
➢
ไปที่ disjoint ส่ วนหนึ่ง
➢
เลือก VegetableTopping, คลิกขวาและ" Delete the selected row (ลบแถวที่เลือก)"
➢
จัดอนุกรมวิธาน
➢
คลาสที่ไม่สอดคล้องกันนั้นถูกลบออกไป
แหล่ งข้ อมูล
Protege Ontology Libraries
●
http://protegewiki.stanford.edu/index.php/Protege_Ontology_Library
เอกสารการบรรยาย Protege
●
http://www.co-ode.org/resources/tutorials/
Protege Website
●
http://protege.stanford.edu/doc/users.html
●
http://protege.stanford.edu/
นางสาว อ ังคณา อุนทสูรย์
ิ 51535624
รห ัสนิสต
วิทยาการคอมพิวเตอร์
(ภาคพิเศษ)