Top Banner
This file is licensed under the Creative Commons Attribution-NonCommercial 3.0 (CC BY-NC 3.0 ) Dr. Harald Sack Hasso Plattner Institute for IT Systems Engineering University of Potsdam Spring 2013 Semantic Web Technologies Lecture 6: Applications in the Web of Data 03: Ontology Design 101
27

OpenHPI 6.3 - Ontology Design 101

Jan 16, 2015

Download

Documents

Harald Sack

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: OpenHPI 6.3 - Ontology Design 101

This file is licensed under the Creative Commons Attribution-NonCommercial 3.0 (CC BY-NC 3.0)

Dr. Harald Sack

Hasso Plattner Institute for IT Systems Engineering

University of Potsdam

Spring 2013

Semantic Web Technologies

Lecture 6: Applications in the Web of Data03: Ontology Design 101

Page 2: OpenHPI 6.3 - Ontology Design 101

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2

Lecture 6: Applications in the Web of DataOpen HPI - Course: Semantic Web Technologies

Page 3: OpenHPI 6.3 - Ontology Design 101

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

3

03 - Ontology Design 101Open HPI - Course: Semantic Web Technologies - Lecture 6: Applications in the Web of Data

Page 4: OpenHPI 6.3 - Ontology Design 101

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

4

Ontology Development 101 (Noy, McGuinness, 2000)

•Example of a wine and food ontology

A sharedontology on

wine and food

Which wine is the right one for fish?French wine-growing

regions and wines

Californian wine-growing regions

and wines

Page 5: OpenHPI 6.3 - Ontology Design 101

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

5

Ontology Development 101 (Noy, McGuinness, 2000)

•Example of a wine and food ontology

Page 6: OpenHPI 6.3 - Ontology Design 101

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

6

The Ontology Development 101 Process

•in practice an iterative process that repeats continuously and improves the ontology

•there are always different approaches for modelling an ontology

•in practice the designated application decides about the modelling approach

determinescope

considerreuse

enumerateterms

defineclasses

defineproperties

defineconstraints

createinstances

Page 7: OpenHPI 6.3 - Ontology Design 101

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

6

The Ontology Development 101 Process

•in practice an iterative process that repeats continuously and improves the ontology

•there are always different approaches for modelling an ontology

•in practice the designated application decides about the modelling approach

determinescope

considerreuse

enumerateterms

defineclasses

defineproperties

defineconstraints

createinstances

„There is no one correct way tomodel a domain. There are always viable alternatives.“

Page 8: OpenHPI 6.3 - Ontology Design 101

•Which domain should be covered by the ontology?

•What should the ontology be used for?

•What types of questions should be answered by the knowledge represented in the ontology?

•Who will use and maintain the ontology?

•Formulation of competence questions

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

7

Determine Domain and Focus

determinescope

considerreuse

enumerateterms

defineclasses

defineproperties

defineconstraints

createinstances

Page 9: OpenHPI 6.3 - Ontology Design 101

•Which domain should be covered by the ontology?

•What should the ontology be used for?

•What types of questions should be answered by the knowledge represented in the ontology?

•Who will use and maintain the ontology?

•Formulation of competence questions

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

7

Determine Domain and Focus

determinescope

considerreuse

enumerateterms

defineclasses

defineproperties

defineconstraints

createinstances

These Questions might change within the ontology life cycle

Page 10: OpenHPI 6.3 - Ontology Design 101

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

8determine

scopeconsider

reuseenumerate

termsdefine

classesdefine

propertiesdefine

constraintscreate

instances

Competence Questions (Wine Ontology)

•Which properties of the wine should be considered for modelling?

•Is Bordeaux a white wine or a red wine?

•Does a Sauvignon Blanc match with fish?

•Which wine matches best for grilled meat?

•Which properties of a wine do influence whether it matches with a specific dish?

•Does the bouquet of a wine change with different vintages?

•...

Determine Domain and Focus

Page 11: OpenHPI 6.3 - Ontology Design 101

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

9

Consider Reuse

determinescope

considerreuse

enumerateterms

defineclasses

defineproperties

defineconstraints

createinstances

•Why should we consider reuse?

•in order to save cost

•in order to apply tools that are applied for other existing ontologies also for our own ontology

•in order to reuse ontologies that have been validated by their application

Page 12: OpenHPI 6.3 - Ontology Design 101

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

9

Consider Reuse

determinescope

considerreuse

enumerateterms

defineclasses

defineproperties

defineconstraints

createinstances

•Why should we consider reuse?

•in order to save cost

•in order to apply tools that are applied for other existing ontologies also for our own ontology

•in order to reuse ontologies that have been validated by their application

If you don‘t find a suitable ontology or if the adaption is too complex then create a new ontology!

Page 13: OpenHPI 6.3 - Ontology Design 101

•About which concepts are we talking?

•What do we want to say about these concepts?

•Which properties do these concepts have?

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

10

Develop a Terminology

determinescope

considerreuse

enumerateterms

defineclasses

defineproperties

defineconstraints

createinstances

Example: Wine Ontology•wine, grape, winery, location,... •a wine‘s color, body, flavor, sugar content,... •subtypes of wine: white wine, red wine, Bordeaux wine,...•types of food: seafood, fish, meat, vegetables, cheese,...•...

