SlideShare uma empresa Scribd logo
1 de 46
Protege Tutorial
Based on ProtegeOWLTutorial at
protege website
What is protege?
 Protege is a free, open-source platform to construct
domain models and knowledge-based applications
with ontologies.
 Ontologies range from taxonomies, classifications,
database schemas to fully axiomatized theories.
 Ontologies are now central to many applications
such as scientific knowledge portals, information
management and integration systems, electronic
commerce and web services
Install Protege
 Go to
http://protege.stanford.edu/doc/owl/getting-started.html
to download protege (version 3.x)
 Protege OWL editor is built with the full installation
of protege platform. During the install process,
choose the “Basic+OWL” option.
 For more details:
http://protege.stanford.edu/doc/owl/getting-
started.html
Protege
 There are two main ways of modelling ontologies:
 Frame-based
 OWL
 Each has its own user interface
 Protege Frames editor: enables users to build and populate ontologies that
are frame-based, in accordance with OKBC (Open Knowledge Base
Connectivity Protocol).
 Classes
 Slots for properties and relationships
 Instances for class
 Protege OWL editor: enables users to build ontology for the Semantic Web,
in particular to OWL
 Classes
 Properties
 Instances
 reasoning
Building an OWL Ontology
 E2: Create a new OWL project
 Start protege
 File – New Project – OWL/RDF files – Ontology
