50
กกกกกกกกกกกกกก Protege กกกก กกกกกกกก Protege Tutorial Protege Tutorial

Protege Tutorial

Embed Size (px)

DESCRIPTION

Protege Tutorial. การเรียนการสอน Protege ด้วยเว็บไซต์. protege คืออะไร. Protege เป็น Open-source ฟรีเป็นแหล่งที่มาของการสร้างแบบจำลองแบบเต็มรูปแบบและการประยุกต์ใช้กับฐานความรู้ซึ่งเกี่ยวข้องกับ ontologies - PowerPoint PPT Presentation

Citation preview

Page 1: Protege  Tutorial

การเรยนการสอน Protege ดวยเวบไซต

Protege TutorialProtege Tutorial

Page 2: Protege  Tutorial

protege protege คออะไรคออะไรProtege เปน Open-source ฟรเปนแหลงทมาของการสราง

แบบจำาลองแบบเตมรปแบบและการประยกตใชกบฐานความรซงเกยวของกบ ontologies

Ontologies ในชวงตงแตอนกรมวธาน การจำาแนกประเภท database schemas กบทฤษฎ Axiomatized อยางเตมรปแบบ

Ontologies ในขณะนมศนยกลางในการใชงานจำานวนมาก อาทเชน ความรทางวทยาศาสตร การจดการขอมลแบบพอรทลและระบบบรณาการ พาณชยอเลกทรอนกสและบรการเวบ เปนตน

Page 3: Protege  Tutorial

การตดตง การตดตง protegeprotegeไปท

http://protege.stanford.edu/doc/owl/getting-started.html เพอดาวนโหลด protege (version 3.x)

protege จะถกตดตงอยางเตมรปแบบ ระหวางการตดตงใหเลอกBasic+OWL

สำาหรบรายละเอยดเพมเตมศกษาไดจาก http://protege.stanford.edu/doc/owl/getting-started.html

Page 4: Protege  Tutorial

protegeprotegeการสรางแบบจำาลอง ontologies มสองวธหลก

ดงนFrame-basedOWL

แตละสวนสามารถตดตอกบผใชงานไดการแกไข Protege Frames สามารถชวยใหผ

ใชงานสามารถสรางและเตม ontologies ตามกรอบมาตรฐาน OKBC ได (การเชอมตอฐานความรกบ Protocol)

Page 5: Protege  Tutorial

protege protege

Page 6: Protege  Tutorial

การสรางการสราง OWL OntologyOWL Ontologyการสราง project OWL

เรมตน Protegeไฟล-สรางโครงการใหม-ไฟล OWL/RDF-URI

