protege tutorial

46
Protege Tutorial บบบบบบบ ProtegeOWL บบบบ บบบบบบบ บบบบบบบบบบบบบบ protege

Upload: lynna

Post on 05-Jan-2016

128 views

Category:

Documents


25 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Protege Tutorial

Protege Tutorial

บทเรี�ยน ProtegeOWL ขั้นพื้�นฐาน

โดยเว็�บไซต์�ขั้อง protege

Page 2: Protege Tutorial

Protege คื�ออะไร?

Protege เป็�นซอฟต์�แว็รี�ฟรี� , ในรี�ป็แบบขั้องโอเพื้นซอรี�ส ซ!"งเป็�นซอฟต์�แว็รี�ท�"เผยแพื้รี$ซอรี�สโค้&ดได& มี�โค้รีงสรี&างเป็�นแบบจำ)าลองและการีใช้&โป็รีแกรีมีป็รีะย.กต์�ค้ว็ามีรี� &พื้&นฐานกบ ออนโทโลจำ�

ออนโทโลจำ�เป็�นศู�นย�กลางการีใช้&งานโป็รีแกรีมีป็รีะย.กต์�ต์$างๆเช้$น กรีะบว็นทศูน�ทางว็1ทยาศูาสต์รี�, การีจำดการีขั้&อมี�ลสารีสนเทศู , รีะบบบ�รีณาการี, การีพื้าณ1ช้ย�อ1เล�กทรีอน1ค้ส� และการีบรี1การีทางเว็�บไซต์�

Page 3: Protege Tutorial

การติ�ดติ �ง Protege

ไป็ท�" http://protege.stanford.edu/doc/owl/getting-started.html เพื้�"อดาว็น�โหลด protege (เว็อรี�ช้น 3.x)

Protege OWL รี. $นน�ถู�กสรี&างขั้!นมีาเพื้�"อให&มี�การีต์1ดต์งอย$างเต์�มีรี�ป็แบบขั้องโป็รีท�เจำ รีะหว็$างท�"มี�การีต์1ดต์ง ค้ว็รีเล�อกออบ “Basic+OWL”

รีายละเอ�ยดเพื้1"มีเต์1มี : http://protege.stanford.edu/doc/owl/getting-started.html

Page 4: Protege Tutorial

Protege 2 แนว็ทางหลกในการีออกแบบ แบบจำ)าลองออนโทโลจำ�

Frame-based OWL

แต์$ละแบบก�จำะมี�หน&าต์าอ1นเต์อรี�เฟซท�"มี�ลกษณะเฉพื้าะต์ว็ Protege Frames รี. $นน�: สามีารีถูใช้&ในการีค้)านว็นจำ)านว็นขั้องออนโทโลจำ�ท�"

เป็�นframe-based, ให&มี�การีสอดค้ล&องกบ OKBC (Open Knowledge Base Connectivity Protocol). Classes Slots for properties and relationships Instances for class

Protege OWL รี. $นouh: สามีารีถูใช้&ออนโทโลจำ�ในการีสรี&างเ Semantic Web, โดยเฉพื้าะอย$างย1"ง OWL Classes Properties Instances reasoning

Page 5: Protege Tutorial

การสร�าง OWL Ontology

E2: สรี&างโป็รีเจำค้ใหมี$ให&กบ OWL เป็7ดโป็รีแกรีมี protege ไป็ท�" File – New Project – OWL/RDF files –

Ontology URI (http://www.pizza.com/ontologies/pizza.owl) – OWL DL – Properties View

เจำอ Protege ในหน&าต์$างว็$างๆ – โป็รีเจำค้ OWL ถู�กสรี&างขั้!น

บนช้�"อไฟล�เป็�น pizza.owl

Page 6: Protege Tutorial

ชื่��อ Classes ไป็ท�"แท�บ OWL Classes จำะมี�ล)าดบค้ลาสท�"ว็$างๆอย�$ ภายในจำะบรีรีจำ.ค้ลาสไว็& 1 ค้ลาสเรี�ยกว็$า

owl:Thing, เป็�นค้ลาสแมี$ขั้องท.กๆค้ลาส E3: ท)าการีสรี&าง ค้ลาสย$อย ช้�"อว็$า Pizza, PizzaTopping และ