URI (http://www.pizza.com/ontologies/pizza.owl) –
OWL DL – Properties View
 A new empty Protege-OWL project has been
created.
 Save it in your local file as pizza.owl
Named Classes
 Go to OWL Classes tab
 The empty class tree contains one class called owl:Thing,
which is superclass of everything.
 E3: Create subclasses Pizza, PizzaTopping and
PizzaBase. They are subclasses of owl:Thing.
 Naming convention
 no special naming convention
 consistency
Disjoint classes
 E4: How to say that Pizza, PizzaTopping and
PizzaBase classes are disjoint.
1. Select the class Pizza
2. Press “add siblings” button
on the disjoint classes
widget
3. Add PizzaBase and
PizzaTopping
4. Select the class
PizzaTopping,
5. Add Pizza and PizzaBase
to the disjoint class
E5: Create group of classes
 Create ThinAndCrisyBase and
DeepPanBase as the subclasses of
PizzaBase, and each of them are disjointed.
 Select PizzaBase, right click the mouse,
select “create subclasses”
 Follow the wizard to create these two disjoint
classes.
 It will save lots of time when there is need to
create lots of disjoint classes.
E6: Create some subclasses of
PizzaTopping
 Select PizzaTopping,
 Create subclaesses as MeatTopping, VegetableTopping,
CheeseTopping and SeafoodTopping. Make sure that
these classes are disjoint to each other.
 Select the class MeatTopping,
 Add disjoint subclasses: SpicyBeefTopping,
PepperoniTopping, SalamiTopping and HamTopping
 Select VegetableTopping:
 Add disjoint subclasses: TomatoTopping, OliveTopping,
MushroomTopping, PepperTopping, OnionTopping,
CaperTopping
E6: Creating disjoint
subclasses
 Select PepperTopping
 Add disjoint subclasses: RedPepperTopping,
GreenPepperTopping, JalapenoPepperTopping
 Select CheeseTopping
 Add disjoint subclasses: MozzarellaTopping,
ParmezanTopping
 Select SeafoodTopping
 Add disjoint subclasses: TunaTopping,
AnchovyTopping and PrawnTopping
OWL Properties
 OWL Properties represent relationships
between two objects.
 There are two main properties:
 Object properties: link object to object
 datatype properties: link object to XML Schema
datatype or rdf:literal
 OWL has another property – Annotation
properties, to be used to add annotation
information to classes, individuals, and
properties
E7: Create an object property
 Switch to the “Properties” tab,
 Use “Create Object Property” button to create
a new object property.
 Rename it to hasIngredient
E8: Creating sub-properties
 Select hasIngredient property
 Add hasTopping and hasBase as the
subproperties
Inverse Properties
 Each object property may have a
corresponding inverse property.
 If some property links individual a to
individual b, then its inverse property will link
individual b to individual a.
E9: Create inverse properties
 Create a new object property called isIngredientOf
 Press “Set inverse property” button,
 Select “hasIngredient”
 Then the inverse relation has been set up.
 Select hasBase
 Create the isBaseOf as the inverse property of hasBase
 isBaseOf is the subproperty of isIngredientOf, why?
 Select hasTopping
 create isToppingOf as the inverse property.
 isToppingOf is the subproperty
of isIngredientOf, why?
Functional Properties
 If a property is functional, for a given individual,
there can only be at most one individual to be
related via this property.
 For a given domain, range must be unique
 Functional properties are also known as single
valued properties.
Inverse Functional Properties
 If a property is inverse functional, then its
inverse property is functional.
 For a given range, domain must be unique.
Functional vs. inverse
functional properties
 FunctionalProperty vs InverseFunctionalProperty
domain range example
Functional
Property
For a given
domain
Range is
unique
hasFather: A hasFather
B, A hasFather C B=C
InverseFunctional
Property
Domain is
unique
For a given
range
hasID: A hasID B, C
hasID B A=C
Transitive Properties
 If a property is transitive, and the property related individual a
to individual b, and also individual b to individual c, then we
can infer that individual a is related to individual c via property
P.
Symmetric Properties
 If a property P is symmetric, and the property
relates individual a to individual b, then
individual b is also related to individual a via
property P.
E10: Make the hasIngredient
property transitive
 Select the hasIngredient property
 Tick the transitive tick box
 Select the isIngredientOf property, make sure
that the transitive tick box is ticked.
E11: Make the hasBase
property functional
 Select the hasBase property
 Tick the “functional” tick box
 OWL-DL does not allow datatype properties
to be transitive, symmetric or have inverse
properties.
Property domains and ranges
 Properties link individuals from the domain to
individuals from the range.
 OWL uses domain and range as axioms in
reasoning.
E12: Specify the range of
hasTopping
 Select hasTopping
 Press range button
 Select PizzaTopping
 Press OK button
 PizzaTopping should be displayed in the range
list.
 When multiple classes are added to the
range, they represent the union of all classes.
E13: Specify Pizza as the domain
of the hasTopping property
 Select hasTopping property
 Press add domain button
 Select Pizza
 Press OK
 Pizza is displayed in the domain list.
 When multiple classes are added as domain,
they represent as the union of these classes.
E14: Specify the domain and range for
the isToppingOf property
 Select the isToppingOf property
 Set the domain of the isToppingOf property to
PizzaTopping
 Set the range of the isToppingOf property to
Pizza.
E15: Specify the domain and range for the hasBase
property and its inverse property isBaseOf
 Select the hasBase property
 Specify the domain as Pizza
 Specify the range as PizzaBase
 Select the isBaseOf property
 Specify the domain as PizzaBase
 Specify the range as Pizza
Property restrictions
 In OWL, properties are used to create restrictions.
 Restrictions are used to restrict the individuals that
belong to a class
 Three restrictions:
 Quantifier restrictions
 Existential quantifier ( )
 Universal quantifier ( )
 Cardinality restrictions
 hasValue restrictions
∃
∀
E16: Add a restriction to Pizza
 Add a restriction to Pizza that specifies a
Pizza must have a PizzaBase
 Select Pizza
 Select Necessary header to create a necessary
condition
 Select create a restriction wizard
 Select hasBase as restricted property
 Select someValueFrom as restriction
 Put PizzaBase into the filler
Add a restriction to Pizza
E18: Creating different kinds of
Pizzas
 Create a subclass of Pizza called
NamedPizza, and a subclass of NamedPizza
called MargheritaPizza.
 Add comment to MargheritaPizza: A pizza
that only has Mozarella and Tomato toppings
E19: Adding restrictions to
MargheritaPizza
 To specify that MargheritaPizza has at least one
MozzarellaTopping.
 Select MargheritaPizza
 Go to “Asserted Conditions”, create new restriction.
 Select someValueFrom
 Select hasTopping as the property to be restricted.
 Enter MozzarellaTopping as the filler
 Press OK button
E20: Adding restrictions to
MargheritaPizza
 To specify that MargheritaPizza has at least one
TomatoTopping.
 Select MargheritaPizza
 Go to “Asserted Conditions”, create new restriction.
 Select someValueFrom
 Select hasTopping as the property to be restricted.
 Enter TomatoTopping as the filler
 Press OK button
E21: Create AmericanPizza
 Create AmericanPizza with toppings of
pepperoni, mozzarella and tomato.
 Through cloning and modifying the
description of MargheritaPizza.
 Select MargheritaPizza
 Select create clone
 Add additional restriction to AmericanaPizza
 Adding PepperoniTopping
 Press OK.
E22: Create an AmericanHotPizza
and a SohoPizza
 An AmericanHotPizza is almost the same as an
AmericanaPizza, but has JalapenoPepperTopping
on it.
 A SohoPizza is almost the same as a
MargheritaPizza, but has additional OliveTopping
and ParmezanTopping
E23: Make subclasses of NamedPizza
disjoint from each other
 Select MargheritaPizza
 Press “add all siblings” button on the
“Disjoints widget” to make the pizzas disjoint
from each other.
Using a reasoner
 Ontology described in OWL-DL can be processed by a reasoner.
 Go to owl—preference, to make sure that OWL-DL is selected.
 The main services offered by a reasoner is to test whether or not
one class is a subclass of another class.
 By performing such tests on all of the classes, it is possible for a
reasoner to compute the inferred ontology class hierarchy.
 Another reasoning service is consistency checking – to check
whether or not it is possible for the class to have any instances.
 A class is deemed to be inconsistent if it cannot possibly have
any instances.
Using Racer
 In order to reason over the ontology in
Protege-OWL, a DIG compliant reasoner
should be installed and started.
 In this tutorial, we use Racer,
 Download at:
http://www.racer-systems.com/products/download/inde
 Double click RacerPro to start Racer.
Invoking the reasoner
 Having started Racer, the ontology can be sent to the reasoner
to automatically compute the classification hierarchy, and also
check the logical consistency of the ontology.
 In Protege, the manually constructed class hierarchy is called the
asserted hierarchy. The automatically computed by the
reasoner is called the inferred hierarchy.
 Go to OWL – classify taxonomy – to invoke the reasoner
 If a class has been reclassified, then the class name will appear
in a blue color in the inferred hierarchy.
 Go to OWL – Check consistency – to invoke the reasoner
 If a class has been found to be inconsistent, it’s icon will be
circled in red color.
 Computing the inferred class hierarchy is also known as
classifying the ontology.
Invoke the reasoner
E24: Inconsistent classes
 In order to demonstrate the use of the reasoner to detect
inconsistencies in the ontology, we will create a class
ProbeInconsistentTopping,
 Which is the subclass of CheeseTopping
 Select ProbeInconsistentTopping, go to asserted condition to add
named classes, select VegetableTopping and then press OK.
 Go to OWL – check consistency
E25: Classify the ontology again
 To see ProbeInconsistentTopping is
inconsistent.
E26: Remove the disjoint statement
 Between CheeseTopping and
VegetableTopping to see what happens
 Select CheeseTopping
 Go to Disjoint part
 Select VegetableTopping, right click and “Delete
the selected row”.
 Classify taxonomy
 The inconsistency no longer exists.
E27: Fix the ontology
 By making CheeseTopping and
VegetableTopping disjoint from each other.
Resources
 Protege Ontology Libraries
 http://protegewiki.stanford.edu/index.php/Protege
_Ontology_Library
 Protege tutorial
 http://www.co-ode.org/resources/tutorials/
 Protege Website
 http://protege.stanford.edu/doc/users.html
 http://protege.stanford.edu/

Mais conteúdo relacionado

Mais procurados

소프트웨어 아키텍처
소프트웨어 아키텍처소프트웨어 아키텍처
소프트웨어 아키텍처영기 김
 
Digital Library Repository: Invenio vs Dspace
Digital Library Repository: Invenio vs DspaceDigital Library Repository: Invenio vs Dspace
Digital Library Repository: Invenio vs DspaceAnjesh Tuladhar
 
Semantic web meetup – sparql tutorial
Semantic web meetup – sparql tutorialSemantic web meetup – sparql tutorial
Semantic web meetup – sparql tutorialAdonisDamian
 
Object oriented programming interview questions
Object oriented programming interview questionsObject oriented programming interview questions
Object oriented programming interview questionsKeet Sugathadasa
 
2-5-14 “DSpace User Interface Innovation” Presentation Slides
2-5-14 “DSpace User Interface Innovation” Presentation Slides2-5-14 “DSpace User Interface Innovation” Presentation Slides
2-5-14 “DSpace User Interface Innovation” Presentation SlidesDuraSpace
 
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)WON JOON YOO
 
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)Seongyun Byeon
 
