SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
Ontology 101
GETTING STARTED…
A guide and a process for creating OWL
ontologies
Recap: OWL2
• OWL 2 is a knowledge representation language,
designed to formulate, exchange and reason with
knowledge about a domain of interest
• Basic notions
– Axioms: the basic statements that an OWL ontology expresses
– Entities: elements used to refer to real-world objects
– Expressions: combinations of entities to form complex
descriptions from basic ones
• The results of the modeling processes are called
ontologies
• Knowledge consists of elementary pieces that are often
referred to as statements or propositions
• Statements that are made in an ontology are called
axioms in OWL 2
09/02/2017 Ontology 101 2
Recap: OWL2
• When humans think, they draw consequences from their
knowledge
• A statement is a consequence of other statements
essentially means that this statement is true whenever the
other statements are
• In OWL terms: “a set of statements A entails a statement a if
in any state of affairs wherein all statements from A are true,
also a is true”
• A set of statements may be
– Consistent, if there is a possible state of affairs in which all the
statements in the set are jointly true
– Inconsistent, if there is no such state of affairs
• The formal semantics of OWL specifies, in essence, for which
possible “states of affairs” a particular set of OWL
statements is true
09/02/2017 Ontology 101 3
Recap: What is an ontology?
• An ontology is an explicit description of a
domain
– concepts
– properties and attributes of concepts
– constraints on properties and attributes
– individuals (often, but not always)
• An ontology defines
– a common vocabulary
– a shared understanding
09/02/2017 Ontology 101 4
Recap: What is in a OWL2
ontology?
• Classes
• Instances
• Properties
– Object Properties
– DataType Properties
• Restrictions
• Annotations
09/02/2017 Ontology 101 5
Recap: Tools
• Editors (http://semanticweb.org/wiki/Editors)
– Most common editor: Protégé 5
– Other tools: TopBraid Composer ($), NeOn toolkit
– Special purpose apps, esp. for light-weight ontologies
(e.g., FOAF editors)
• Reasoners
(http://semanticweb.org/wiki/Reasoners)
– OWL DL: Pellet 2.0*, HermiT, FaCT++, RacerPro ($)
– OWL EL: CEL, SHER, snorocket ($), ELLY
– OWL RL: OWLIM, Jena, Oracle OWL Reasoner ($)
– OWL QL: Owlgres, QuOnto, Quill
* The next-gen reasoner (version 3) is part of Stardog, a closed source RDF database
09/02/2017 Ontology 101 6
Ontology Engineering
• The process of building and maintaining an
ontology
• To define terms in a domain and relations
among such terms
– defining concepts (classes) in the domain
– arranging the concepts in a hierarchy (subclass-
superclass hierarchy)
– defining which properties classes can have and
constraints on their values (restrictions)
– defining individuals (instances) and filling in
properties values
09/02/2017 Ontology 101 7
Ontology Engineering vs. OOP
Ontology Engineering
An ontology
• reflects the structure of
the world
• is often about structure
of concepts
• actual physical
representation is not an
issue
Object-Oriented Modeling
A class
• reflects the structure of
the data and code
• is usually about behavior
(methods)
• describes the physical
representation of data
(int, string, etc.)
09/02/2017 Ontology 101 8
Why develop an ontology?
A. You hate your life!
B. You need to fill several days and weeks with
"something"
C. Other
09/02/2017 Ontology 101 9
Why develop an ontology?
• To share common understanding of the
structure of information
– among people
– among software artifacts
• To enable reuse of domain knowledge
– to avoid “re-inventing the wheel”
– to introduce standards to allow interoperability
09/02/2017 Ontology 101 10
Why develop an ontology?
• To make domain assumptions explicit
– easier to change domain assumptions (consider a
genetics knowledge base)
– easier to understand and update legacy data
• To separate domain knowledge from the
operational knowledge
– re-use domain and operational knowledge separately
(e.g., configuration based on constraints)
• To analyze domain knowledge
09/02/2017 Ontology 101 11
Create an ontology: the process
1. Determine the scope
2. Consider reuse
3. Enumerate terms
4. Define classes
5. Define properties
6. Define constraints
7. Create instances
09/02/2017 Ontology 101 12
Determine
the scope
Consider
reuse
Enumerate
terms
Define
classes
Define
properties
Define
constraints
Create
instances
TODAY!closely intertwined
Create an ontology: the process
However, in the real world…
09/02/2017 Ontology 101 13
Determine
the scope
Consider
reuse
Enumerate
terms
Define
classes
Define
properties
Define
constraints
Create
instances
Consider
reuse
Enumerate
terms
Define
classes
Define
classes
Define
properties
Define
classes
Create
instances
Consider
reuse
Define
constraints
Create
instances
Define
properties
…
Disclaimer
• There is no one “correct” way or methodology for
developing ontologies
• It is a long, hard, and precise activity
• Fundamental rules:
1. There is no one correct way to model a domain— there are
always viable alternatives. The best solution depends on the
application that you have in mind and the extensions that you
anticipate.
2. Ontology development is necessarily an iterative process.
3. Concepts in the ontology should be close to objects (physical
or logical) and relationships in your domain of interest. These
are most likely to be nouns (objects) or verbs (relationships) in
sentences that describe your domain.
09/02/2017 Ontology 101 14
1. Determine domain and scope
• What is the domain that the ontology will
cover?
• For what we are going to use the ontology?
• For what types of questions the information in
the ontology should provide answers
(competency questions)?
• Who will use and maintain the ontology?
Answers to these questions may change during the
lifecycle of an ontology
09/02/2017 Ontology 101 15
Competency Questions
• One way to determine the scope of the
ontology
• Write down a list of questions that a knowledge
base built upon the ontology should be able to
answer
• These questions may serve also later, for a
preliminary evaluation and for end the process
• Questions do not need to be exhaustive, just a
"sketch"
09/02/2017 Ontology 101 16
Learning by Example
• We will apply the process presented here up to
the first iteration
• The chosen domain is: University
– From which perspective?
– What are our competency questions?
09/02/2017 Ontology 101 17
2. Consider reuse
• In some cases, it is a good idea to reuse existing
ontologies
• Why?
– to save the effort
– to interact with the tools used by other ontologies
– to employ ontologies that have been already
validated through use in applications
• What to reuse?
09/02/2017 Ontology 101 18
What to reuse?
• Upper/general ontologies
– Cyc, http://www.cyc.com
– DOLCE (Descriptive Ontology for Linguistic and
Cognitive Engineering),
http://www.loa.istc.cnr.it/old/DOLCE.html
– WordNet, http://www.cogsci.princeton.edu/~wn/
• Domain-specific ontologies
– GO (Gene Ontology), http://ww.geneontology.org
– DogOnt, http://elite.polito.it/ontologies/dogont
– MUO, http://idi.fundacionctic.org/muo/
09/02/2017 Ontology 101 19
3. Enumerate important terms
• Write down a list of all terms we would like to
– make a statement about
– explain to a user
• Questions
– What are the terms we need to talk about?
– What are the properties of these terms?
– What would we like to say about the terms?
• Initially, it is important to get a comprehensive list
of terms
– without worrying about overlap between concepts,
relations, properties, hierarchy, etc.
09/02/2017 Ontology 101 20
4. Define classes and their
hierarchy
• A class is
– a concept in the domain, not the word that denote the
concept
– a collection of elements with similar properties
• Instances of classes
– specific (named) elements that pertain to that collection
• Classes usually constitute a taxonomic hierarchy
– a subclass-superclass hierarchy
• A class hierarchy is usually an IS-A hierarchy
– an instance of a subclass is an instance of a superclass
09/02/2017 Ontology 101 21
Modes of development
1. top-down
– define the most general concepts first and then specialize
them
2. bottom-up
– define the most specific concepts and then organize them
in more general classes
3. combination
– define the more salient concepts first and then generalize
and specialize them
None of them is inherently better than the others
09/02/2017 Ontology 101 22
5. Define properties
• Attributes of instances of the class and relations to
other instances
• Types of properties
– “intrinsic”, e.g., color of an object
– “extrinsic”, e.g., price of an object
– relations to other instances, e.g., producer of an object
• Simple and complex properties
– simple properties (data properties): contain primitive
values like strings and numbers
– complex properties (object properties): contain or point
to other objects, e.g., a manufacturer instance
09/02/2017 Ontology 101 23
6. Define constraints
• Property describe or limit the set of possible
values for a slot
– The name of an object is a string
– Politecnico di Torino is an instance of University
– A university has exactly one location (main campus)
• We mainly refer to properties restrictions
– cardinality, domain, range, etc.
– see the previous set of slides for further details
09/02/2017 Ontology 101 24
Properties and Classes Inheritance
• A subclass inherits all the properties from the
superclass
• If a class has multiple superclasses, it inherits
properties from all of them
• A subclass can override the restrictions to
“narrow” the list of allowed values
– make the cardinality range smaller
– replace a class in the range with a subclass
09/02/2017 Ontology 101 25
7. Create instances
• The last step (hopefully!)
• Defining an individual require to
– choose the desired class
– create the desired instance of the class
– fill in the properties values
• Some ontologies may not have instances
• In most cases, classes and instances are in two
separate OWL files
09/02/2017 Ontology 101 26
Create an ontology: the process
1. Determine the scope
2. Consider reuse
3. Enumerate terms
4. Define classes
5. Define properties
6. Define constraints
7. Create instances
09/02/2017 Ontology 101 27
Determine
the scope
Consider
reuse
Enumerate
terms
Define
classes
Define
properties
Define
constraints
Create
instances
COMMON PROBLEMS…
… and their solutions
09/02/2017 Ontology 101 28
Multiple inheritance
• A class can have more than one superclass
• A subclass inherits properties and restrictions
from all the parents
09/02/2017 Ontology 101 29
Disjoint classes
• Classes are disjoint if they cannot have common
instances
• Disjoint classes cannot have any common
subclasses either
09/02/2017 Ontology 101 30
Avoid class cycles
• Danger of multiple inheritance: cycles in the
class hierarchy
• If class A has a subclass B and, at the same time,
B is a superclass of A, the classes are
equivalent!
09/02/2017 Ontology 101 31
Siblings in the hierarchy
• All the siblings in the class hierarchy must be at
the same level of generality
– Think about section and subsections in a book
09/02/2017 Ontology 101 32
How many class is too many? How
few classes are too few?
• Rule of thumb
• If a class has only one direct subclass, there may
be a modeling problem
– or the ontology is not complete
• If there are more than a dozen subclasses for a
given class, then additional intermediate may
be necessary
09/02/2017 Ontology 101 33
Naming, domain and range
• Single and plural class names
– Singular or plural
– It is up to you but you need to choose
• Domain and range
– When defining a domain or range, find the most
general class or classes
09/02/2017 Ontology 101 34
Limiting the scope
• An ontology should not contain all the possible
information about the domain
• No need to specialize or generalize more than
the application requires
• No need to include all possible properties of a
class
– Only the most salient properties
– Only the properties that the applications require
09/02/2017 Ontology 101 35
References
• Natalya F. Noy and Deborah L. McGuinness,
"Ontology Development 101: A Guide to Creating
Your First Ontology", Knowledge Systems
Laboratory, Stanford University, March 2001
• Asunción Gómez-Pérez, Mariano Fernandez-
Lopez and Oscar Corcho, "Ontological
Engineering", Springer-Verlag London, 2004
09/02/2017 Ontology 101 36
Questions?
01RRDIU SEMANTIC WEB
Luigi De Russis
luigi.derussis@polito.it
License
• This work is licensed under the Creative Commons “Attribution-
NonCommercial-ShareAlike Unported (CC BY-NC-SA 3,0)” License.
• You are free:
– to Share - to copy, distribute and transmit the work
– to Remix - to adapt the work
• Under the following conditions:
– Attribution - You must attribute the work in the manner specified by the
author or licensor (but not in any way that suggests that they endorse you
or your use of the work).
– Noncommercial - You may not use this work for commercial purposes.
– Share Alike - If you alter, transform, or build upon this work, you may
distribute the resulting work only under the same or similar license to this
one.
• To view a copy of this license, visit
http://creativecommons.org/license/by-nc-sa/3.0/
09/02/2017 Ontology 101 38

Contenu connexe

Tendances

Querying XML: XPath and XQuery
Querying XML: XPath and XQueryQuerying XML: XPath and XQuery
Querying XML: XPath and XQuery
Katrien Verbert
 
Classes And Objects
Classes And ObjectsClasses And Objects
Classes And Objects
rahulsahay19
 
Classes and Nested Classes in Java
Classes and Nested Classes in JavaClasses and Nested Classes in Java
Classes and Nested Classes in Java
Ravi_Kant_Sahu
 

Tendances (20)

Introduction to Object-Oriented Programming & Design Principles (TCF 2014)
Introduction to Object-Oriented Programming & Design Principles (TCF 2014)Introduction to Object-Oriented Programming & Design Principles (TCF 2014)
Introduction to Object-Oriented Programming & Design Principles (TCF 2014)
 
Querying XML: XPath and XQuery
Querying XML: XPath and XQueryQuerying XML: XPath and XQuery
Querying XML: XPath and XQuery
 
XQuery - a technical overview
XQuery -  a technical overviewXQuery -  a technical overview
XQuery - a technical overview
 
OWL 2 Overview
OWL 2 OverviewOWL 2 Overview
OWL 2 Overview
 
Session 18 - Review Session and Attending Java Interviews
Session 18 - Review Session and Attending Java InterviewsSession 18 - Review Session and Attending Java Interviews
Session 18 - Review Session and Attending Java Interviews
 
WEB ONTOLOGY LANGUAGE: OWL
WEB ONTOLOGY LANGUAGE: OWLWEB ONTOLOGY LANGUAGE: OWL
WEB ONTOLOGY LANGUAGE: OWL
 
Introduction to oop and java fundamentals
Introduction to oop and java fundamentalsIntroduction to oop and java fundamentals
Introduction to oop and java fundamentals
 
Session 16 - Collections - Sorting, Comparing Basics
Session 16 - Collections - Sorting, Comparing BasicsSession 16 - Collections - Sorting, Comparing Basics
Session 16 - Collections - Sorting, Comparing Basics
 
Corejava Training in Bangalore Tutorial
Corejava Training in Bangalore TutorialCorejava Training in Bangalore Tutorial
Corejava Training in Bangalore Tutorial
 
Classes And Objects
Classes And ObjectsClasses And Objects
Classes And Objects
 
Oops Concept Java
Oops Concept JavaOops Concept Java
Oops Concept Java
 
Classes and objects
Classes and objectsClasses and objects
Classes and objects
 
Oop java
Oop javaOop java
Oop java
 
Java class,object,method introduction
Java class,object,method introductionJava class,object,method introduction
Java class,object,method introduction
 
Introduction to XPath
Introduction to XPathIntroduction to XPath
Introduction to XPath
 
Intro to Object Oriented Programming with Java
Intro to Object Oriented Programming with Java Intro to Object Oriented Programming with Java
Intro to Object Oriented Programming with Java
 
Java- Nested Classes
Java- Nested ClassesJava- Nested Classes
Java- Nested Classes
 
Pj01 x-classes and objects
Pj01 x-classes and objectsPj01 x-classes and objects
Pj01 x-classes and objects
 
Oops concept on c#
Oops concept on c#Oops concept on c#
Oops concept on c#
 
Classes and Nested Classes in Java
Classes and Nested Classes in JavaClasses and Nested Classes in Java
Classes and Nested Classes in Java
 

En vedette (6)

Jena Programming
Jena ProgrammingJena Programming
Jena Programming
 
Face Recognition with OpenCV and scikit-learn
Face Recognition with OpenCV and scikit-learnFace Recognition with OpenCV and scikit-learn
Face Recognition with OpenCV and scikit-learn
 
PyCon 2012: Militarizing Your Backyard: Computer Vision and the Squirrel Hordes
PyCon 2012: Militarizing Your Backyard: Computer Vision and the Squirrel HordesPyCon 2012: Militarizing Your Backyard: Computer Vision and the Squirrel Hordes
PyCon 2012: Militarizing Your Backyard: Computer Vision and the Squirrel Hordes
 
Introduction to OpenCV 3.x (with Java)
Introduction to OpenCV 3.x (with Java)Introduction to OpenCV 3.x (with Java)
Introduction to OpenCV 3.x (with Java)
 
Introduction to OpenCV (with Java)
Introduction to OpenCV (with Java)Introduction to OpenCV (with Java)
Introduction to OpenCV (with Java)
 
Face Recognition using OpenCV
Face Recognition using OpenCVFace Recognition using OpenCV
Face Recognition using OpenCV
 

Similaire à Semantic Web - Ontology 101

ESWC SS 2012 - Tuesday Tutorial Elena Simperl: Creating and Using Ontologies
ESWC SS 2012 - Tuesday Tutorial Elena Simperl: Creating and Using OntologiesESWC SS 2012 - Tuesday Tutorial Elena Simperl: Creating and Using Ontologies
ESWC SS 2012 - Tuesday Tutorial Elena Simperl: Creating and Using Ontologies
eswcsummerschool
 
20130622 okfn hackathon t2
20130622 okfn hackathon t220130622 okfn hackathon t2
20130622 okfn hackathon t2
Seonho Kim
 
Jarrar.lecture notes.aai.2011s.ontology part4_methodologies
Jarrar.lecture notes.aai.2011s.ontology part4_methodologiesJarrar.lecture notes.aai.2011s.ontology part4_methodologies
Jarrar.lecture notes.aai.2011s.ontology part4_methodologies
PalGov
 
Taxonomy, ontology, folksonomies & SKOS.
Taxonomy, ontology, folksonomies & SKOS.Taxonomy, ontology, folksonomies & SKOS.
Taxonomy, ontology, folksonomies & SKOS.
Janet Leu
 
Pal gov.tutorial4.session8 2.stepwisemethodologies
Pal gov.tutorial4.session8 2.stepwisemethodologiesPal gov.tutorial4.session8 2.stepwisemethodologies
Pal gov.tutorial4.session8 2.stepwisemethodologies
Mustafa Jarrar
 
Jarrar: Stepwise Methodologies for Developing Ontologies
Jarrar: Stepwise Methodologies for Developing OntologiesJarrar: Stepwise Methodologies for Developing Ontologies
Jarrar: Stepwise Methodologies for Developing Ontologies
Mustafa Jarrar
 

Similaire à Semantic Web - Ontology 101 (20)

Tutorial: Building and using ontologies - E.Simperl - ESWC SS 2014
 Tutorial: Building and using ontologies -  E.Simperl - ESWC SS 2014 Tutorial: Building and using ontologies -  E.Simperl - ESWC SS 2014
Tutorial: Building and using ontologies - E.Simperl - ESWC SS 2014
 
Building and using ontologies
Building and using ontologies Building and using ontologies
Building and using ontologies
 
Ontology Engineering: Introduction
Ontology Engineering: IntroductionOntology Engineering: Introduction
Ontology Engineering: Introduction
 
Application of Ontology in Semantic Information Retrieval by Prof Shahrul Azm...
Application of Ontology in Semantic Information Retrieval by Prof Shahrul Azm...Application of Ontology in Semantic Information Retrieval by Prof Shahrul Azm...
Application of Ontology in Semantic Information Retrieval by Prof Shahrul Azm...
 
Building and using ontologies (2015)
Building and using ontologies (2015)Building and using ontologies (2015)
Building and using ontologies (2015)
 
ESWC SS 2012 - Tuesday Tutorial Elena Simperl: Creating and Using Ontologies
ESWC SS 2012 - Tuesday Tutorial Elena Simperl: Creating and Using OntologiesESWC SS 2012 - Tuesday Tutorial Elena Simperl: Creating and Using Ontologies
ESWC SS 2012 - Tuesday Tutorial Elena Simperl: Creating and Using Ontologies
 
Ontologies Fmi 042010
Ontologies Fmi 042010Ontologies Fmi 042010
Ontologies Fmi 042010
 
OOR--Open-Ontology-Repository--jun2010
OOR--Open-Ontology-Repository--jun2010OOR--Open-Ontology-Repository--jun2010
OOR--Open-Ontology-Repository--jun2010
 
Building OBO Foundry ontology using semantic web tools
Building OBO Foundry ontology using semantic web toolsBuilding OBO Foundry ontology using semantic web tools
Building OBO Foundry ontology using semantic web tools
 
Lecture: Semantic Word Clouds
Lecture: Semantic Word CloudsLecture: Semantic Word Clouds
Lecture: Semantic Word Clouds
 
20130622 okfn hackathon t2
20130622 okfn hackathon t220130622 okfn hackathon t2
20130622 okfn hackathon t2
 
Jarrar.lecture notes.aai.2011s.ontology part4_methodologies
Jarrar.lecture notes.aai.2011s.ontology part4_methodologiesJarrar.lecture notes.aai.2011s.ontology part4_methodologies
Jarrar.lecture notes.aai.2011s.ontology part4_methodologies
 
Taxonomy, ontology, folksonomies & SKOS.
Taxonomy, ontology, folksonomies & SKOS.Taxonomy, ontology, folksonomies & SKOS.
Taxonomy, ontology, folksonomies & SKOS.
 
Pal gov.tutorial4.session8 2.stepwisemethodologies
Pal gov.tutorial4.session8 2.stepwisemethodologiesPal gov.tutorial4.session8 2.stepwisemethodologies
Pal gov.tutorial4.session8 2.stepwisemethodologies
 
Knowledge Organization Systems (KOS): Management of Classification Systems in...
Knowledge Organization Systems (KOS): Management of Classification Systems in...Knowledge Organization Systems (KOS): Management of Classification Systems in...
Knowledge Organization Systems (KOS): Management of Classification Systems in...
 
KOS Management - The case of the Organic.Edunet Ontology
KOS Management - The case of the Organic.Edunet OntologyKOS Management - The case of the Organic.Edunet Ontology
KOS Management - The case of the Organic.Edunet Ontology
 
Fairport domain specific metadata using w3 c dcat & skos w ontology views
Fairport domain specific metadata using w3 c dcat & skos w ontology viewsFairport domain specific metadata using w3 c dcat & skos w ontology views
Fairport domain specific metadata using w3 c dcat & skos w ontology views
 
Semi-automated Exploration and Extraction of Data in Scientific Tables
Semi-automated Exploration and Extraction of Data in Scientific TablesSemi-automated Exploration and Extraction of Data in Scientific Tables
Semi-automated Exploration and Extraction of Data in Scientific Tables
 
Jarrar: Stepwise Methodologies for Developing Ontologies
Jarrar: Stepwise Methodologies for Developing OntologiesJarrar: Stepwise Methodologies for Developing Ontologies
Jarrar: Stepwise Methodologies for Developing Ontologies
 
BT02.pptx
BT02.pptxBT02.pptx
BT02.pptx
 

Plus de Luigi De Russis

Installing OpenCV 2.4.x with Qt
Installing OpenCV 2.4.x with QtInstalling OpenCV 2.4.x with Qt
Installing OpenCV 2.4.x with Qt
Luigi De Russis
 

Plus de Luigi De Russis (20)

Assessing Virtual Assistant Capabilities with Italian Dysarthric Speech
Assessing Virtual Assistant Capabilities with Italian Dysarthric SpeechAssessing Virtual Assistant Capabilities with Italian Dysarthric Speech
Assessing Virtual Assistant Capabilities with Italian Dysarthric Speech
 
Semantic Web: an Introduction
Semantic Web: an IntroductionSemantic Web: an Introduction
Semantic Web: an Introduction
 
AmI 2017 - Python intermediate
AmI 2017 - Python intermediateAmI 2017 - Python intermediate
AmI 2017 - Python intermediate
 
AmI 2017 - Python basics
AmI 2017 - Python basicsAmI 2017 - Python basics
AmI 2017 - Python basics
 
AngularJS: an introduction
AngularJS: an introductionAngularJS: an introduction
AngularJS: an introduction
 
AmI 2016 - Python basics
AmI 2016 - Python basicsAmI 2016 - Python basics
AmI 2016 - Python basics
 
Ambient Intelligence: An Overview
Ambient Intelligence: An OverviewAmbient Intelligence: An Overview
Ambient Intelligence: An Overview
 
Version Control with Git
Version Control with GitVersion Control with Git
Version Control with Git
 
LAM 2015 - Social Networks Technologies
LAM 2015 - Social Networks TechnologiesLAM 2015 - Social Networks Technologies
LAM 2015 - Social Networks Technologies
 
AmI 2015 - Python basics
AmI 2015 - Python basicsAmI 2015 - Python basics
AmI 2015 - Python basics
 
PowerOnt: an ontology-based approach for power consumption estimation in Smar...
PowerOnt: an ontology-based approach for power consumption estimation in Smar...PowerOnt: an ontology-based approach for power consumption estimation in Smar...
PowerOnt: an ontology-based approach for power consumption estimation in Smar...
 
Interacting with Smart Environments - Ph.D. Thesis Presentation
Interacting with Smart Environments - Ph.D. Thesis PresentationInteracting with Smart Environments - Ph.D. Thesis Presentation
Interacting with Smart Environments - Ph.D. Thesis Presentation
 
Semantic Web: an introduction
Semantic Web: an introductionSemantic Web: an introduction
Semantic Web: an introduction
 
Living in Smart Environments - 3rd year PhD Report
Living in Smart Environments - 3rd year PhD ReportLiving in Smart Environments - 3rd year PhD Report
Living in Smart Environments - 3rd year PhD Report
 
Semantic Web: an introduction
Semantic Web: an introductionSemantic Web: an introduction
Semantic Web: an introduction
 
Social Network Technologies
Social Network TechnologiesSocial Network Technologies
Social Network Technologies
 
Clean Code
Clean CodeClean Code
Clean Code
 
Living in Smart Environments - 2nd year PhD Report
Living in Smart Environments - 2nd year PhD ReportLiving in Smart Environments - 2nd year PhD Report
Living in Smart Environments - 2nd year PhD Report
 
Introduction to OpenCV
Introduction to OpenCVIntroduction to OpenCV
Introduction to OpenCV
 
Installing OpenCV 2.4.x with Qt
Installing OpenCV 2.4.x with QtInstalling OpenCV 2.4.x with Qt
Installing OpenCV 2.4.x with Qt
 

Dernier

Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
Chris Hunter
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 

Dernier (20)

ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 

Semantic Web - Ontology 101

  • 1. Ontology 101 GETTING STARTED… A guide and a process for creating OWL ontologies
  • 2. Recap: OWL2 • OWL 2 is a knowledge representation language, designed to formulate, exchange and reason with knowledge about a domain of interest • Basic notions – Axioms: the basic statements that an OWL ontology expresses – Entities: elements used to refer to real-world objects – Expressions: combinations of entities to form complex descriptions from basic ones • The results of the modeling processes are called ontologies • Knowledge consists of elementary pieces that are often referred to as statements or propositions • Statements that are made in an ontology are called axioms in OWL 2 09/02/2017 Ontology 101 2
  • 3. Recap: OWL2 • When humans think, they draw consequences from their knowledge • A statement is a consequence of other statements essentially means that this statement is true whenever the other statements are • In OWL terms: “a set of statements A entails a statement a if in any state of affairs wherein all statements from A are true, also a is true” • A set of statements may be – Consistent, if there is a possible state of affairs in which all the statements in the set are jointly true – Inconsistent, if there is no such state of affairs • The formal semantics of OWL specifies, in essence, for which possible “states of affairs” a particular set of OWL statements is true 09/02/2017 Ontology 101 3
  • 4. Recap: What is an ontology? • An ontology is an explicit description of a domain – concepts – properties and attributes of concepts – constraints on properties and attributes – individuals (often, but not always) • An ontology defines – a common vocabulary – a shared understanding 09/02/2017 Ontology 101 4
  • 5. Recap: What is in a OWL2 ontology? • Classes • Instances • Properties – Object Properties – DataType Properties • Restrictions • Annotations 09/02/2017 Ontology 101 5
  • 6. Recap: Tools • Editors (http://semanticweb.org/wiki/Editors) – Most common editor: Protégé 5 – Other tools: TopBraid Composer ($), NeOn toolkit – Special purpose apps, esp. for light-weight ontologies (e.g., FOAF editors) • Reasoners (http://semanticweb.org/wiki/Reasoners) – OWL DL: Pellet 2.0*, HermiT, FaCT++, RacerPro ($) – OWL EL: CEL, SHER, snorocket ($), ELLY – OWL RL: OWLIM, Jena, Oracle OWL Reasoner ($) – OWL QL: Owlgres, QuOnto, Quill * The next-gen reasoner (version 3) is part of Stardog, a closed source RDF database 09/02/2017 Ontology 101 6
  • 7. Ontology Engineering • The process of building and maintaining an ontology • To define terms in a domain and relations among such terms – defining concepts (classes) in the domain – arranging the concepts in a hierarchy (subclass- superclass hierarchy) – defining which properties classes can have and constraints on their values (restrictions) – defining individuals (instances) and filling in properties values 09/02/2017 Ontology 101 7
  • 8. Ontology Engineering vs. OOP Ontology Engineering An ontology • reflects the structure of the world • is often about structure of concepts • actual physical representation is not an issue Object-Oriented Modeling A class • reflects the structure of the data and code • is usually about behavior (methods) • describes the physical representation of data (int, string, etc.) 09/02/2017 Ontology 101 8
  • 9. Why develop an ontology? A. You hate your life! B. You need to fill several days and weeks with "something" C. Other 09/02/2017 Ontology 101 9
  • 10. Why develop an ontology? • To share common understanding of the structure of information – among people – among software artifacts • To enable reuse of domain knowledge – to avoid “re-inventing the wheel” – to introduce standards to allow interoperability 09/02/2017 Ontology 101 10
  • 11. Why develop an ontology? • To make domain assumptions explicit – easier to change domain assumptions (consider a genetics knowledge base) – easier to understand and update legacy data • To separate domain knowledge from the operational knowledge – re-use domain and operational knowledge separately (e.g., configuration based on constraints) • To analyze domain knowledge 09/02/2017 Ontology 101 11
  • 12. Create an ontology: the process 1. Determine the scope 2. Consider reuse 3. Enumerate terms 4. Define classes 5. Define properties 6. Define constraints 7. Create instances 09/02/2017 Ontology 101 12 Determine the scope Consider reuse Enumerate terms Define classes Define properties Define constraints Create instances TODAY!closely intertwined
  • 13. Create an ontology: the process However, in the real world… 09/02/2017 Ontology 101 13 Determine the scope Consider reuse Enumerate terms Define classes Define properties Define constraints Create instances Consider reuse Enumerate terms Define classes Define classes Define properties Define classes Create instances Consider reuse Define constraints Create instances Define properties …
  • 14. Disclaimer • There is no one “correct” way or methodology for developing ontologies • It is a long, hard, and precise activity • Fundamental rules: 1. There is no one correct way to model a domain— there are always viable alternatives. The best solution depends on the application that you have in mind and the extensions that you anticipate. 2. Ontology development is necessarily an iterative process. 3. Concepts in the ontology should be close to objects (physical or logical) and relationships in your domain of interest. These are most likely to be nouns (objects) or verbs (relationships) in sentences that describe your domain. 09/02/2017 Ontology 101 14
  • 15. 1. Determine domain and scope • What is the domain that the ontology will cover? • For what we are going to use the ontology? • For what types of questions the information in the ontology should provide answers (competency questions)? • Who will use and maintain the ontology? Answers to these questions may change during the lifecycle of an ontology 09/02/2017 Ontology 101 15
  • 16. Competency Questions • One way to determine the scope of the ontology • Write down a list of questions that a knowledge base built upon the ontology should be able to answer • These questions may serve also later, for a preliminary evaluation and for end the process • Questions do not need to be exhaustive, just a "sketch" 09/02/2017 Ontology 101 16
  • 17. Learning by Example • We will apply the process presented here up to the first iteration • The chosen domain is: University – From which perspective? – What are our competency questions? 09/02/2017 Ontology 101 17
  • 18. 2. Consider reuse • In some cases, it is a good idea to reuse existing ontologies • Why? – to save the effort – to interact with the tools used by other ontologies – to employ ontologies that have been already validated through use in applications • What to reuse? 09/02/2017 Ontology 101 18
  • 19. What to reuse? • Upper/general ontologies – Cyc, http://www.cyc.com – DOLCE (Descriptive Ontology for Linguistic and Cognitive Engineering), http://www.loa.istc.cnr.it/old/DOLCE.html – WordNet, http://www.cogsci.princeton.edu/~wn/ • Domain-specific ontologies – GO (Gene Ontology), http://ww.geneontology.org – DogOnt, http://elite.polito.it/ontologies/dogont – MUO, http://idi.fundacionctic.org/muo/ 09/02/2017 Ontology 101 19
  • 20. 3. Enumerate important terms • Write down a list of all terms we would like to – make a statement about – explain to a user • Questions – What are the terms we need to talk about? – What are the properties of these terms? – What would we like to say about the terms? • Initially, it is important to get a comprehensive list of terms – without worrying about overlap between concepts, relations, properties, hierarchy, etc. 09/02/2017 Ontology 101 20
  • 21. 4. Define classes and their hierarchy • A class is – a concept in the domain, not the word that denote the concept – a collection of elements with similar properties • Instances of classes – specific (named) elements that pertain to that collection • Classes usually constitute a taxonomic hierarchy – a subclass-superclass hierarchy • A class hierarchy is usually an IS-A hierarchy – an instance of a subclass is an instance of a superclass 09/02/2017 Ontology 101 21
  • 22. Modes of development 1. top-down – define the most general concepts first and then specialize them 2. bottom-up – define the most specific concepts and then organize them in more general classes 3. combination – define the more salient concepts first and then generalize and specialize them None of them is inherently better than the others 09/02/2017 Ontology 101 22
  • 23. 5. Define properties • Attributes of instances of the class and relations to other instances • Types of properties – “intrinsic”, e.g., color of an object – “extrinsic”, e.g., price of an object – relations to other instances, e.g., producer of an object • Simple and complex properties – simple properties (data properties): contain primitive values like strings and numbers – complex properties (object properties): contain or point to other objects, e.g., a manufacturer instance 09/02/2017 Ontology 101 23
  • 24. 6. Define constraints • Property describe or limit the set of possible values for a slot – The name of an object is a string – Politecnico di Torino is an instance of University – A university has exactly one location (main campus) • We mainly refer to properties restrictions – cardinality, domain, range, etc. – see the previous set of slides for further details 09/02/2017 Ontology 101 24
  • 25. Properties and Classes Inheritance • A subclass inherits all the properties from the superclass • If a class has multiple superclasses, it inherits properties from all of them • A subclass can override the restrictions to “narrow” the list of allowed values – make the cardinality range smaller – replace a class in the range with a subclass 09/02/2017 Ontology 101 25
  • 26. 7. Create instances • The last step (hopefully!) • Defining an individual require to – choose the desired class – create the desired instance of the class – fill in the properties values • Some ontologies may not have instances • In most cases, classes and instances are in two separate OWL files 09/02/2017 Ontology 101 26
  • 27. Create an ontology: the process 1. Determine the scope 2. Consider reuse 3. Enumerate terms 4. Define classes 5. Define properties 6. Define constraints 7. Create instances 09/02/2017 Ontology 101 27 Determine the scope Consider reuse Enumerate terms Define classes Define properties Define constraints Create instances
  • 28. COMMON PROBLEMS… … and their solutions 09/02/2017 Ontology 101 28
  • 29. Multiple inheritance • A class can have more than one superclass • A subclass inherits properties and restrictions from all the parents 09/02/2017 Ontology 101 29
  • 30. Disjoint classes • Classes are disjoint if they cannot have common instances • Disjoint classes cannot have any common subclasses either 09/02/2017 Ontology 101 30
  • 31. Avoid class cycles • Danger of multiple inheritance: cycles in the class hierarchy • If class A has a subclass B and, at the same time, B is a superclass of A, the classes are equivalent! 09/02/2017 Ontology 101 31
  • 32. Siblings in the hierarchy • All the siblings in the class hierarchy must be at the same level of generality – Think about section and subsections in a book 09/02/2017 Ontology 101 32
  • 33. How many class is too many? How few classes are too few? • Rule of thumb • If a class has only one direct subclass, there may be a modeling problem – or the ontology is not complete • If there are more than a dozen subclasses for a given class, then additional intermediate may be necessary 09/02/2017 Ontology 101 33
  • 34. Naming, domain and range • Single and plural class names – Singular or plural – It is up to you but you need to choose • Domain and range – When defining a domain or range, find the most general class or classes 09/02/2017 Ontology 101 34
  • 35. Limiting the scope • An ontology should not contain all the possible information about the domain • No need to specialize or generalize more than the application requires • No need to include all possible properties of a class – Only the most salient properties – Only the properties that the applications require 09/02/2017 Ontology 101 35
  • 36. References • Natalya F. Noy and Deborah L. McGuinness, "Ontology Development 101: A Guide to Creating Your First Ontology", Knowledge Systems Laboratory, Stanford University, March 2001 • Asunción Gómez-Pérez, Mariano Fernandez- Lopez and Oscar Corcho, "Ontological Engineering", Springer-Verlag London, 2004 09/02/2017 Ontology 101 36
  • 37. Questions? 01RRDIU SEMANTIC WEB Luigi De Russis luigi.derussis@polito.it
  • 38. License • This work is licensed under the Creative Commons “Attribution- NonCommercial-ShareAlike Unported (CC BY-NC-SA 3,0)” License. • You are free: – to Share - to copy, distribute and transmit the work – to Remix - to adapt the work • Under the following conditions: – Attribution - You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). – Noncommercial - You may not use this work for commercial purposes. – Share Alike - If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one. • To view a copy of this license, visit http://creativecommons.org/license/by-nc-sa/3.0/ 09/02/2017 Ontology 101 38