Ontology(http://www.pizza.com/ontologies/pizza.owl) OWL DL – ดคณสมบต

โครงการ Protege ถกสรางขนบนทกโครงการไวในแฟมชอ pizza.owl

Page 7: Protege  Tutorial

ชอของ ชอของ classesclassesไปทแทบ Classes ของ OWLclass ทวางเปลา 1 class เรยกวา owl ซง

เปน super class ของทกอยางสรางคลาสของพซซา สวน Pizza Topping

และ Pizza Base เหลานเปน subclasses ของ owl

การตงชอในการประชม การตงชอในการประชม

ทธรรมดาไมมความพเศษ ความมนคง

Page 8: Protege  Tutorial

disjoint classesdisjoint classesวธการของพซซาในสวน Pizza Topping และ

Pizza Base จะเปน disjoint เลอกคลาสของพซซา กด “add siblings” บนเครองมอของคลาส เพม Pizza Base และ Pizza Topping เลอกคลาสในสวนของ Pizza Topping เพมพซซา และ Pizza Base ในคลาส disjoint

Page 9: Protege  Tutorial

disjoint classes disjoint classes

Page 10: Protege  Tutorial

สรางกลมของสรางกลมของ ClassesClassesสราง ThinAndCrisyBase และ

DeepPanBase เปนคลาสของ Pizza Base โดยไมปะตดปะตอกน

เลอก Pizza Base คลกขวาเลอก “create subclasses”

ทำาตามขนตอนทปรากฏ เพอสรางคลาสทงสองของ disjoint

มนจะประหยดเวลามากเมอมความจำาเปนตองสรางคลาส disjoint จำานวนมากๆ

Page 11: Protege  Tutorial

สรางคลาสยอยบางสวนของ สรางคลาสยอยบางสวนของ Pizza ToppingPizza Topping

เลอก Pizza Topping สราง subclasses เปน Meat Topping,

Vegetable Topping, Cheese Topping และ Seafood Toppingตรวจสอบใหแนใจวาคลาสเหลานจะม disjoint

เลอกคลาส Meat Topping เพมคลาสท disjoint เปน

SpicyBeefTopping, Pepperoni Topping, Salami Topping และ Ham Topping

Page 12: Protege  Tutorial

สรางคลาสยอยบางสวนของ สรางคลาสยอยบางสวนของ Pizza Topping Pizza Topping

เลอก Vegetable Topping เพมคลาสท disjoint เปน Tomato

Topping, Olive Topping, Mushroom Topping, Pepper Topping, Onion Topping และ Caper Topping

Page 13: Protege  Tutorial

การสรางคลาสท การสรางคลาสท disjointdisjointเลอก Pepper Topping

เพมคลาสท disjoint เปน RedPepperTopping, GreenPepperTopping และ JalapenoPepperTopping

เลอก Cheese Toppingเพมคลาสท disjoint เปน MozzarellaTopping และ

ParmezanTopping

เลอก SeafoodToppingเพมคลาสท disjoint เปน TunaTopping,

AnchovyTopping และ PrawnTopping

Page 14: Protege  Tutorial

OWL PropertiesOWL Propertiesคณสมบตของ OWL แสดงความสมพนธระหวางสอง

Objectซงมคณสมบต 2 อยาง คอ

คณสมบตของ Object เชอมโยงระหวาง Object กบ Object

ประเภทของคณสมบต เชอมโยง Object ไปยง XML Schema ประเภทขอมลหรอ RDF

OWL มคณสมบตอน ๆ คอ คณสมบตของการบนทกทใชเพอเพมขอมลประกอบใน classes individuals และproperties

Page 15: Protege  Tutorial
Page 16: Protege  Tutorial

การสรางคณสมบตของ การสรางคณสมบตของ objectobject

เปลยนไปทแทบ Propertiesใช “สราง Object Property” เพอ

สรางปม object property ใหมเปลยนชอเปน Ingredient

Page 17: Protege  Tutorial

การสราง การสราง sub-propertiessub-propertiesการเลอกคณสมบตของ Ingredient

การเพมสวน Topping และสวนฐานเปน Subproperties

Page 18: Protege  Tutorial

คณสมบตแบบ คณสมบตแบบ InverseInverseแตละคณสมบตของ object อาจจะม

คณสมบตทสอดคลองแบบ Inverseถาบางจดทเชอมโยงกนในแตละจดจาก

A ถง B อาจจะผกผนกบจดทเชอมโยงจากจด B ถง A

Page 19: Protege  Tutorial

การสรางคณสมบตแบบ การสรางคณสมบตแบบ InverseInverse

สรางคณสมบตของวตถใหมทเรยกวา Ingredient

กดปม “Set inverse property”เลอก “Ingredient”จากนนความสมพนธแบบ Inverse จะไดรบ

การตงคา

เลอกสวน Baseสรางสวน Base ใหมคณสมบตแบบ Inverseทำาไมสวน Base ถงเปนคณสมบตยอยของ

สวน Ingredient

Page 20: Protege  Tutorial

การสรางคณสมบตแบบ การสรางคณสมบตแบบ Inverse Inverse

เลอกสวน Toppingสรางสวน Topping

เปน inverse property

ทำาไมสวนของ Topping คอ subproperty ของ subproperty

Page 21: Protege  Tutorial

คณสมบตของฟงกชนคณสมบตของฟงกชนถาคณสมบตเปนฟงกชนสำาหรบการไดรบ individual

ซงมมากกวา 1 individual ทเกยวของกบpropertyสำาหรบชวงโดเมนทกำาหนด ตองไมซำากน

คณสมบตของฟงกชนจะเปนทรจกเปนเพยง 1properties

Page 22: Protege  Tutorial

คณสมบตของฟงกชนแบบ คณสมบตของฟงกชนแบบ Inverse Inverse

ถาคณสมบตของฟงกชนทำางานแบบ inverse โดย property เปนฟงกชน

สำาหรบชวงโดเมนทกำาหนด ตองไมซำากน

Page 23: Protege  Tutorial

คณสมบตของฟงกชนและ คณสมบตของฟงกชนและ inverse inverse ฟงกชนฟงกชน

Functional Property และ Inverse Functional Property

domain range example

FunctionalProperty

For a given domain

Range is unique

hasFather: A hasFather B, A hasFather C B=C

InverseFunctionalProperty

Domain is unique

For a given range

hasID: A hasID B, C hasID B A=C

Page 24: Protege  Tutorial

คณสมบต คณสมบต TransitiveTransitiveคณสมบตคอ transitive และ คณสมบต related

individual จาก A ไปยง B และ ไปยง C และเราสามารถสรปไดวา คณสมบต related individual C ผานไปยง P

Page 25: Protege  Tutorial

คณสมบตสมมาตรคณสมบตสมมาตรถา P มคณสมบตสมมาตร และคณสมบตการ

individual ของ A ไปยง B แลว B จะมคณสมบตเกยวของกบการ individual ผานไปยง P

Page 26: Protege  Tutorial

การทำาให การทำาให Ingredient Ingredient มมคณสมบตเกยวกบคณสมบตเกยวกบ

transitivetransitiveการเลอกคณสมบตทมสวนประกอบการทำาเครองหมายในกลองการเลอกคณสมบต Ingredient และการตรวจสอบ

ใหแนใจวามการทำาเครองหมายในกลองหรอเปลา

Page 27: Protege  Tutorial

การทำาให การทำาให Base property Base property functionalfunctional

การเลอกคณสมบตทเปน Baseการทำาเครองหมาย "ฟงกชน " ในกลองOWL-DL ไมอนญาตใหม datatype เปน

คณสมบตของการสมมาตรหรอมคณสมบตแบบ inverse

Page 28: Protege  Tutorial

Property domains Property domains และและ rangesranges

คณสมบตของการเชอมตอจาก domain ไปยง range

OWL ใช domain และ range ในการใหเหตผล

Page 29: Protege  Tutorial

การระบในชวงของ การระบในชวงของ range range ในในสวนของ สวนของ ToppingTopping

การเลอกสวน Toppingกดในชวงของ range เลอก Pizza Toppingกดปม OKPizza Topping จะปรากฏ list ในชวงของ range

เมอ multiple classes มการเพมชวงของ range มนจะแทนเปน classes ทงหมด

Page 30: Protege  Tutorial

ระบพซซาเปนโดเมนระบพซซาเปนโดเมนการเลอกคณสมบต Topping

กดปม add domain เลอกพซซากด OKพซซาจะปรากฏใน list ของ domain

เมอ multiple classes มการเพมชวงของ domain มนจะแทนเปน classes

Page 31: Protege  Tutorial

ระบชวงของระบชวงของ domain domain และ และ range range สำาหรบสวน สำาหรบสวน

Topping Topping ของ ของ propertypropertyการเลอกคณสมบตของ Toppingการตงคาโดเมนของคณสมบตของ

Topping ถง Pizza Toppingตงคาชวงของคณสมบตสวน Topping

ของพซซา

Page 32: Protege  Tutorial

การระบ การระบ domain domain และ และ range range สำาหรบ สำาหรบ Base property Base property และ และ inverse propertyinverse property

การเลอกคณสมบตของ Base property

ระบโดเมนของ Pizza ชวง range ของ Pizza

การเลอกคณสมบตของ Base สำาหรบ property

การระบ domain ของ Pizza

การระบ range ของ Pizza

Page 33: Protege  Tutorial

การจำากดคณสมบตการจำากดคณสมบต คณสมบตทใชในการสรางขอจำากดของ

OWL ขอจำากดจะถกใชใน classขอจำากด 3 อยาง

ขอ จำากด QuantifieroExistential quantifier ( )oUniversal quantifier ( )

ขอ จำากด cardinalityขอ จำากด Value

Page 34: Protege  Tutorial

การเพมขอจำากดของ การเพมขอจำากดของ PizzaPizzaการระบและเพมขอจำากดใหกบ Pizza

เลอก Pizza เลอกหวทจำาเปนเพอสรางเปนเงอนไข

ทจำาเปนเลอกสรางตวชวยสรางทมขอจำากด

• เลอก Base restricted property

• เลอกคาจากเปนขอ จำากด บางอยาง

• ใสลงใน Pizza

Page 35: Protege  Tutorial

การเพมขอจำากดใหกบ การเพมขอจำากดใหกบ PizzaPizza

Page 36: Protege  Tutorial

การสรางชนดทแตกตางจาก การสรางชนดทแตกตางจาก PizzasPizzas

สราง subclass ของ Pizza เรยกวา Named Pizzaและ subclass ของ Named Pizza ทเรยกวา Margherita Pizza

เพมความคดเหนเพอ Margherita Pizza, Pizza ทมเพยง Mozarellaและรสชาตมะเขอเทศ

Page 37: Protege  Tutorial

การเพมขอจำากดใหกบ การเพมขอจำากดใหกบ Margherita PizzaMargherita Pizza

ในการระบวา Margherita Pizza มอยางนอยหนง Mozzarella Topping

เลอก Margherita Pizzaไปท "ยนยนเงอนไข " สรางขอ

จำากดใหมเลอกคาจากบางสวนเลอก Topping ทจำากดเปน

property ใส Mozzarella Topping กดปม OK

Page 38: Protege  Tutorial

การเพมขอจำากดใน การเพมขอจำากดใน Margherita PizzaMargherita Pizza

ในการระบวา Margherita Pizza มอยางนอยหนง Tomato Topping

เลอก Margherita Pizza ไปท "ยนยนเงอนไข " สรางขอจำากดใหมเลอกคาจากบางสวนเลอก Topping ทถกจำากดใส Tomato Topping กดปม OK

Page 39: Protege  Tutorial

การสรางการสราง American American PizzaPizza

สราง American Pizza กบรสชาตของ pepperoni mozzarella และมะเขอเทศ

ผานการ cloning และการปรบเปลยนรายละเอยดของ Margherita Pizza

เลอก Margherita Pizzaเลอกสราง cloneเพมขอจำากดเพมเตมใหกบ Americana Pizza

• เพม Pepperoni Toppingกดปม OK

Page 40: Protege  Tutorial

สราง สราง American Hot Pizza American Hot Pizza และ และ Soho PizzaSoho Pizza

American Hot Pizza มนจะเหมอนกบ American Pizza แตม Jalapeno Pepper Topping เพม

Soho Pizz จะเหมอนกน Margherita Pizza แตจะเพม Olive Topping และ Parmezan Topping

Page 41: Protege  Tutorial

ให ให subclasses subclasses ของ ของ Named Named Pizza Pizza

เคลอนจากทอนๆเคลอนจากทอนๆเลอก Margherita Pizzaกดปม “add all siblings” บน “Disjoints

widget” จะทำาให pizzas เคลอนทจากทอนๆ

Page 42: Protege  Tutorial

การใช การใช ReasonerReasonerคำาอธบายของ ontology ใน OWL - DL สามารถประมวลผล

โดย Reasoner ไปตงคาท owl เพอใหแนใจวา OWL-DL ถกเลอก

การใหบรการหลกทนำาเสนอโดย Reasoner คอการทดสอบหรอไมก 1 class เปน subclass ของclass อน

โดยการดำาเนนการทดสอบดงกลาวในทก classes เปนไปไดสำาหรบ Reasoner เพอคำานวณ ontology ลำาดบชนของ classes ทอางถง

การใหเหตผลในการใหบรการอกประการหนง คอ การตรวจสอบความสอดคลอง เพอตรวจสอบหรอไมกเปนไปไดสำาหรบ class กรณตางๆ

คลาส A จะถอวาจะไมสอดคลองกน ถามนไมเปน instances

Page 43: Protege  Tutorial

Using RacerUsing Racerเพอใหเหตผลมากกวา ontology ใน Protege -

OWL ซงเปนไปตามมาตรฐาน DIG Reasoner ควรจะตดตงและเรมตน

ใน tutorial นเราจะใช RacerDownload ไดท : http://www.racer-

systems.com/products/download/index.phtml

ดบเบลคลกท RacerPro เพอเรมตนการใช Racer

Page 44: Protege  Tutorial

Invoking the reasonerInvoking the reasonerตองเรมตน Racer ontology สามารถสงไปยง Reasoner โดย

อตโนมต การคำานวณจำาแนกลำาดบชนและยงตรวจสอบความสอดคลองเชงตรรกะของ ontology

ใน Protege ลำาดบชนทสราง class จะเรยกวา asserted hierarchy ทคำานวณอตโนมตโดย Reasoner จะเรยกวา inferred hierarchy

ไปท OWL – classify taxonomy เพอเรยก Reasonerถา class ไดรบการจดประเภทรายการใหมแลวชอ class จะ

ปรากฏเปนสฟาในการสรปลำาดบชนไปท OWL ตรวจสอบความสอดคลอง ซงเรยกโดย reasoner

ถา class ไดรบการพบ inconsistent ไอคอนมนจะเปนวงกลมสแดง

การคำานวณ class อางถงเปนทรจกกนในการจำาแนก ontology

Page 45: Protege  Tutorial

Invoke the reasonerInvoke the reasoner

Page 46: Protege  Tutorial

ความไมสอดคลองของความไมสอดคลองของ ClassClass

เพอแสดงถงการใชงานของ Reasoner ในการตรวจสอบความไมสอดคลองกนใน ontologyเราจะสราง Probe Inconsistent Topping ขนใน Class

เปน subclass ของ CheeseTopping

เลอก Probe Inconsistent Topping ไปยนยนเงอนไขของการเพม Classในระดบ Vegetable Topping แลวเลอกกดตกลง

ไปท OWL เพอตรวจสอบความสอดคลอง

Page 47: Protege  Tutorial

การแยกประเภทของ การแยกประเภทของ ontology ontology อกครงอกครง

หากตองการดสวน Topping ทไมสอดคลองกน

Page 48: Protege  Tutorial

คำาสงในการลบคำาสงในการลบระหวาง Cheese Topping และ Vegetable

Topping เพอดวาเกดอะไรขนเลอก Cheese Toppingไปท disjoint เลอก Vegetable Topping คลกขวาและ "ลบ

แถวทเลอก"แยกประเภทอนกรมวธานความไมสอดคลองกนนนจะหายไป

Page 49: Protege  Tutorial

การแกไข การแกไข ontologyontologyโดยการทำาให Cheese Topping และ

Vegetable Topping เคลอนจากแตละท

Page 50: Protege  Tutorial

แหลงขอมลแหลงขอมลProtege Ontology Libraries

http://protegewiki.stanford.edu/index.php/Protege_Ontology_Library

Protege tutorialhttp://www.co-ode.org/resources/

tutorials/Protege Website

http://protege.stanford.edu/doc/users.html

http://protege.stanford.edu/