Title: Semantic Web Ontology Design Pattern
1Semantic Web Ontology Design Pattern
- Li Ding
- Department of Computer Science
- Rensselaer Polytechnic Institute
- October 3, 2007
- Class notes for CSCI-6962 Semantic Web
2Outline
- Ontology design principles
- Ontology design procedure with examples
- References
3Ontology Design Principles (Noy and McGuinness,
2001)
- There is no one correct way to model a domain
there are always viable alternatives. The best
solution almost always depends on the application
that you have in mind and the extensions that you
anticipate. - Ontology development is necessarily an iterative
process. - 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.
Source http//www-ksl.stanford.edu/people/dlm/pap
ers/ontology101/ontology101-noy-mcguinness.html
4Ontology Design Procedure
- Determine domain and scope of an ontology
- Design competence test
- Enumerate important terms in the ontology
- Design the ontology
- Reusing existing ontologies
- Creating new ontology
- Verify fitness of the ontology
Note this procedure is a modified version of
(Noy and McGuinness, 2001)
51. Determine Domain and Scope of an Ontology
- We need requirements to the ontology
- We need to focus on clarified domain and scope
- Example questions and answers
- What is the domain that the ontology will cover?
- E.g. personal profile information
- For what we are going to use the ontology?
- E.g. for sharing personal profile with friends
- For what types of questions the information in
the ontology should provide answers? - E.g. for what is my email, who are my
classmates - Who will use and maintain the ontology?
- E.g. myself will do the maintenance and all my
friends may run queries.
62. Design Competence Test
- A competence test offers real world instance
data and query to be supported by the ontology - It helps
- Checking domain/scope of the ontology
- Identifying inference to be offered by the
ontology - verifying fitness of the designed ontology
7Example Competence Test
- Domain/scope to describe something about person
- English statements to represented
- E.g. Professor Jim Hendler works at RPI.
- E.g. Li Ding is colleague of Jim.
- E.g. Photography is one of Lis hobbies.
- English queries to be answered
- E.g. Find all who work at RPI?
- no inference
- E.g. List the names of all persons mentioned in
data - may need rdfssubClassOf inference to find all
instances of person
83. Enumerate Important Terms of the Ontology
- Convert complex English sentences to simple ones
- Map simple English sentence to RDF triple
- Identify nodes usually nouns, e.g. RPI, Li
Ding - Identify arcs usually verbs, e.g. name, age
- Refine node classification
- A thing - Resource/instance, e.g RPI
- A set of things - Class/type, e.g. person,
airport, course - Text to be preserved - Literal, e.g. Jim
Hendler - Review translation
- If English statements fully translated into an
RDF graph - if English statements can be restored from the
RDF graph
9Simplify Complex English Sentences
- The input English statement
- Professor Jim Hendler works at RPI.
- Revision 1 the actual semantics
- (There is a person, who is a) Professor (and has
name) Jim Hendler(,) works at RPI. - Final Revision consists of three statements
- A person works at RPI.
- The person is a professor
- The person has name Jim Hendler.
10Map Simple English Sentence to RDF Triple
- Professor Jim Hendler works at RPI.
-
- A person works at RPI.
- The person is a professor
- The person has name Jim Hendler.
-
works at
Professor Jim Hendler
RPI
works at
RPI
Is a
a person
Professor
has name
Jim Hendler
11Refine Node Classification and Definition
exlabel
- A person works at RPI.
- The person is a professor
- The person has name Jim Hendler.
RPI
exRPI
exworksAt
Professor
exlabel
rdftype
exJH
exProfessor
exname
Jim Hendler
Legends
identified arc
exname
exProfessor
identified class
exJH
identified resource
Jim Hendler
identified literal
12Review Translation
- Is the translation complete?
- Can we translate it back to the original English
statements? - Why exname is added?
- Why identify literal?
- Why use ex as namespace?
- Some resources such as exRPI do not have type,
is that ok? - Will there be any other translations? Note the
semantics of Professor can also be captured by
a person whose title is professor.
134. Design the Ontology
I know the terms, but how to get my owl ontology
?
Reusing existing ontologies
Creating new ontology
14Reuse Existing Ontology
- Finding ontologies
- Search Swoogle or Google using identified terms
as keywords - Go to well-known ontology repositories
- Evaluate fitness of existing ontology
- Check if most identified terms are covered by the
ontology - Run competence test
- Hints
- Semantic matching is recommended because one
concept may corresponds to multiple English words - We may reuse a set of existing ontologies instead
of only one - A big comprehensive ontology is useful but also
costs non-trivial learning time. - Good ontologies can be either well-defined or
widely-used.
15Create New Ontology
- A simplified procedure
- Define classes and class hierarchy
- Define properties
- Associate properties with classes
- Domain and range of property
- Property-cardinality restriction
- Property-value restriction
- Using complex classes constructs
- Hints on how to make choices
16Define class and Class Hierarchy
Class space
owlThing
Legends
owlClass
exPerson
subClassOf
type
exProfessor
Instance space
RPI
Jim Hendler
Li Ding
17Define Properties
Class space
owlThing
Legends
owlClass
exPerson
subClassOf
type
exProfessor
Instance space
exworksAt
rdfslabel
exname
RPI
Jim Hendler
exisColleagueOf
exname
Li Ding
18Define Properties (Contd)
- Differentiate properties
- owlDatatypeProperty
- owlObjectProperty
- Predefined properties, e.g. rdftype
OwlInverseFunctionalProperty
rdftype
rdfslabel
works at
rdftype
exexisColleagueOf
OwlObjectProperty
rdfslabel
has name
rdftype
exname
OwlDatatypeProperty
Legends
OwlThing
predefined concept
exname
identified property
Jim Hendler
identified literal
19Associate Properties with Classes
OwlInverseFunctionalProperty
- Why the domain of exisColleagueOf is exPerson
instead of exProfessor ?
rdftype
rdfslabel
works at
rdftype
exisColleagueOf
OwlObjectProperty
rdfsdomain
exPeople
rdfsrange
exPerson
Legends
OwlThing
predefined concept
exProfessor
identified class
exname
identified property
Jim Hendler
identified literal
20Complex Class Construct - Professor
A simple class definition
rdftype
exProfessor
owlClass
rdfssubClassOf
rdftype
A descriptive class definition
owlRestriction
owlOnProperty
extitle
owlhasValue
exprofessor-title
rdfssubClassOf
Reusing external class definition
rdftype
foafPerson
owlClass
21Hints for Making Choices
- Ensuring that the class hierarchy is correct
- A single wine is not a subclass of all wines
- Analyzing siblings in a class hierarchy
- How many is too many and how few is too few?
- Multiple inheritance
- When to introduce a new class (or not)
- Subclasses of a class usually (1) have
additional properties that the superclass doesÂ
not have, or (2) restrictions different from
those of the superclass, or (3) participate in
different relationships than the superclasses - Classes in terminological hierarchies do not
have to introduce new properties - A new class or a property value?
- Do we create a class White wine or do we simply
create a class Wine and fill in different values
for the slot color? - An instance or a class?
- Individual instances are the most specific
concepts represented in a knowledge base. - If concepts form a natural hierarchy, then we
should represent them as classes - More (please read the referenced article)
225. Verify Fitness of Ontology
- This test is necessary, do not skip
- The fitness of ontology can be justified if the
following conditions are met - the above English statements can be represented
using the designed ontology - the above English queries can be answered by the
represented data and the designed ontology
23Summary
- This talk offers basics on building an ontology
for a certain domain/application - Several principles
- A five-step procedure
- The competence test is the most critical part
- by filtering out unnecessary definition
- by identifying an ontologys inference potential
- by verifying fitness of ontology
24References
- Natalya F. Noy and Deborah L. McGuinness.
Ontology Development 101 A Guide to Creating
Your First Ontology''. Stanford Knowledge Systems
Laboratory Technical Report KSL-01-05, March
2001. http//www-ksl.stanford.edu/people/dlm/pape
rs/ontology101/ontology101-noy-mcguinness.html