Semantic Web, Ontology, and Ontology Learning: Introduction
Semantic Web, Ontology, and Ontology Learning: IntroductionSemantic Web, Ontology, and Ontology Learning: Introduction
Semantic Web, Ontology, and Ontology Learning: IntroductionKent State University
 
도메인구현 KSUG 20151128
도메인구현 KSUG 20151128도메인구현 KSUG 20151128
도메인구현 KSUG 20151128beom kyun choi
 
NLP State of the Art | BERT
NLP State of the Art | BERTNLP State of the Art | BERT
NLP State of the Art | BERTshaurya uppal
 
MLFlow: Platform for Complete Machine Learning Lifecycle
MLFlow: Platform for Complete Machine Learning Lifecycle MLFlow: Platform for Complete Machine Learning Lifecycle
MLFlow: Platform for Complete Machine Learning Lifecycle Databricks
 
Convert BIM/ IFC models into graph database (Neo4j) based on IFCWebServer.org
Convert BIM/ IFC models into graph database (Neo4j) based on IFCWebServer.orgConvert BIM/ IFC models into graph database (Neo4j) based on IFCWebServer.org
Convert BIM/ IFC models into graph database (Neo4j) based on IFCWebServer.orgAli Ismail
 
Introduction to Apache solr
Introduction to Apache solrIntroduction to Apache solr
Introduction to Apache solrKnoldus Inc.
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBRavi Teja
 
