34
Ontology development 101: a guide to creating your first ontology by Natalya F. Noy & Deborah L. McGuinness M0261111 陳冠廷 National Changhua University of Education Department of Information Management

Ontology development 101

Embed Size (px)

DESCRIPTION

Reference, Noy, N. F., & McGuinness, D. L. (2001). Ontology development 101: A guide to creating your first ontology.

Citation preview

Page 1: Ontology development 101

Ontology development 101:

a guide to creating your first ontology

by Natalya F. Noy & Deborah L. McGuinness

M0261111 陳冠廷

National Changhua University of Education

Department of Information Management

Page 2: Ontology development 101

Definition of ontology

“Explicit formal specifications of the terms in the

domain and relations among them.”

Page 3: Ontology development 101

Who want to develop an ontology?

Why?1. To share common understanding of the structure of information

among people or software agents

2. To enable reuse of domain knowledge

3. To make domain assumptions explicit

4. To separate domain knowledge from the operational knowledge

5. To analyze domain knowledge

Page 4: Ontology development 101

What is in an ontology?

• An ontology is a formal explicit description of concepts in a domain

of discourse

• It contains

▫ Classes (concept)

▫ Slots (properties or roles)

▫ Facets (role restrictions)

▫ Instances

Page 5: Ontology development 101
Page 6: Ontology development 101

Products of Apple

iPhone

iPhone

iPad

iPhone 2 iPhone 3 iPhone 4

Page 7: Ontology development 101

Products of Apple

iPhone

iPhone

iPad

iPhone 2 iPhone 3 iPhone 4

Page 8: Ontology development 101

Developing an ontology includes

• Define classes

• Arrange the classes in a taxonomic hierarchy

• Define slots

• Fill the values of the slots for instances

Page 9: Ontology development 101

A Simple Knowledge-Engineering Methodology

• There is no one correct way to model a domain

• Ontology development is necessarily an iterative process

• Concepts in the ontology should be close to objects(nouns) and

relationship(verbs) in your domain.

Page 10: Ontology development 101

1

2

3

Determine the domain and scope of the ontology

Consider reusing existing ontologies

Enumerate important terms in the ontology

Page 11: Ontology development 101

4

5

6

7

Define the classes and the class hierarchy

Define the properties of classes-slots

Define the facets of the slots

Create instances

Page 12: Ontology development 101

Determine the domain and scope of the ontology

• 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?

• Who will use and maintain the ontology?

Page 13: Ontology development 101

Determine the domain and scope of the ontology (cont.)

Competency questions (Gruninger & Fox 1995)

• Which wine characteristics should I consider when choosing a wine?

• Is Bordeaux a red or white wine?

• Does Cabernet Sauvignon go well with seafood?

• What is the best choice of wine for grilled meat?

• Which characteristics of a wine affect its appropriateness for a dish?

• Does a bouquet or body of a specific wine change with vintage year?

• What were good vintages for Napa Zinfandel?

Page 14: Ontology development 101

Consider reusing existing ontologies

• Ontolingua ontology library

(www.ksl.stanford.edu/software/ontolingua)

• DAML ontology library (www.daml.org/ontologies)

• UNSPSC (www.unspsc.org)

• RosettaNet (www.rosettanet.org)

• DMOZ (www.dmoz.org)

Page 15: Ontology development 101

Enumerate important terms in the ontology

• Important wine-related terms will include

▫ Wine

▫ Grape

▫ Winery

▫ Location

▫ Color

▫ Flavor

▫ Body

▫ Sugar content

Page 16: Ontology development 101

Define the classes and the class hierarchy

• There are several possible approaches in developing a class

hierarchy (Uschold and Gruninger 1996)

▫ Top-down

▫ Bottom-up

▫ Combination

Page 17: Ontology development 101

Define the classes and the class hierarchy (cont.)

If a class A is a superclass of class B,

then every instance of class B is also

an instance of A.

Page 18: Ontology development 101

Define the properties of classes-slots

Page 19: Ontology development 101

Define the facets of the slots

• Slots can have different facets describing the value type, allow

values, the number of the values(cardinality), and other features of

the value the slot can take.

Page 20: Ontology development 101

6Define the facets of the slots (cont.)

• String

• Number (Integer)

• Boolean

• Enumerated (Symbol)

• Instance

Page 21: Ontology development 101

6Define the facets of the slots (cont.)

Winery

Wine

produces

Domain

Range

Page 22: Ontology development 101

7Create Instances

• Defining an individual instance of a class requires

▫ Choosing a class

▫ Creating an individual instance of that class

▫ Filling in the slot values

Page 23: Ontology development 101

7Create Instances

Page 24: Ontology development 101

Defining classes and a class hierarchy

1. Ensuring that the class hierarchy is correct

2. Analyzing siblings in a class hierarchy

3. Multiple inheritance

4. When to introduce a new class

5. A new class or a property value

6. An instance or a class

7. Limiting the scope

8. Disjoint subclasses

Page 25: Ontology development 101

Defining classes and a class hierarchy (cont.)

1. Ensuring that the class hierarchy is correct

▫ An “is-a” relation

▫ A single wine is not a subclass of all wines

▫ Transitivity of the hierarchical relations

▫ Evolution of a class hierarchy

▫ Classes and their names

▫ Avoiding class cycles

A

B

C

is-a

is-a

is-a

Page 26: Ontology development 101

鳳梨酥

冬瓜餡鳳梨酥

土鳳梨酥

is-a

Page 27: Ontology development 101

Defining classes and a class hierarchy (cont.)

2. Analyzing siblings in a class hierarchy

▫ Siblings in a class hierarchy

▫ How many is too many and how few are too few?

Page 28: Ontology development 101
Page 29: Ontology development 101

Defining classes and a class hierarchy (cont.)

3. Multiple inheritance

4. When to introduce a new class (or not)

▫ have additional properties that the superclass does not have

▫ restrictions different from those of the superclass

▫ participate in different relationships than the superclasses

Page 30: Ontology development 101

Defining classes and a class hierarchy (cont.)

5. A new class or a property value?

6. An instance or a class?

7. Limiting the scope

8. Disjoint subclasses

Page 31: Ontology development 101

Define properties-more details

• Inverse slots

• Default values

Page 32: Ontology development 101

What’s in a name?

• Capitalization and delimiters

• Singular or plural

• Prefix and suffix conventions

▫ has-

▫ -of

• Other naming considerations

Page 33: Ontology development 101

Conclusion

• This guide described an ontology-development methodology for

declarative frame-based systems.

• This guide listed the steps in the ontology-development process.

• “There is no single correct ontology for any domain”

• “The proof is in the pudding.”

Page 34: Ontology development 101

Q & A