Protege Tutorial การสอน Protege ซึ่งขึ้นอยู่กับการสอน Protege OWL

Download Report

Transcript Protege Tutorial การสอน Protege ซึ่งขึ้นอยู่กับการสอน Protege OWL

Protege Tutorial
การสอน Protege ซึ่งขึน้ อยู่กบั การสอน Protege OWL ด้ วยเว็บไซต์ protege
Protege คืออะไร
Protege ฟรี , เป็ นแพลตฟอร์ มโอเพนซอร์ สที่สร้ างแบบจำาลองโดเมนและการประยุกต์ใช้
knowledge – based ด้ วยภววิทยา
ภววิทยาตังแต่
้ อนุกรมวิธาน , การจำาแนก , ฐานข้ อมูล schemas ไปสูท่ ฤษฏีเต็มของ
Axiomatized
ภววิทยาในขณะนี ้มีศนู ย์กลางในการใช้ งานจำานวนมาก เช่น ความรู้ทางด้ านวิทยาศาสตร์ ,
การจัดการข้ อมูลและระบบบูรณาการ, พาณิชย์อิเล็กทรอนิกส์และการบริการเว็บ
การติดตั้ง Protege
ไปที่ http://protege.stanford.edu/doc/owl/getting-started.html
เพื่อดาวน์โหลดprotege (เวอร์ชนั่ 3.x)
Protege OWL editor เป็ นการสร้างขึ้นด้วยการติดตั้งเต็มรู ปแบบของแพลตฟอร์ม protege
ระหว่างการติดตั้งให้เลือกตัวเลือก “Basic + OWL”
สำาหรับรายละเอียดเพิ่มเติม : http://protege.stanford.edu/doc/owl/getting-started.html
Protege
มี 2 วิธีหลักของการสร้างแบบจำาลอง ontologies มีดงั นี้ : 1. Frame-based 2. OWL
แต่ละคนมีส่วนติดต่อกับผูใ้ ช้ของตัวเอง
Protege Frames editor: ช่วยให้ผใู้ ช้สามารถสร้างและเติม ontologies ที่มีframebasedในOKBC (Knowledge Base เปิ ดโครงร่ างการเชื่อมต่อคลาส)
คลาส , ช่วงคุณสมบัติและความสัมพันธ์ , ตัวอย่างคลาส
Protege OWL editor: ช่วยให้ผใู้ ช้สร้าง ontology สำาหรับเว็บความหมายโดยเฉพาะ
อย่างยิง่ ที่ OWL
คลาส , คุณสมบัติ , ตัวอย่าง , เหตุผล
การสร้ าง OWL Ontology
E2: สร้างโครงการ OWL ใหม่
เริ่ มต้น protege
File – New Project – OWL/RDF files – Ontology URI
(http://www.pizza.com/ontologies/pizza.owl) – OWL DL – Properties View
โครงการใหม่ของProtege-OWL ที่เคยว่างเปล่าได้ถูกสร้างขึ้น
บันทึกไว้ภายในแฟ้ มของคุณเป็ น pizza.owl
ชื่อคลาส
ไปที่แท็บ OWLคลาส
โครงสร้างคลาสที่วา่ งเปล่าที่มีหนึ่งชั้นเรี ยนที่เรี ยกว่า Owl : Thingซึ่งเป็ น superclass ของ
ทุกอย่าง
E3 : สร้างพิซซ่า subclasses, PizzaTopping และ PizzaBase พวกเขาจะ subclasses ของ
Owl : Thing
ตั้งชื่อการประชุม
ชื่อการประชุมไม่พิเศษ
ความมัน่ คง
คลาส Disjoint
E4 : วิธีการที่จะบอกว่าพิซซ่าที่ PizzaToppingและPizzaBase จะเป็ น disjoint
1.เลือกคลาสพิซซ่า
2.กด"เพิ่มsiblings"ปุ่ มบนเครื่ องมือที่ disjoint คลาส
3. เพิม่ PizzaBase และ PizzaTopping
4. เลือก PizzaTopping ชั้นที่
5.เพิ่มพิซซ่าและ PizzaBase ไปยัง disjoint คลาส
E5 : สร้ างกลุ่มของคลาส
สร้าง ThinAndCrisyBase และ DeepPanBase เป็ นคลาสของ PizzaBase และแต่ละคนเป็ น
สมาชิกร่ วม
เลือก PizzaBase, คลิกขวาเลือก"สร้าง subclasses"
ทำาตามตัวช่วยในการสร้างเหล่านี้ท้ งั 2 คลาสที่ disjoint
มันจะประหยัดเวลามากเมื่อมีความจำาเป็ นต้องสร้างคลาสจำานวนมากที่ disjoint
E6 : สร้ างคลาสย่ อยบางส่ วนของ PizzaTopping
เลือก PizzaTopping
สร้าง subclaesses เป็ น MeatTopping, VegetableTopping, CheeseTopping และ
SeafoodTopping ตรวจสอบให้แน่ใจว่าคลาสเหล่านี้เป็ น disjoint ซึ่งกันและกัน
เลือกคลาส MeatTopping
เพิ่มคลาสdisjoint : SpicyBeefTopping, PepperoniTopping, SalamiTopping และ
HamTopping
เลือก VegetableTopping :
เพิ่มคลาสdisjoint : TomatoTopping, OliveTopping, MushroomTopping, PepperTopping,
OnionTopping, CaperTopping
E6 : การสร้ างคลาส disjoint
เลือก PepperTopping
เพิ่มคลาส disjoint : RedPepperTopping, GreenPepperTopping, JalapenoPepperTopping
เลือก CheeseTopping
เพิ่มคลาสdisjoint : MozzarellaTopping, ParmezanTopping
เลือก SeafoodTopping
เพิ่มคลาสdisjoint : TunaTopping, AnchovyTopping และ PrawnTopping
คุณสมบัตขิ อง OWL
คุณสมบัติของOWLแสดงความสัมพันธ์ระหว่างสองวัตถุ
มีสองคุณสมบัติหลักคือ
คุณสมบัติของวัตถุ : วัตถุเชื่อมโยงไปยังวัตถุ
คุณสมบัติ datatype : วัตถุเชื่อมโยงไปยัง XML Schema ประเภทข้อมูลหรื อ RDF : อักษร
OWL มีคุณสมบัติอื่น ๆ – คุณสมบัติบนั ทึกย่อที่จะใช้เพื่อเพิ่มข้อมูลประกอบคลาส , บุคคล และ
คุณสมบัติ
คุณสมบัติของวัตถุที่เชื่อมโยงแต่ละ แมทธิวไปยังแต่ละ Gemma
คุณสมบัติ datetype การเชื่อมโยงแต่ละ แมทธิวกับข้อมูลตัวอักษร
25 ตัวที่ซ่ ึงมีประเภทของ XML : : จำานวนเต็ม
คุณสมบัติบนั ทึกย่อที่เชื่อมโยงคลาส JetEngine กับข้อมูลตัวอักษร
(String) แมทธิว Horridge
E7 : สร้ างคุณสมบัตขิ องวัตถุ
สลับไปที่แท็บ "Properties"
ใช้ "Create Object Property" เพื่อสร้างคุณสมบัติของวัตถุใหม่
เปลี่ยนชื่อเป็ น hasIngredient
E8 : การสร้ างคุณสมบัตยิ ่ อย
เลือกคุณสมบัติ hasIngredient
เพิ่ม hasTopping และ hasBase เป็ น subproperties
คุณสมบัตผิ กผัน
คุณสมบัติของวัตถุแต่ละชิ้นอาจจะมีคุณสมบัติที่สอดคล้อง , ผกผันกัน
ถ้าบางคุณสมบัติมีการเชื่อมโยงจากส่ วนของ A ถึง B แล้วให้เป็ นส่ วนผกผันกับการเชื่อมโยงจาก
B ถึง A
E9 : สร้ างคุณสมบัตทิ ผี่ กผัน
สร้างคุณสมบัติของวัตถุใหม่ที่เรี ยกว่า isIngredientOf
กดปุ่ ม"ตั้งค่าคุณสมบัติผกผัน"
เลือก"hasIngredient"
ความสัมพันธ์ผกผันได้รับการตั้งค่าแล้ว
เลือกhasBase
สร้าง isBaseOf เป็ นคุณสมบัติผกผันของ hasBase
isBaseOf เป็ น subproperty ของ isIngredientOf ทำาไม?
เลือก hasTopping
สร้าง isToppingOf เป็ นคุณสมบัติผกผัน
isToppingOf เป็ น subproperty
ของ isIngredientOf, ทำาไม?
คุณสมบัตกิ ารทำางาน
ถ้าคุณสมบัติที่จะทำางานสำาหรับบุคคลที่ได้รับมีเพียงความสามารถที่มากที่สุดของบุคคลหนึ่งที่
จะผ่านคุณสมบัติน้ ี
สำาหรับโดเมนที่ได้รับช่วงต้องไม่ซากั
้ำ น
คุณสมบัติการทำางานเป็ นที่รู้จกั กันเป็ นคุณสมบัติที่มีค่าเพียงหนึ่งเดียว
คุณสมบัตกิ ารทำางานผกผัน
ถ้าคุณสมบัติเป็ นแบบผกผันแล้ว คุณสมบัติผกผันสามารถทำางานได้
สำาหรับช่วงที่กาำ หนดโดเมนต้องไม่ซากั
้ำ น
ฟังก์ชั่นผกผันกับคุณสมบัตกิ ารทำางาน
คุณสมบัติของฟังก์ชนั กับคุณสมบัติของฟังก์ชนั ผกผัน
ขอบเขต
พิสัย
ตัวอย่าง
้ำ น
คุณสมบัติของ สำาหรับการ ช่วงที่ไม่ซากั
กำาหนดโดเมน
ฟังก์ ชัน
hasFather: A
hasFather B, A
hasFather C
B=C
คุณสมบัติของ โดเมนจะไม่ซา้ ำ สำาหรับช่วงที่
กัน
กำาหนด
ฟังก์ ชันผกผัน
hasID: A hasID B,
C hasID B A=C
คุณสมบัติ transitive
ถ้าคุณสมบัติเป็ น transitive และคุณสมบัติที่เกี่ยวข้องกันจาก A ไปยัง B และจาก Bไปยัง c
แล้วเราสามารถอนุมานได้วา่ จาก A ไปยัง C จะผ่านคุณสมบัติ P
คุณสมบัตสิ มมาตร
ถ้า P เป็ นคุณสมบัติสมมาตรและคุณสมบัติที่เกี่ยวข้องจาก A ไปยัง B แล้ว B สามารถที่จะ
ผ่านคุณสมบัติ P ได้
E10 : ตรวจสอบคุณสมบัติ hasIngredient transitive
การเลือกคุณสมบัติที่ hasIngredient
ทำาเครื่ องหมายในช่องขีด transitive
การเลือกคุณสมบัติที่ isIngredientOf ตรวจสอบให้แน่ใจว่าช่องขีดเป็ น ticked transitive
E11 : ตรวจสอบคุณสมบัตกิ ารทำางานของ hasBase
การเลือกคุณสมบัติที่ hasBase
ขีด "ทำางาน" ติ๊กที่กล่อง
OWL - DL ไม่อนุญาตให้มีคุณสมบัติ datatype ที่จะเป็ น transitive, สมมาตรหรื อมีคุณสมบัติ
ผกผัน
คุณสมบัตขิ องโดเมนและพิสัย
คุณสมบัติของความเชื่อมโยงจากโดเมนไปยังบุคคลจากพิสยั
OWL จะใช้โดเมนและพิสยั ที่เป็ นสัจพจน์ในการให้เหตุผล
E12 : ระบุพสิ ั ยของ hasTopping
เลือก hasTopping
กดปุ่ ม พิสยั
เลือก PizzaTopping
กดปุ่ ม OK
PizzaTopping ควรจะปรากฏในรายการพิสยั
เมื่อหลายคลาสมีการเพิ่มค่าพิสยั , พวกเขาเป็ นตัวแทนของสหภาพของคลาสทั้งหมด
E13 : ระบุพซิ ซ่ าเป็ นโดเมนของคุณสมบัติ
hasTopping
การเลือกคุณสมบัติ hasTopping
กดปุ่ ม Add โดเมนแบบเต็ม
เลือกพิซซ่า
กด OK
พิซซ่าจะปรากฏในรายชื่อโดเมน
เมื่อหลายคลาสจะถูกเพิ่มเป็ นโดเมน , พวกเขาเป็ นตัวแทนเป็ นสหภาพของคลาสเหล่านี้
E14 : ระบุโดเมนและพิสัยสำ าหรับคุณสมบัติ
isToppingOf
การเลือกคุณสมบัติที่ isToppingOf
การตั้งค่าโดเมนของคุณสมบัติ isToppingOf ที่ PizzaTopping
ตั้งค่าพิสยั ของคุณสมบัติ isToppingOf ที่พิซซ่า
E15 : ระบุโดเมนและพิสัยสำ าหรับคุณสมบัติ hasBase
และคุณสมบัตผิ กผันของ isBaseOf
การเลือกคุณสมบัติที่ hasBase
ระบุโดเมนเป็ นพิซซ่า
ระบุพิสยั เป็ น PizzaBase
การเลือกคุณสมบัติที่ isBaseOf
ระบุโดเมนเป็ น PizzaBase
ระบุพิสยั เป็ นพิซซ่า
ข้ อ จำากัด ของคุณสมบัติ
ในOWLคุณสมบัติที่ใช้ในการสร้างข้อ จำากัด
ข้อ จำากัด จะถูกใช้เพื่อ จำากัด บุคคลที่อยูใ่ นคลาส
สามข้อ จำากัด :
ข้อ จำากัด Quantifier
existential quantifier ()
ยูนิเวอร์แซ quantifier ()
ข้อ จำากัด cardinality
ข้อ จำากัด hasValue
E16 : เพิม่ ข้ อ จำากัด ที่ Pizza
เพิม่ ข้อ จำากัด ให้กบั พิซซ่าพิซซ่าที่ระบุวา่ จะต้องมี PizzaBase
เลือกพิซซ่า
เลือกหัวที่จาำ เป็ นเพื่อสร้างเป็ นเงื่อนไขที่จาำ เป็ น
เลือกสร้างตัวช่วยสร้างข้อ จำากัด
เลือก hasBase เป็ นคุณสมบัติที่ถูก จำากัด
เลือก someValueFrom เป็ นข้อ จำากัด
ใส่ PizzaBase ลงในที่บรรจุ
เพิม่ ข้ อ จำากัด ให้ กบั พิซซ่ า
E18 : การสร้ างชนิดทีแ่ ตกต่ างจากพิซซ่ า
สร้าง subclass ของพิซซ่าเรี ยกว่า NamedPizza และ subclass ของ NamedPizza เรี ยก
ว่าMargheritaPizza
เพิ่มความคิดเห็นที่ MargheritaPizza : Pizza ที่มีเพียง Mozarella และ Tomato toppings
E19 : การเพิม่ ข้ อจำากัดที่ MargheritaPizza
ในการระบุวา่ MargheritaPizza มีอย่างน้อยหนึ่ง MozzarellaTopping
เลือกMargheritaPizza
ไปที่"ยืนยันเงื่อนไข"สร้างข้อ จำากัด ใหม่
เลือกsomeValueFrom
เลือก hasTopping เป็ นคุณสมบัติที่ถูก จำากัด
ใส่ MozzarellaTopping เป็ นบรรจุ
กดปุ่ ม OK
E20 : การเพิม่ ข้ อจำากัดที่ MargheritaPizza
ในการระบุวา่ MargheritaPizza มีอย่างน้อยหนึ่ง TomatoTopping เลือกMargheritaPizza
ไปที่"ยืนยันเงื่อนไข"สร้างข้อ จำากัด ใหม่
เลือกsomeValueFrom
เลือก hasTopping เป็ นคุณสมบัติที่ถูกจำากัด
ใส่ TomatoTopping เป็ นบรรจุ
กดปุ่ ม OK
E21 : การสร้ าง AmericanPizza
สร้าง AmericanPizzaด้วยtoppingsของ pepperoni, mozzarella และ tomato
ผ่านการโคลนและการปรับเปลี่ยนรายละเอียดของ MargheritaPizza
เลือกMargheritaPizza
เลือกสร้างโคลน
เพิ่มข้อจำากัดเพิ่มเติมที่ AmericanaPizza
เพิ่ม PepperoniTopping
กด OK
E22 : การสร้ าง AmericanHotPizza and SohoPizza
AmericanHotPizza เกือบจะเป็ นเช่นเดียวกับ AmericanaPizza แต่มี JalapenoPepperToppingในนั้น
SohoPizza เป็ นเหมือน MargheritaPizza แต่มี OliveToppingและ ParmezanToppingเพิ่มเติม
E23 : ตรวจสอบ subclasses ของ NamedPizza
disjoint จากอืน่ ๆ
เลือก MargheritaPizza
กด "add all siblings" ปุ่ มที่ "Disjoints widget" เพื่อให้ disjoint พิซซ่าจากที่อื่น ๆ
การใช้ Reasoner
ontology อธิบายไว้ในOWL - DL สามารถประมวลผลโดย Reasoner
ไปที่Owl-ตั้งค่า, เพื่อให้แน่ใจว่าOWL - DL จะถูกเลือก
บริ การหลักที่นาำ เสนอโดย Reasoner คือการทดสอบหรื อไม่วา่ หนึ่งคลาสเป็ น subclass ของ
คลาสอื่น
โดยดำาเนินการทดสอบดังกล่าวในทุกคลาสนั้นมันเป็ นไปได้สาำ หรับ Reasoner เพื่อคำานวณ
ontology ลำาดับชั้นของคลาสอ้างถึง
บริ การการให้เหตุผลอีกประการหนึ่งคือตรวจสอบความสอดคล้อง – เพื่อตรวจสอบหรื อไม่ก็
เป็ นไปได้สาำ หรับคลาสที่จะมีกรณี ใด ๆ
คลาส A จะถือว่าจะไม่สอดคล้องกันถ้ามันไม่อาจมีกรณี ใด ๆ
การใช้ Racer
เพื่อให้เหตุผลมากกว่า ontology ใน Protege - OWLซึ่งเป็ นไปตามมาตรฐาน DIG Reasoner
ควรจะติดตั้งและเริ่ มต้น
ในการสอนนี้ เราจะใช้ Racer,
Download ได้ที่ :
Http://www.racer-systems.com/products/download/index
ดับเบิลคลิกที่ RacerPro เพื่อเริ่ มต้นการ Racer
Invoking the reasoner
ต้องเริ่ มต้น Racer, ภววิทยาที่สามารถส่ งไปยัง Reasoner โดยอัตโนมัติคาำ นวณการจำาแนกลำาดับ
ชั้นและยังตรวจสอบความสอดคล้องเชิงตรรกะของภววิทยา
ใน Protege, ลำาดับชั้นที่สร้างด้วยตนเองจะเรี ยกว่าลำาดับชั้นของการยืนยัน ที่คาำ นวณโดย
อัตโนมัติโดย Reasoner จะเรี ยกว่าลำาดับชั้นของอนุมาน
ไปที่OWL -- การจำาแนกอนุกรมวิธาน -- การเรี ยก Reasoner
ถ้าชั้นได้รับการจัดประเภทรายการใหม่แล้วชื่อชั้นจะปรากฏในสี ฟ้าในลำาดับชั้นที่อา้ งถึง
ไปที่OWL -- ตรวจสอบความสอดคล้อง -- เพื่อเรี ยก Reasoner
ถ้าชั้นถูกพบที่จะปี นเกลียว, ไอคอนมันจะเป็ นวงกลมสี แดง
การคำานวณลำาดับชั้นของคลาสอ้างถึงเป็ นที่รู้จกั กันในการจำาแนกภววิทยา
Invoke the reasoner
E24 : คลาสทีไ่ ม่ สอดคล้อง
เพื่อแสดงถึงการใช้งานของ Reasoner ในการตรวจสอบความไม่สอดคล้องกันใน ontology ที่
เราจะสร้างคลาส ProbeInconsistentTopping
ซึ่งเป็ น subclass ของ CheeseTopping
เลือก ProbeInconsistentTopping ไปที่สภาพการยืนยันที่จะเพิม่ คลาสที่มีชื่อให้เลือก
VegetableTopping แล้วกดตกลง
ไปที่OWL -- ตรวจสอบความสอดคล้อง
E25 : แบ่ ง ontology อีกครั้ง
หากต้องการดู ProbeInconsistentTopping จะไม่สอดคล้องกัน
E26 ลบคำาสั่ ง disjoint
ระหว่าง CheeseTopping และ VegetableToppingดูวา่ เกิดอะไรขึ้น
เลือก CheeseTopping
ไปที่ส่วนของ disjoint
เลือก VegetableTopping, คลิกขวาและ"ลบแถวที่เลือก"
จัดอนุกรมวิธาน
ความไม่สอดคล้องกันนั้นไม่มีอยูแ่ ล้ว
E27 : แก้ไข ontology
โดยการทำาให้ CheeseTopping และ VegetableTopping disjoint จากกัน
แหล่งข้ อมูล
ห้ องสมุดProtege Ontology
http://protegewiki.stanford.edu/index.php/Protege_Ontology_Library
การสอน Protege
http://www.co-ode.org/resources/tutorials/
เว็บไซต์Protege
http://protege.stanford.edu/doc/users.html
http://protege.stanford.edu/
จัดทำาโดย
นางสาวรสสุ คนธ์ วุฒพิ นั ธ์
รหัสนิสิต 51531923 กลุ่ม 3401
คณะวิทยาการสารสนเทศ สาขาวิทยาการคอมพิวเตอร์