PizzaBase. ค้ลาสเหล$าน�จำะเป็�นค้ลาสย$อยขั้อง owl:Thing. การีต์งช้�"อ

ไมี$มี�การีต์งช้�"อท�"ต์รีงกบช้�"อพื้1เศูษ มี�ค้ว็ามีสอดค้ล&องกน

Page 7: Protege Tutorial

Disjoint classes

E4: จำะท)าอย$างให& Pizza, PizzaTopping และ PizzaBase เป็�นค้ลาสท�"มี�การี Disjoint กน

1 .เล�อก ค้ลาส Pizza

2. กดป็.9มี “add siblings” ท�"อย�$ขั้&างบนส$ว็น disjoint classes

3. เพื้1"มี PizzaBase และ PizzaTopping

4. ท)าการีเล�อกค้ลาส PizzaTopping,

5. เพื้1"มี Pizza และ PizzaBase ไป็ยง disjoint class

Page 8: Protege Tutorial

E5: วิ�ธี�การสร�างกลุ่��มของคืลุ่าส ท)าการีสรี&าง ThinAndCrisyBase และ

DeepPanBase ไป็ท�"ค้ลาสย$อยขั้อง PizzaBase และแต์$ละค้ลาสจำะเป็�นค้ลาสท�"ถู�กdisjoint

เล�อก PizzaBase, ค้ล1กขั้ว็าเล�อก“create subclasses”

จำะมี�การีสรี&างค้ลาสท�"เป็�น disjoint ค้ลาสขั้!น 2ค้ลาส

และจำะมี�การีบนท!กขั้!นท.กค้รีงท�"มี�การีสรี&าง disjoint ค้ลาส

Page 9: Protege Tutorial

E6: สร�างคืลุ่าสย่�อย่ใน PizzaTopping

เล�อก PizzaTopping, สรี&างค้ลาสย$อยเป็�น MeatTopping, VegetableTopping,

CheeseTopping และ SeafoodTopping. ท)าค้ลาสทงหมีดน�ให&เป็�น Disjoint ค้ลาส

ท)าการีเล�อกค้ลาส MeatTopping, เพื้1"มี disjoint ขั้องค้ลาสย$อย : SpicyBeefTopping,

PepperoniTopping, SalamiTopping และ HamTopping เล�อก VegetableTopping:

เพื้1"มี disjoint ขั้องค้ลาสย$อย : TomatoTopping, OliveTopping, MushroomTopping, PepperTopping, OnionTopping, CaperTopping

Page 10: Protege Tutorial

E6: การสร�าง disjoint ของคืลุ่าสย่�อย่ เล�อก PepperTopping

เพื้1"มี disjoint ขั้องค้ลาสย$อย : RedPepperTopping, GreenPepperTopping, JalapenoPepperTopping

เล�อก CheeseTopping เพื้1"มี disjoint ขั้องค้ลาสย$อย : MozzarellaTopping,

ParmezanTopping เล�อก SeafoodTopping

เพื้1"มี disjoint ขั้องค้ลาสย$อย : TunaTopping, AnchovyTopping and PrawnTopping

Page 11: Protege Tutorial

คื�ณสมบั ติ�ของ OWL

OWL มี�ค้.ณสมีบต์1ในการีแสดงค้ว็ามีสมีพื้นธ์�รีะหว็$างออบเจำค้ 2 ออบเจำค้

มี� 2 ค้.ณสมีบต์1หลกๆดงต์$อไป็น� ค้.ณสมีบต์1ทาง Object : ออบเจำค้สองออบเค้สามีารีถู

เช้�"อมีโยงกนได& ค้.ณสมีบต์1ทาง datatype : object สามีารีถูล1งค้�ไป็ยง