SPARQL introduction and training (130+ slides with exercices)
SPARQL introduction and training (130+ slides with exercices)SPARQL introduction and training (130+ slides with exercices)
SPARQL introduction and training (130+ slides with exercices)Thomas Francart
 
[제1회 루씬 한글분석기 기술세미나] solr로 나만의 검색엔진을 만들어보자
[제1회 루씬 한글분석기 기술세미나] solr로 나만의 검색엔진을 만들어보자[제1회 루씬 한글분석기 기술세미나] solr로 나만의 검색엔진을 만들어보자
[제1회 루씬 한글분석기 기술세미나] solr로 나만의 검색엔진을 만들어보자Donghyeok Kang
 
Ontology quality, ontology design patterns, and competency questions
Ontology quality, ontology design patterns, and competency questionsOntology quality, ontology design patterns, and competency questions
Ontology quality, ontology design patterns, and competency questionsNicola Guarino
 
도메인 주도 설계의 본질
도메인 주도 설계의 본질도메인 주도 설계의 본질
도메인 주도 설계의 본질Young-Ho Cho
 

Mais procurados (20)

소프트웨어 아키텍처
소프트웨어 아키텍처소프트웨어 아키텍처
소프트웨어 아키텍처
 
Digital Library Repository: Invenio vs Dspace
Digital Library Repository: Invenio vs DspaceDigital Library Repository: Invenio vs Dspace
Digital Library Repository: Invenio vs Dspace
 
Semantic web meetup – sparql tutorial
Semantic web meetup – sparql tutorialSemantic web meetup – sparql tutorial
Semantic web meetup – sparql tutorial
 
Object oriented programming interview questions
Object oriented programming interview questionsObject oriented programming interview questions
Object oriented programming interview questions
 
SEMINAR
SEMINARSEMINAR
SEMINAR
 
2-5-14 “DSpace User Interface Innovation” Presentation Slides
2-5-14 “DSpace User Interface Innovation” Presentation Slides2-5-14 “DSpace User Interface Innovation” Presentation Slides
2-5-14 “DSpace User Interface Innovation” Presentation Slides
 
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
 
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
 
Builder pattern
Builder patternBuilder pattern
Builder pattern
 
Semantic Web, Ontology, and Ontology Learning: Introduction
Semantic Web, Ontology, and Ontology Learning: IntroductionSemantic Web, Ontology, and Ontology Learning: Introduction
Semantic Web, Ontology, and Ontology Learning: Introduction
 
도메인구현 KSUG 20151128
도메인구현 KSUG 20151128도메인구현 KSUG 20151128
도메인구현 KSUG 20151128
 
NLP State of the Art | BERT
NLP State of the Art | BERTNLP State of the Art | BERT
NLP State of the Art | BERT
 
MLFlow: Platform for Complete Machine Learning Lifecycle
MLFlow: Platform for Complete Machine Learning Lifecycle MLFlow: Platform for Complete Machine Learning Lifecycle
MLFlow: Platform for Complete Machine Learning Lifecycle
 