Page 14: OpenHPI 6.3 - Ontology Design 101

•Classes are concepts in the designated domain

•class of wines

•class of wineries

•class of red wines

•...

•Classes are collections of objects with similar properties

•Choose an approach to model class hierarchies •top-down:

start with most general concept with subsequent specialization

•bottom-up:start with most specific concepts with subsequent grouping into more general concepts

•middle-out:start with most imnportant concepts with subsequent specialization and generalization

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

11

Develop Classes and Class Hierarchies

determinescope

considerreuse

enumerateterms

defineclasses

defineproperties

defineconstraints

createinstances

Page 15: OpenHPI 6.3 - Ontology Design 101

•Properties in a class definition describe attributes of instances

•every wine has a color, residual sugar, producer, etc...

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

12

Define Properties

determinescope

considerreuse

enumerateterms

defineclasses

defineproperties

defineconstraints

createinstances

Page 16: OpenHPI 6.3 - Ontology Design 101

•Property constraints (restrictions) describe or restrict the set of possible property values

•The name of a wine is a string

•The producer is an instance of winemaker

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

13

Define Property Constraints

determinescope

considerreuse

enumerateterms

defineclasses

defineproperties

defineconstraints

createinstances

Page 17: OpenHPI 6.3 - Ontology Design 101

•Create individuals populating the classes

•every class directly becomes the type of its individuals

•every superclass of a type is also a type of its individuals

•Create instances for properties, i.e. assignment of property values for the individuals according to the given constraints

•„the glass of red wine that I drank last supper...“

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

14

Definition of Individuals

determinescope

considerreuse

enumerateterms

defineclasses

defineproperties

defineconstraints

createinstances

Page 18: OpenHPI 6.3 - Ontology Design 101

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

15

The Ontology Development 101 Process

•in practice an iterative Process that repeats continuously and improves the ontology

•Attention:

•Further refinement should include the formulation of axioms

•Not well suited for large scale industrial ontology engineering

•version control, evaluation, quality assurance, etc.

determinescope

considerreuse

enumerateterms

defineclasses

defineproperties

defineconstraints

createinstances

Page 19: OpenHPI 6.3 - Ontology Design 101

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

15

The Ontology Development 101 Process

•in practice an iterative Process that repeats continuously and improves the ontology

•Attention:

•Further refinement should include the formulation of axioms

•Not well suited for large scale industrial ontology engineering

•version control, evaluation, quality assurance, etc.

determinescope

considerreuse

enumerateterms

defineclasses

defineproperties

defineconstraints

createinstances

„There is no one correct way tomodel a domain. There are always viable alternatives.“

Page 20: OpenHPI 6.3 - Ontology Design 101

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

16

Further Ontology Design Methodologies

Page 21: OpenHPI 6.3 - Ontology Design 101

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

17

•Based on Unified Process (UP) methodology in software development and Unified Modelling Language (UML)

•Use-Case driven, i.e. more suitable for application ontologies than for domain ontologies

•Goals:

•Reduction of time and cost in the development of large scale ontologies

•Quality improvement of the developed ontology via progressive validation of intermediate results

•Methodology for efficient collaboration of knowledge engineers and domain experts with clear separation of roles

•Intermediate results can already be evaluated by the user

Unified Process for Ontology Building De Nicola, Missikoff, Navigli (2005)

Page 22: OpenHPI 6.3 - Ontology Design 101

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

18

Unified Process for Ontology Building De Nicola, Missikoff, Navigli (2005)

•Development is divided into cycles, which are subdivided into 4 phases of iterations (Inception, Elaboration, Construction, Transition). Each iteration results in a new prototype.

•Each iteration consists of 5 workflows (Requirements, Analysis, Design, Implementation, Test)

Page 23: OpenHPI 6.3 - Ontology Design 101

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

19

Unified Process for Ontology Building De Nicola, Missikoff, Navigli (2005)

•Workflows and phases are almost orthogonal, i.e. involvement of single workflows in different phases of ontology development does vary

Page 24: OpenHPI 6.3 - Ontology Design 101

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

20

Ontology Design Patterns (Gangemi et al., 2005)

•Adapting an idea originally from architecture •recurring modeling problems•providing a set of adaptable standard solutions

•Ontology Design Patterns provide•small reusable (abstract) ontology templates with explicit documentation

•searchable repository ordered by competence questions

http://ontologydesignpatterns.org/

Page 25: OpenHPI 6.3 - Ontology Design 101

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

21

•Example: taking over a temporary role

•e.g.: Basil Rathbone played Sherlock Holmes in the 1939 movie „The Hound of the Baskervilles“

•Analyze the sentence, detect the modeling issues, and match to the Content ODPs

•A person plays a character •represent objects and

the roles they play

Ontology Design Patterns - A Simple Example

http://ontologydesignpatterns.org/

Page 26: OpenHPI 6.3 - Ontology Design 101

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

22

03 - Ontology Design 101

Page 27: OpenHPI 6.3 - Ontology Design 101

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

23

04 - Linked Data EngineeringOpen HPI - Course: Semantic Web Technologies - Lecture 6: Applications in the Web of Data