XML Schema datatype หรี�อ rdf:literal ค้ถูณสมีบต์1อ�"นๆ ขั้อง OWL – ค้.ณสมีบต์1ในการีให&

ค้)าอธ์1บายป็รีะกอบ, ถู�กใช้&ในการีให&อธ์1บายขั้&อมี�ลขั้องค้ลาส, ลกษณะเฉพื้าะ , และค้.ณสมีบต์1อ�"นๆ

Page 12: Protege Tutorial
Page 13: Protege Tutorial

E7: การสร�างคื�ณสมบั ติ�ของ Object

ท)าการีเป็ล�"ยนจำากแถูบเมีน� “Properties” ใช้&ป็.9มี “Create Object Property” ในการีสรี&าง

ค้.ณสมีบต์1ขั้องออบเจำค้ต์ว็ใหมี$ ท)าการีเป็ล�"ยนช้�"อไป็เป็�น hasIngredient

Page 14: Protege Tutorial

E8: การสร�างคื�ณสมบั ติ�ย่�อย่ เล�อกค้.ณสมีบต์1 hasIngredient

ท)าการีเพื้1"มี Topping และ hasBase ไป็ท�" subproperties

Page 15: Protege Tutorial

คื�ณสมบั ติ�การเปลุ่��ย่นกลุ่ บั ในแต์$ละค้.ณสมีบต์1ขั้อง object สามีารีถูมี�การี

เป็ล�"ยนกลบค้.ณสมีบต์1ท�"ต์รีงกนได& ถู&ามี�บางค้.ณสมีบต์1เช้�"อมีโยงจำาก a ไป็ยง b ดงนนก�

จำะสามีารีถูเป็ล�"ยนกลบ จำาก b ไป็ยง a ได&

Page 16: Protege Tutorial

E9: การสร�างคื�ณสมบั ติ�การเปลุ่��ย่นกลุ่ บั(การผกผ น) สรี&างค้.ณสมีบต์1ขั้อง object ใหมี$โดยไป็ท�" isIngredientOf

กดป็.9มี “Set inverse property” เล�อก “hasIngredient” จำากนนการีผกผนขั้องค้ว็ามีสมีพื้นธ์�ก�จำะถู�กต์งค้$าขั้!น

เล�อก hasBase ท)าการีสรี&าง isBaseOf ท�"มี�ค้.ณสมีบต์1ผกผนกบ hasBase isBaseOf เป็�นค้.ณสมีบต์1ย$อยขั้อง isIngredientOf

เล�อก hasTopping สรี&าง isToppingOf ท�"มี�ค้.ณสมีบต์1การีผกผน isToppingOf จำะเป็�นค้.ณสมีบต์1ย$อย

ขั้อง isIngredientOf

Page 17: Protege Tutorial

คื�ณสมบั ติ�ของฟั%งก&ชื่ น ถู&าหากค้.ณสมีบต์1เป็�นเหมี�อนฟ;งก�ช้นท�"ใช้&ในการีท)างานท�"จำะ

ยอมีให&มี�การีท)างานเฉพื้าะส$ว็น โดยผ$านค้.ณสมีบต์1ดงน� ยอมีให&มี�การีก)าหนดขั้อบเขั้ต์ท�"แน$นอน มี�ล)าดบท�"เป็�นเอกลกษณ�เฉพื้าะ

ส$ว็น ค้.ณสมีบต์1ขั้องฟ;งก�ช้นต์$างๆ เป็�นเหมี�อนค้.ณสมีบต์1ท�"มี�ค้$าเป็�น

ค้$าๆเด�ยว็

Page 18: Protege Tutorial

การทำ(างานของฟั%งก&ชื่ นผกผ น ถู&าหากฟ;งก�ช้นมี�ค้.ณสมีบต์1ในการีผกผน ดงนนก�จำะมี�

การีผกผนต์ามีค้.ณสมีบต์1ดงต์$อไป็น� ก)าหนดให&มี�ล)าดบและขั้อบเขั้ต์ท�"แน$นอน