Convert BIM/ IFC models into graph database (Neo4j) based on IFCWebServer.org
Convert BIM/ IFC models into graph database (Neo4j) based on IFCWebServer.orgConvert BIM/ IFC models into graph database (Neo4j) based on IFCWebServer.org
Convert BIM/ IFC models into graph database (Neo4j) based on IFCWebServer.org
 
Introduction to Apache solr
Introduction to Apache solrIntroduction to Apache solr
Introduction to Apache solr
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
SPARQL introduction and training (130+ slides with exercices)
SPARQL introduction and training (130+ slides with exercices)SPARQL introduction and training (130+ slides with exercices)
SPARQL introduction and training (130+ slides with exercices)
 
[제1회 루씬 한글분석기 기술세미나] solr로 나만의 검색엔진을 만들어보자
[제1회 루씬 한글분석기 기술세미나] solr로 나만의 검색엔진을 만들어보자[제1회 루씬 한글분석기 기술세미나] solr로 나만의 검색엔진을 만들어보자
[제1회 루씬 한글분석기 기술세미나] solr로 나만의 검색엔진을 만들어보자
 
Ontology quality, ontology design patterns, and competency questions
Ontology quality, ontology design patterns, and competency questionsOntology quality, ontology design patterns, and competency questions
Ontology quality, ontology design patterns, and competency questions
 
도메인 주도 설계의 본질
도메인 주도 설계의 본질도메인 주도 설계의 본질
도메인 주도 설계의 본질
 

Semelhante a Protege tutorial

Grand Rapids PHP Meetup: Behavioral Driven Development with Behat
Grand Rapids PHP Meetup: Behavioral Driven Development with BehatGrand Rapids PHP Meetup: Behavioral Driven Development with Behat
Grand Rapids PHP Meetup: Behavioral Driven Development with BehatRyan Weaver
 
Beta testing guidelines for developer
Beta testing guidelines for developerBeta testing guidelines for developer
Beta testing guidelines for developerKetan Raval
 
Lesson-1---Python-Intro---print-and-input.pptx
Lesson-1---Python-Intro---print-and-input.pptxLesson-1---Python-Intro---print-and-input.pptx
Lesson-1---Python-Intro---print-and-input.pptxMrMarkJosephPImperio
 
Alex Podopryhora - Selling across multiple channels made easy
Alex Podopryhora - Selling across multiple channels made easyAlex Podopryhora - Selling across multiple channels made easy
Alex Podopryhora - Selling across multiple channels made easyMeet Magento Italy
 
Feed the Masses
Feed the MassesFeed the Masses
Feed the Massespbugni
 
FitNesse With Scala
FitNesse With ScalaFitNesse With Scala
FitNesse With ScalaKnoldus Inc.
 
Building Awesome APIs in Grails
Building Awesome APIs in GrailsBuilding Awesome APIs in Grails
Building Awesome APIs in Grailsclatimer
 
1-_Introduction_To_Django_Model_and_Database (1).pptx
1-_Introduction_To_Django_Model_and_Database (1).pptx1-_Introduction_To_Django_Model_and_Database (1).pptx
1-_Introduction_To_Django_Model_and_Database (1).pptxTamilGamers4
 
Fundamentals of python
Fundamentals of pythonFundamentals of python
Fundamentals of pythonBijuAugustian
 
TVML apps on the Apple TV
TVML apps on the Apple TVTVML apps on the Apple TV
TVML apps on the Apple TVMatias Korhonen
 
Katalon Studio - GUI Overview
Katalon Studio - GUI OverviewKatalon Studio - GUI Overview
Katalon Studio - GUI OverviewKatalon Studio
 
Introduction to BDD (Behavior-Driven Development)
Introduction to BDD (Behavior-Driven Development)Introduction to BDD (Behavior-Driven Development)
Introduction to BDD (Behavior-Driven Development)Juan Rodríguez
 

Semelhante a Protege tutorial (13)

Grand Rapids PHP Meetup: Behavioral Driven Development with Behat
Grand Rapids PHP Meetup: Behavioral Driven Development with BehatGrand Rapids PHP Meetup: Behavioral Driven Development with Behat
Grand Rapids PHP Meetup: Behavioral Driven Development with Behat
 
Beta testing guidelines for developer
Beta testing guidelines for developerBeta testing guidelines for developer
Beta testing guidelines for developer
 
Weapons for Boilerplate Destruction
Weapons for Boilerplate DestructionWeapons for Boilerplate Destruction
Weapons for Boilerplate Destruction
 
