24
Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962 Semantic Web

Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

Embed Size (px)

Citation preview

Page 1: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

Semantic Web Ontology Design Pattern

Li Ding

Department of Computer Science

Rensselaer Polytechnic Institute

October 3, 2007

Class notes for CSCI-6962 Semantic Web

Page 2: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

Outline

Ontology design principles Ontology design procedure with examples References

Page 3: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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

Page 4: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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)

Page 5: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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.

Page 6: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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

Page 7: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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

Page 8: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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

Page 9: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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.

Page 10: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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

Page 11: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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

Page 12: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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”.

Page 13: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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é

Page 14: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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.

Page 15: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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

Page 16: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

LegendsClass space

Instance space

owl:Thing

Jim Hendler Li DingRPI

subClassOf

type

ex:Person

ex:Professor

owl:Class

Define class and Class Hierarchy

Page 17: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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

Page 18: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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

Page 19: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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

Page 20: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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”

Page 21: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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)

Page 22: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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

Page 23: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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

Page 24: Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962

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