Page 19: Protege Tutorial

ฟั%งก&ชื่ นแลุ่ะคื�ณสมบั ติ�การผกผ นของฟั%งก&ชื่ น ค้ว็ามีแต์กต์$างรีะหว็$างค้.ณสมีบต์1ขั้องฟ;งก�ช้นและการีผกผน

ค้.ณสมีบต์1ขั้องฟ;งก�ช้นdomain range example

Functional

Property

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 20: Protege Tutorial

คื�ณสมบั ติ�การถ่�าย่ทำอด ถู&า a มี�ค้.ณสมีบต์1การีถู$ายทอด , และเป็�นการีถู$ายทอดค้.ณสมีบต์1โดยต์รีง

จำาก a ไป็ b และ b มี�การีถู$ายทอดค้.ณสมีบต์1โดยต์รีงไป็ยง c, ดงนนเรีาสามีารีถูถู$ายทอดค้.ณสมีบต์1โดยต์รีงจำาก a ไป็ยง c ได&ผ$านค้.ณสมีบต์1 P

Page 21: Protege Tutorial

คื�ณสมบั ติ�การสมมาติร(Symmetric)

ถู&า P มี�ค้.ณสมีบต์1ขั้องการีสมีมีาต์รี และมี�การีสมีมีาต์รีโดยต์รีงจำาก a ไป็ยงb ดงนน b ก�จำะมี�ค้.ณสมีบต์1การีสมีมีาต์รีได&โดยต์รีงไป็ยง a โดยผ$านค้.ณสมีบต์1 P

Page 22: Protege Tutorial

E10: การทำ(าให้� hasIngredient ม�คื�ณสมบั ติ�การถ่�าย่ทำอด เล�อกค้.ณสมีบต์1 hasIngredient ค้ล1กกล$องเช้ค้ค้�บ<อค้ท�"มี�ช้�"อว็$า transitive ท)าการีเล�อกค้.ณสมีบต์1 isIngredientOf ท)าการี

ค้ล1กท�" transitive box อ�กค้รีงเพื้�"อค้ว็ามีมี"นใจำ

Page 23: Protege Tutorial