Lesson-1---Python-Intro---print-and-input.pptx
Lesson-1---Python-Intro---print-and-input.pptxLesson-1---Python-Intro---print-and-input.pptx
Lesson-1---Python-Intro---print-and-input.pptx
 
Alex Podopryhora - Selling across multiple channels made easy
Alex Podopryhora - Selling across multiple channels made easyAlex Podopryhora - Selling across multiple channels made easy
Alex Podopryhora - Selling across multiple channels made easy
 
Feed the Masses
Feed the MassesFeed the Masses
Feed the Masses
 
FitNesse With Scala
FitNesse With ScalaFitNesse With Scala
FitNesse With Scala
 
Building Awesome APIs in Grails
Building Awesome APIs in GrailsBuilding Awesome APIs in Grails
Building Awesome APIs in Grails
 
1-_Introduction_To_Django_Model_and_Database (1).pptx
1-_Introduction_To_Django_Model_and_Database (1).pptx1-_Introduction_To_Django_Model_and_Database (1).pptx
1-_Introduction_To_Django_Model_and_Database (1).pptx
 
Fundamentals of python
Fundamentals of pythonFundamentals of python
Fundamentals of python
 
TVML apps on the Apple TV
TVML apps on the Apple TVTVML apps on the Apple TV
TVML apps on the Apple TV
 
Katalon Studio - GUI Overview
Katalon Studio - GUI OverviewKatalon Studio - GUI Overview
Katalon Studio - GUI Overview
 
