1. 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
2. Definition of ontology
“Explicit formal specifications of the terms in the
domain and relations among them.”
3. 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
4. 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
8. Developing an ontology includes
• Define classes
• Arrange the classes in a taxonomic hierarchy
• Define slots
• Fill the values of the slots for instances
9. 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.
10. 1
2
3
Determine the domain and scope of the ontology
Consider reusing existing ontologies
Enumerate important terms in the ontology
11. 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
12. 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?
13. 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?
15. Enumerate important terms in the ontology
• Important wine-related terms will include
▫ Wine
▫ Grape
▫ Winery
▫ Location
▫ Color
▫ Flavor
▫ Body
▫ Sugar content
16. 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
17. 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.
19. 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.
20. 6
Define the facets of the slots (cont.)
• String
• Number (Integer)
• Boolean
• Enumerated (Symbol)
• Instance
21. 6
Define the facets of the slots (cont.)
Winery
produces
Wine
Domain
Range
22. 7
Create Instances
• Defining an individual instance of a class requires
▫ Choosing a class
▫ Creating an individual instance of that class
▫ Filling in the slot values
24. 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
25. 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
27. 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?
28.
29. 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
30. 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
32. What’s in a name?
• Capitalization and delimiters
• Singular or plural
• Prefix and suffix conventions
▫ has-
▫ -of
• Other naming considerations
33. 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.”
本體論的定義:一個領域之中對分類的明確有形式的規則與他們之間的關係
從人工智慧的實驗室移動到了領域專家的桌面上
她現在再www上可以說是滿普遍的
Yahoo large taxonomies categorizing web sites
Amazon categorization of products for sale and their features
W3C發展了RDF (Resource Description Framework)
把知識包裝能網頁能傳遞的格式,並且可以讓電子代理人用來查詢資料。
現在各個領域也開始發展各自領域的本體論
裡面提到的有medicine, general-purpose, products and services
我自己看到的國內的則有…
本體論基本上在做的就是讓同一領域中的研究者可以用相同的字彙來互相交流
並且這種字彙同時也可以轉換成電腦可以理解的形式。其中包含了這個領域的主要概念,與概念與概念之間的關係。
If the concepts with different slot values become restrictions for different slots in other classes, then we should create a new class for the distinction. Otherwise, we represent the distinction in a slot value.
If a distinction is important in the domain and we think of the objects with
different values for the distinction as different kinds of objects, then we
should create a new class for the distinction.
A class to which an individual instance belongs should not change often.
以解剖學為例 第一根肋骨 肋骨class
6.最特別的就是instance 依照自然的分類階層,也是可以有Abstract型態的class
不需要連餐巾紙都知道
不相交