E11: การทำ(าคื�ณสมบั ติ�ของฟั%งก&ชื่ น hasBase

เล�อกค้.ณสมีบต์1 hasBase ค้ล1กเล�อก “functional” OWL-DL จำะไมี$อน.ญาต์ ให& datatype การี

ถู$ายทอด การีสมีมีาต์รี หรี�อค้.ณสมีบต์1การีผกผน

Page 24: Protege Tutorial

คื�ณสมบั ติ�ของ domains แลุ่ะ ranges

ค้.ณสมีบต์1ท�"มี�การีเช้�"อโยงจำาก domain ไป็ยง range

OWL ใช้& domain และ range เป็�นหลกการีและเหต์.ผล

Page 25: Protege Tutorial

E12: การก(าห้นด range ของ hasTopping

เล�อก hasTopping กดป็.9มี range เล�อก PizzaTopping กดป็.9มี OK PizzaTopping จำะแสดงรีายการีขั้อง range

เมี�"อหลายๆค้ลาสถู�กเพื้1"มี range เขั้&าไป็ค้ลาสเหล$านนก�จำะมี�การี union กนหมีดท.กๆค้ลาส

Page 26: Protege Tutorial

E13: การก(าห้นด Pizza ให้�ม� domain เป,นคื�ณสมบั ติ�ของ hasTopping

เล�อกค้.ณสมีบต์1 hasTopping กดป็.9มีเพื้1"มี domain เล�อก Pizza กด OK Pizza จำะแสดงรีายการีขั้อง domain

เมี�"อหลายๆค้ลาสถู�กเพื้1"มีเป็�น domain ค้ลาสเหล$านนก�จำะสามีารีถูน)าเสนอออกมีาเป็�นการี Union ขั้องหลายๆค้ลาสได&

Page 27: Protege Tutorial

E14: การระบั� domain แลุ่ะ range ส(าห้ร บัคื�ณสมบั ติ�ของisToppingOf

เล�อกค้.ณสมีบต์1 isToppingOf ต์งค้$า domain ขั้องค้.ณสมีบต์1 isToppingOf

เป็�น PizzaTopping ต์งค้$า range ขั้องค้.ณสมีบต์1 isToppingOf เป็�น

Pizza.

Page 28: Protege Tutorial

E15: ระบั� domain แลุ่ะ range ส(าห้ร บัคื�ณสมบั ติ�ของ hasBase ทำ��เป,นคื�ณสมบั ติ�การผกผ น isBaseOf

เล�อกค้.ณสมีบต์1 hasBase รีะบ. domain เป็�น Pizza รีะบ. range เป็�น PizzaBase

เล�อกค้.ณสมีบต์1 isBaseOf รีะบ. domain เป็�น PizzaBase รีะบ. range เป็�น Pizza

Page 29: Protege Tutorial

ข�อจำ(าก ดด�านคื�ณสมบั ติ� ใน OWL, ค้.ณสมีบต์1ท�"ถู�กสรี&างขั้!นต์$างก�มี�ขั้&อจำ)ากด ขั้&อจำ)ากดน�ถู�กใช้&จำ)ากดในเฉพื้าะด&านส)าหรีบแต์$ละค้ลาส 3 ขั้&อจำ)ากด:

ขั้&อจำ)ากดด&านป็รี1มีาณ Existential quantifier ( ) Universal quantifier ( )

ขั้&อจำ)ากดด&าน Cardinality ขั้&อจำ)ากดขั้อง hasValue

Page 30: Protege Tutorial

E16: การเพิ่��มข�อจำ(าก ดให้�ก บั Pizza

เพื้1"มีขั้&อจำ)ากดให&กบ Pizza โดยรีะบ. Pizza เป็�น PizzaBase เล�อก Pizza เล�อกหว็ขั้&อ Necessary เพื้�"อสรี&างเง�"อนไขั้ท�"จำ)าเป็�น ท)าการีสรี&างขั้&อจำ)ากด

เล�อก hasBase เป็�นค้.ณสมีบต์1ท�"มี�ขั้&อจำ)ากด เล�อก someValueFrom เป็�นขั้&อจำ)ากด ให& PizzaBase เป็�น filler

Page 31: Protege Tutorial

