Upload
beryl-long
View
214
Download
0
Tags:
Embed Size (px)
Citation preview
Semantic Web Ontology Design Pattern
Li Ding
Department of Computer Science
Rensselaer Polytechnic Institute
October 3, 2007
Class notes for CSCI-6962 Semantic Web
Outline
Ontology design principles Ontology design procedure with examples References
Ontology 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/papers/ontology101/ontology101-noy-mcguinness.html
Ontology Design Procedure
1. Determine domain and scope of an ontology2. Design competence test3. Enumerate important terms in the ontology 4. Design the ontology
Reusing existing ontologies Creating new ontology
5. Verify fitness of the ontology
Note: this procedure is a modified version of (Noy and McGuinness, 2001)
1. 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.
2. 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
Example 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 Li’s 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 rdfs:subClassOf inference to find all instances of person
3. 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
Simplify 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.
Map 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.
Professor Jim Hendler RPIworks at
a person Professor
Jim Hendler
Is a
RPI
has name
works at
Refine Node Classification and Definition
A person works at RPI. The person is a professor The person has name Jim Hendler.
ex:JH ex:Professor
ex:RPI
“Jim Hendler”
rdf:type
ex:JH identified resource
Legends
ex:Professor
“Jim Hendler” identified literal
identified class
ex:name
ex:worksAt
“RPI”
“Professor”
ex:label
ex:label
ex:name identified arc
Review Translation Is the translation complete?
Can we translate it back to the original English statements? Why “ex:name” is added?
Why identify literal?
Why use “ex:” as namespace?
Some resources such as ex:RPI 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”.
4. Design the Ontology
An early mobile computing prototype
Reusing existing ontologies
Creating new ontology
I know the terms,but how to get my owl ontology ?
swoop protégé
Reuse 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.
Create 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
LegendsClass space
Instance space
owl:Thing
Jim Hendler Li DingRPI
subClassOf
type
ex:Person
ex:Professor
owl:Class
Define class and Class Hierarchy
LegendsClass space
Instance space
Define Properties
owl:Thing
“Jim Hendler”
“Li Ding”
subClassOf
type
ex:worksAt
ex:isColleagueOf
ex:name
ex:name
ex:Person
ex:Professor
owl:Class
“RPI”
rdfs:label
Define Properties (Cont’d)
ex:ex:isColleagueOf
ex:name Owl:DatatypeProperty
Owl:ObjectProperty
“works at”
“has name”
rdfs:label
rdfs:label
rdf:type
rdf:type
ex:name identified property
Legends
“Jim Hendler” identified literal
predefined conceptOwl:Thing
Owl:InverseFunctionalPropertyrdf:type
Differentiate properties owl:DatatypeProperty owl:ObjectProperty Predefined properties, e.g. rdf:type
Why the domain of ex:isColleagueOf is ex:Person instead of ex:Professor ?
ex:isColleagueOf Owl:ObjectProperty
“works at” rdfs:label
ex:People
ex:Person
rdfs:domain
rdfs:range
rdf:type
ex:name identified property
Legends
ex:Professor
“Jim Hendler” identified literal
identified class
predefined conceptOwl:Thing
Owl:InverseFunctionalPropertyrdf:type
Associate Properties with Classes
ex:Professor owl:Class
ex:title
ex:professor-title
owl:Restriction
owl:OnProperty
rdf:type
rdf:type
owl:hasValue
foaf:Person
rdfs:subClassOf
owl:Classrdf:type
rdfs:subClassOf
A simple class definition
A descriptiveclass definition
Reusing external class definition
Complex Class Construct - “Professor”
Hints 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)
5. 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
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 ontology’s inference potential by verifying fitness of ontology
Summary
References
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/papers/ontology101/ontology101-noy-mcguinness.html