Introduction to BDD (Behavior-Driven Development)
Introduction to BDD (Behavior-Driven Development)Introduction to BDD (Behavior-Driven Development)
Introduction to BDD (Behavior-Driven Development)
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Último (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Protege tutorial

  • 1. Protege Tutorial Based on ProtegeOWLTutorial at protege website
  • 2. What is protege?  Protege is a free, open-source platform to construct domain models and knowledge-based applications with ontologies.  Ontologies range from taxonomies, classifications, database schemas to fully axiomatized theories.  Ontologies are now central to many applications such as scientific knowledge portals, information management and integration systems, electronic commerce and web services
  • 3. Install Protege  Go to http://protege.stanford.edu/doc/owl/getting-started.html to download protege (version 3.x)  Protege OWL editor is built with the full installation of protege platform. During the install process, choose the “Basic+OWL” option.  For more details: http://protege.stanford.edu/doc/owl/getting- started.html
  • 4. Protege  There are two main ways of modelling ontologies:  Frame-based  OWL  Each has its own user interface  Protege Frames editor: enables users to build and populate ontologies that are frame-based, in accordance with OKBC (Open Knowledge Base Connectivity Protocol).  Classes  Slots for properties and relationships  Instances for class  Protege OWL editor: enables users to build ontology for the Semantic Web, in particular to OWL  Classes  Properties  Instances  reasoning
  • 5. Building an OWL Ontology  E2: Create a new OWL project  Start protege  File – New Project – OWL/RDF files – Ontology URI (http://www.pizza.com/ontologies/pizza.owl) – OWL DL – Properties View  A new empty Protege-OWL project has been created.  Save it in your local file as pizza.owl
  • 6. Named Classes  Go to OWL Classes tab  The empty class tree contains one class called owl:Thing, which is superclass of everything.  E3: Create subclasses Pizza, PizzaTopping and PizzaBase. They are subclasses of owl:Thing.  Naming convention  no special naming convention  consistency
  • 7. Disjoint classes  E4: How to say that Pizza, PizzaTopping and PizzaBase classes are disjoint. 1. Select the class Pizza 2. Press “add siblings” button on the disjoint classes widget 3. Add PizzaBase and PizzaTopping 4. Select the class PizzaTopping, 5. Add Pizza and PizzaBase to the disjoint class
  • 8. E5: Create group of classes  Create ThinAndCrisyBase and DeepPanBase as the subclasses of PizzaBase, and each of them are disjointed.  Select PizzaBase, right click the mouse, select “create subclasses”  Follow the wizard to create these two disjoint classes.  It will save lots of time when there is need to create lots of disjoint classes.
  • 9. E6: Create some subclasses of PizzaTopping  Select PizzaTopping,  Create subclaesses as MeatTopping, VegetableTopping, CheeseTopping and SeafoodTopping. Make sure that these classes are disjoint to each other.  Select the class MeatTopping,  Add disjoint subclasses: SpicyBeefTopping, PepperoniTopping, SalamiTopping and HamTopping  Select VegetableTopping:  Add disjoint subclasses: TomatoTopping, OliveTopping, MushroomTopping, PepperTopping, OnionTopping, CaperTopping
  • 10. E6: Creating disjoint subclasses  Select PepperTopping  Add disjoint subclasses: RedPepperTopping, GreenPepperTopping, JalapenoPepperTopping  Select CheeseTopping  Add disjoint subclasses: MozzarellaTopping, ParmezanTopping  Select SeafoodTopping  Add disjoint subclasses: TunaTopping, AnchovyTopping and PrawnTopping
  • 11. OWL Properties  OWL Properties represent relationships between two objects.  There are two main properties:  Object properties: link object to object  datatype properties: link object to XML Schema datatype or rdf:literal  OWL has another property – Annotation properties, to be used to add annotation information to classes, individuals, and properties
  • 12.
  • 13. E7: Create an object property  Switch to the “Properties” tab,  Use “Create Object Property” button to create a new object property.  Rename it to hasIngredient
  • 14. E8: Creating sub-properties  Select hasIngredient property  Add hasTopping and hasBase as the subproperties
  • 15. Inverse Properties  Each object property may have a corresponding inverse property.  If some property links individual a to individual b, then its inverse property will link individual b to individual a.
  • 16. E9: Create inverse properties  Create a new object property called isIngredientOf  Press “Set inverse property” button,  Select “hasIngredient”  Then the inverse relation has been set up.  Select hasBase  Create the isBaseOf as the inverse property of hasBase  isBaseOf is the subproperty of isIngredientOf, why?  Select hasTopping  create isToppingOf as the inverse property.  isToppingOf is the subproperty of isIngredientOf, why?
  • 17. Functional Properties  If a property is functional, for a given individual, there can only be at most one individual to be related via this property.  For a given domain, range must be unique  Functional properties are also known as single valued properties.
  • 18. Inverse Functional Properties  If a property is inverse functional, then its inverse property is functional.  For a given range, domain must be unique.
  • 19. Functional vs. inverse functional properties  FunctionalProperty vs InverseFunctionalProperty domain range example Functional Property For a given domain Range is unique hasFather: A hasFather B, A hasFather C B=C InverseFunctional Property Domain is unique For a given range hasID: A hasID B, C hasID B A=C
  • 20. Transitive Properties  If a property is transitive, and the property related individual a to individual b, and also individual b to individual c, then we can infer that individual a is related to individual c via property P.
  • 21. Symmetric Properties  If a property P is symmetric, and the property relates individual a to individual b, then individual b is also related to individual a via property P.
  • 22. E10: Make the hasIngredient property transitive  Select the hasIngredient property  Tick the transitive tick box  Select the isIngredientOf property, make sure that the transitive tick box is ticked.
  • 23. E11: Make the hasBase property functional  Select the hasBase property  Tick the “functional” tick box  OWL-DL does not allow datatype properties to be transitive, symmetric or have inverse properties.
  • 24. Property domains and ranges  Properties link individuals from the domain to individuals from the range.  OWL uses domain and range as axioms in reasoning.
  • 25. E12: Specify the range of hasTopping  Select hasTopping  Press range button  Select PizzaTopping  Press OK button  PizzaTopping should be displayed in the range list.  When multiple classes are added to the range, they represent the union of all classes.
  • 26. E13: Specify Pizza as the domain of the hasTopping property  Select hasTopping property  Press add domain button  Select Pizza  Press OK  Pizza is displayed in the domain list.  When multiple classes are added as domain, they represent as the union of these classes.
  • 27. E14: Specify the domain and range for the isToppingOf property  Select the isToppingOf property  Set the domain of the isToppingOf property to PizzaTopping  Set the range of the isToppingOf property to Pizza.
  • 28. E15: Specify the domain and range for the hasBase property and its inverse property isBaseOf  Select the hasBase property  Specify the domain as Pizza  Specify the range as PizzaBase  Select the isBaseOf property  Specify the domain as PizzaBase  Specify the range as Pizza
  • 29. Property restrictions  In OWL, properties are used to create restrictions.  Restrictions are used to restrict the individuals that belong to a class  Three restrictions:  Quantifier restrictions  Existential quantifier ( )  Universal quantifier ( )  Cardinality restrictions  hasValue restrictions ∃ ∀
  • 30. E16: Add a restriction to Pizza  Add a restriction to Pizza that specifies a Pizza must have a PizzaBase  Select Pizza  Select Necessary header to create a necessary condition  Select create a restriction wizard  Select hasBase as restricted property  Select someValueFrom as restriction  Put PizzaBase into the filler
  • 31. Add a restriction to Pizza
  • 32. E18: Creating different kinds of Pizzas  Create a subclass of Pizza called NamedPizza, and a subclass of NamedPizza called MargheritaPizza.  Add comment to MargheritaPizza: A pizza that only has Mozarella and Tomato toppings
  • 33. E19: Adding restrictions to MargheritaPizza  To specify that MargheritaPizza has at least one MozzarellaTopping.  Select MargheritaPizza  Go to “Asserted Conditions”, create new restriction.  Select someValueFrom  Select hasTopping as the property to be restricted.  Enter MozzarellaTopping as the filler  Press OK button
  • 34. E20: Adding restrictions to MargheritaPizza  To specify that MargheritaPizza has at least one TomatoTopping.  Select MargheritaPizza  Go to “Asserted Conditions”, create new restriction.  Select someValueFrom  Select hasTopping as the property to be restricted.  Enter TomatoTopping as the filler  Press OK button
  • 35. E21: Create AmericanPizza  Create AmericanPizza with toppings of pepperoni, mozzarella and tomato.  Through cloning and modifying the description of MargheritaPizza.  Select MargheritaPizza  Select create clone  Add additional restriction to AmericanaPizza  Adding PepperoniTopping  Press OK.
  • 36. E22: Create an AmericanHotPizza and a SohoPizza  An AmericanHotPizza is almost the same as an AmericanaPizza, but has JalapenoPepperTopping on it.  A SohoPizza is almost the same as a MargheritaPizza, but has additional OliveTopping and ParmezanTopping
  • 37. E23: Make subclasses of NamedPizza disjoint from each other  Select MargheritaPizza  Press “add all siblings” button on the “Disjoints widget” to make the pizzas disjoint from each other.
  • 38. Using a reasoner  Ontology described in OWL-DL can be processed by a reasoner.  Go to owl—preference, to make sure that OWL-DL is selected.  The main services offered by a reasoner is to test whether or not one class is a subclass of another class.  By performing such tests on all of the classes, it is possible for a reasoner to compute the inferred ontology class hierarchy.  Another reasoning service is consistency checking – to check whether or not it is possible for the class to have any instances.  A class is deemed to be inconsistent if it cannot possibly have any instances.
  • 39. Using Racer  In order to reason over the ontology in Protege-OWL, a DIG compliant reasoner should be installed and started.  In this tutorial, we use Racer,  Download at: http://www.racer-systems.com/products/download/inde  Double click RacerPro to start Racer.
  • 40. Invoking the reasoner  Having started Racer, the ontology can be sent to the reasoner to automatically compute the classification hierarchy, and also check the logical consistency of the ontology.  In Protege, the manually constructed class hierarchy is called the asserted hierarchy. The automatically computed by the reasoner is called the inferred hierarchy.  Go to OWL – classify taxonomy – to invoke the reasoner  If a class has been reclassified, then the class name will appear in a blue color in the inferred hierarchy.  Go to OWL – Check consistency – to invoke the reasoner  If a class has been found to be inconsistent, it’s icon will be circled in red color.  Computing the inferred class hierarchy is also known as classifying the ontology.
  • 42. E24: Inconsistent classes  In order to demonstrate the use of the reasoner to detect inconsistencies in the ontology, we will create a class ProbeInconsistentTopping,  Which is the subclass of CheeseTopping  Select ProbeInconsistentTopping, go to asserted condition to add named classes, select VegetableTopping and then press OK.  Go to OWL – check consistency
  • 43. E25: Classify the ontology again  To see ProbeInconsistentTopping is inconsistent.
  • 44. E26: Remove the disjoint statement  Between CheeseTopping and VegetableTopping to see what happens  Select CheeseTopping  Go to Disjoint part  Select VegetableTopping, right click and “Delete the selected row”.  Classify taxonomy  The inconsistency no longer exists.
  • 45. E27: Fix the ontology  By making CheeseTopping and VegetableTopping disjoint from each other.
  • 46. Resources  Protege Ontology Libraries  http://protegewiki.stanford.edu/index.php/Protege _Ontology_Library  Protege tutorial  http://www.co-ode.org/resources/tutorials/  Protege Website  http://protege.stanford.edu/doc/users.html  http://protege.stanford.edu/