เพิ่��มข�อจำ(าก ดให้�ก บั Pizza

Page 32: Protege Tutorial

E18: สร�างข�อแติกติ�างติามแติ�ลุ่ะประเภทำของ Pizzas

สรี&างค้ลาสย$อยขั้อง Pizza ท�"เรี�ยกว็$า NamedPizzaและเรี�ยกค้ลาสย$อยขั้อง NamedPizza ว็$า MargheritaPizza

เพื้1"มีขั้&อค้อมีเมีนต์�ให&กบ MargheritaPizza: เป็�น pizza ท�"มี�เพื้�ยง Mozarella และ Tomato toppings

Page 33: Protege Tutorial

E19: เพิ่��มข�อจำ(าก ดให้�ก บั MargheritaPizza รีะบ. MargheritaPizza ให&มี�อย$างน&อยค้�อ

MozzarellaTopping. เล�อก MargheritaPizza ไป็ท�" “Asserted Conditions” สรี&างขั้&อจำ)ากดใหมี$ เล�อก someValueFrom เล�อก hasTopping ให&มี�ค้.ณสมีบต์1เป็�นขั้&อจำ)ากด เล�อก MozzarellaTopping ให&เป็�น filler กดป็.9มี OK

Page 34: Protege Tutorial

E20: เพิ่��มข�อจำ(าก ดให้�ก บั MargheritaPizza เพื้�"อรีะบ. MargheritaPizza ให&มี�อย$างน&อยหน!"งต์ว็ท�"เป็�น

TomatoTopping. เล�อก MargheritaPizza ไป็ท�" “Asserted Conditions”ในการีสรี&างขั้&อจำ)ากด เล�อก someValueFrom เล�อก hasTopping ให&เป็�นค้.ณสมีบต์1ท�"มี�ขั้&อจำ)ากด เล�อก TomatoTopping ให&เป็�น filler กดป็.9มี OK

Page 35: Protege Tutorial

E21: สร�าง AmericanPizza

สรี&าง AmericanPizza กบ toppings ขั้อง pepperoni mozzarella และ tomato.

ผ$านการี cloning และการี modifying ในการีอธ์1บายขั้อง MargheritaPizza. เล�อก MargheritaPizza เล�อกสรี&าง clone เพื้1"มีขั้&อจำ)ากดเพื้1"มีเต์1มีให&กบ AmericanaPizza

เพื้1"มี PepperoniTopping กดป็.9มี OK

Page 36: Protege Tutorial

E22: สร�าง AmericanHotPizza แลุ่ะ SohoPizza

AmericanHotPizza เก�อบจำะค้ล&ายกบ AmericanaPizza แต์$มี� JalapenoPepperTopping อย�$ในนน

SohoPizza เก�อบจำะค้ล&ายกบ MargheritaPizzaแต์$จำะมี�ส$ว็นท�"เพื้1"มีเต์1มีขั้!นมีาค้�อ OliveTopping และ ParmezanTopping

Page 37: Protege Tutorial

E23: ทำ(าคืลุ่าสย่�อย่ของ NamedPizza ให้� disjoint ก น

เล�อก MargheritaPizza กดป็.9มี “add all siblings” บน “Disjoints

widget” เพื้�"อท)า disjoint ให&กบ pizzas แต์$ละอน

Page 38: Protege Tutorial

การใชื่�เห้ติ�แลุ่ะผลุ่ Ontology ใช้&ในการีอธ์1บายใน OWL-DL ท�"สามีารีถูด)าเน1นการีได&จำากการี

ให&เหต์.และผล ไป็ท�" owl—preference, ท)าการีเช้ค้ค้�ให&แน$ใจำว็$า OWL-DL ได&ถู�กเล�อกไว็&

แล&ว็ การีบรี1การีหลกเพื้�"อเสนอให&เห�นถู!งเหต์.และผลท�"เป็�นการีทดสอบว็$าเป็�นค้ลาส

ท�"เป็�นซบค้ลาสขั้องค้ลาสอ�"นๆหรี�อไมี$ การีแสดงถู!งการีทดสอบในแต์$ละค้ลาส ,เป็�นการีให&เหต์.ผลในส1"งท�"เป็�นไป็ได&

การคื(าคืวิณของการได�มาของออนโทำโลุ่ย่�ของแติ�ลุ่ะลุ่(าด บัชื่ �น การีบรี1การีด&านการีให&เหต์.ผลอ�"นๆก�เป็�นเหมี�อนการีต์รีว็จำสอบค้ว็ามี

สอดค้ล&องกน – เพื้�"อต์รีว็จำสอบค้ว็ามีเป็�นไป็ได&ขั้องค้ลาสนนว็$าเป็�นไป็ได&หรี�อไมี$

ค้ลาสอาจำเป็�นค้ลาสต์ว็อย$างท�"ถู�อว็$ามี�ค้ว็ามีสอดค้ล&องกนหรี�ออาจำเป็�นค้ลาสท�"ไมี$มี�ค้ว็ามีสอดค้ล&องกนก�มี�บ&างในหลายๆต์ว็อย$าง

Page 39: Protege Tutorial

การใชื่� Racer

ในล)าดบการีให&เหต์.ผลท�"มีากว็$าออนโทโลจำ�ใน Protege-OWL ซ!"งเป็�นไป็ต์ามีมีาต์รีฐาน DIG ท�"ค้ว็รีจำะต์1ดต์งและเรี1"มีใช้&งาน

ในการีสอน จำะมี�การีใช้& Racer ดาว็น�โหลดท�" :

http://www.racer-systems.com/products/download/index.phtml

ดบเบ1ลค้ล1ก RacerPro เพื้�"อเรี1"มีใช้& Racer

Page 40: Protege Tutorial

การอ�างถ่1งเห้2นผลุ่ มี�การีเรี1"มีใช้& Racer ท�" ontology ท�"สามีารีถูส$งไป็ยง reasoner โดย

อต์โนมีต์1ท�"มี�การีค้)านว็นการีจำ)าแนกเป็�นล)าดบช้นและสามีารีถูต์รีว็จำสอบค้ว็ามีสอดค้ล&องกนขั้องออนโทโลจำ�

ใน Protege, แมีนนว็รี�ท�"มี�โค้รีงสรี&างเป็�นล)าดบขั้นจำะถู�กเรี�ยกว็$า asserted hierarchy. มี�การีค้)านว็นอย$างอต์1โนมีต์1โดย reasoner จำะถู�กเรี�ยกว็$า inferred hierarchy.

ไป็ท�" OWL – classify taxonomy – เพื้1"ออ&างไป็ยง reasoner ถู&าค้ลาสเป็�น reclassified ดงนนค้ลาสจำะป็รีากฏช้�"อเป็�นส�ฟ?า blue

color ในล)าดบช้นท�"ถู�กอ&างถู!ง ไป็ท�" OWL – ต์รีว็จำสอบ consistency – เพื้�"ออ&างไป็ยง reasoner

ถู&าพื้บว็$าค้ลาสเป็�น inconsistent จำะเก1ด icon เป็�นว็งกลมีส�แดง red color.

การีค้)านว็ณการีน)าเสนอค้ลาสเป็�นล)าดบช้น ท)าให&รี� &ถู!ง การีจำ)าแนกขั้องออนโทโลจำ�

Page 41: Protege Tutorial

การอ�างอ�งอย่�างม�เห้ติ�ผลุ่

Page 42: Protege Tutorial

E24: คืลุ่าสทำ��ไม�สอดคืลุ่�องก น ในล)าดบแสดงถู!งการีใช้& reasoner เพื้�"อต์รีว็จำสอบ inconsistencies

ในออนโทโลจำ�, เพื้�"อท�"จำะสรี&างค้ลาส ProbeInconsistentTopping, ค้ลาสย$อยอนไหนเป็�นค้ลาสขั้อง CheeseTopping เล�อก ProbeInconsistentToppingไป็ย�นยนเง�"อนไขั้ในการีเพื้1"มีช้�"อค้ลาส

เล�อก VegetableTopping และกดป็.9มี OK ไป็ท�" OWL – ต์รีว็จำสอบ consistency

Page 43: Protege Tutorial

E25: ทำ(าการแบั�งกลุ่��มของแติ�ลุ่ะประเภทำของออนโทำโลุ่จำ�อ�กคืร �ง จำะเห�น ProbeInconsistentTopping ว็$าไมี$มี�อย�$

แล&ว็

Page 44: Protege Tutorial

E26: ทำ(าการลุ่บั disjoint statement

รีะหว็$าง CheeseTopping และ VegetableTopping จำะเห�นว็$ามี�อะไรีเก1ดขั้!นบ&าง ท)าการีการีเล�อก CheeseTopping ไป็ยงส$ว็นท�"เป็�น Disjoint เล�อก VegetableTopping, ค้ล1กขั้ว็าและ “ท)าการีลบ

แถูว็ท�"เล�อก” การีจำ)าแนก taxonomy ค้ว็ามีสอดค้ล&องดงกล$าว็ไมี$เก1ดขั้!นแล&ว็

Page 45: Protege Tutorial

E27: แก�ไข ontology

ท)าได&โดยก)าหนดให& CheeseTopping และ VegetableTopping ให& disjoint ออกจำากต์ว็อ�"นๆ

Page 46: Protege Tutorial

แห้ลุ่�งอ�างอ�ง Protege Ontology Libraries

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/