think ontologically n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
“Think Ontologically” PowerPoint Presentation
Download Presentation
“Think Ontologically”

Loading in 2 Seconds...

play fullscreen
1 / 69

“Think Ontologically” - PowerPoint PPT Presentation


  • 129 Views
  • Uploaded on

Process to create a. “Think Ontologically”. A Crash Course in Ontology Modelling for Archaeologists. Yi Hong Department of Computer Sciences University of Leicester. How we describe knowledge? … as archaeologists . Unstructured free-form text natural language

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '“Think Ontologically”' - akira


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
think ontologically

Process to create a

“Think Ontologically”

A Crash Course in Ontology Modelling

for Archaeologists

Yi Hong

Department of Computer Sciences

University of Leicester

how we describe knowledge as archaeologists
How we describe knowledge? …as archaeologists
  • Unstructured free-form text
    • natural language
    • human readable, highly expressive
    • no universally-agreed terminology
    • reflect individual interpretations and explanations of archaeological evidence

“Archaeology is the search for fact... not truth. If it's truth you're looking for, Dr. Tyree's philosophy class is right down the hall.”

Indiana Jones

how we describe knowledge as computer scientists
How we describe knowledge? …as computer scientists
  • Formal Specification
    • programming language, metadata
    • machine readable and executable
    • controlled vocabulary, Limited expressivity
    • well-defined, highly uniform mathematical symbols and notations

“Computer language design is

just like a stroll in the park. 

Jurassic Park, that is.”-Larry Wall inventor of “Perl”

slide5

Traditional

Relational Database approach

Table

values

row

Fields

Record

Identified/linked by

Primary/Foreign Keys

slide6

Process to create a database

Relational Database approach

Form

Step 1.

paper-based or electronic form

List fields (columns)

Group fields

Create tables & columns

Link tables(foreign keys)

Add records

slide7

Process to create a database

Relational Database approach

Form

Step 2. List all fields

List fields (columns)

  • Inventory Number,
  • Excavation Date,
  • Site name,
  • Site description,
  • Material,
  • Weight,
  • Catalog,
  • Images,
  • Object Description

Group fields

Create tables & columns

Link tables(foreign keys)

Add records

slide8

Process to create a database

Relational Database approach

Form

Step 3. Group fields, give a group name

List fields (columns)

  • Object
    • Inventory Number
    • Excavation Date
    • Material
    • Weight
    • Catalog
    • Images
    • Object description
  • Site
    • Site name
    • Site description
  • ….

Group fields

Create tables & columns

Link tables(foreign keys)

Add records

slide9

Process to create a database

Relational Database approach

Form

Step 4. create tables, columns

List fields (columns)

Group fields

Create tables & columns

Link tables(foreign keys)

Add records

slide10

Process to create a database

Relational Database approach

Form

Step 4. create tables, columns with

MS Access

List fields (columns)

tables, fields (columns)

Group fields

primary-foreign

key pairs

Create tables & columns

Link tables(foreign keys)

Add records

slide11

Process to create a database

Relational Database approach

Form

Step 4. Data entry

List fields (columns)

Group fields

Create tables & columns

Link tables(foreign keys)

Add records

example
Example

Scenario :

Design a data structure for Course Modules Selection

Relational Database Design Ontology Modeling

  • Requirement:
  • Every course module can only be taught by one Lecturer
  • A Lecturer can teach many courses..
  • An student must enrol in at least 3 courses.
  • Max enrolment number for a course is 100.

* Everystudent has a unique student ID

* Everystaff has a unique staff ID

slide13

Relational Database Approach

* Many to many relation

Tables

Student

Form 1

Course

List

Form 2

(Lecturer)

Form 3

(Student)

Student ID

Name

….

Lecturer

Staff ID

Name

….

Course

Course ID

Course Name

….

ModuleSelection

Course ID

Staff ID

Student ID

ontology
Ontology
  • “An ontology is a formal specification of a conceptualization”
  • Thomas Gruber
relational database vs ontological database
Relational Database vs Ontological Database

Schema (SQL)

(table, field)

Ontology (RDF/OWL)

(class, property)

DefineStructure

Records

Triples/ axioms

Basic elements

Products/

Editor

Relational DB

OntoDB (Triple store)

Virtuoso ,

Jena SDB, TDB

etc.

Microsoft Access, FileMaker,

Oracle, MySQL etc

Protége, SWOOP

web ontology language

Assume knowledge is completed

everything we don’t know is false

Web Ontology Language

Open World Assumption (OWA)

We know

Closed world assumption

Assume knowledge is incompleted

everything we don’t know is undefined

OWA

Data

No

Vegetarian?

Yi

Alessandro

Closed world assumption

No

Yes

Open world assumption

No

Undefined

Question:

Can vegetarian eat Tofu?

Vegetarian: someone who does not eat meat.

slide18

“Think Ontologically”

Outside the box

Ontology

Class

restrict

Instance of

Individual

Property

has value for

Identified/linked by

(URI) Uniform Resource Identifier

slide19

“Think Ontologically”

Class (Concept)

Identify domain concepts

Class (Concept)

A template of definition of

a particular kind of object

Organise classes into hierarchies

Identify properties

Object properties

Data type properties

Add triples

slide20

“Think Ontologically”

  • Class (Concept)

Identify domain concepts

Class (Concept)

A template of definition of

a particular kind of object

Organise classes into hierarchies

e.g. Person, Ceramic Pot , Excavation Site, Color

Identify properties

Object properties

Data type properties

Add triples

slide21

“Think Ontologically”

  • Describe Class with Description Logic

Examples

“Circular terracotta loom weight”

“Excavation site”

“Settlement”

Description Logic

slide22

“Think Ontologically”

Individual

Identify domain concepts

Individual (object)

Individuals are instance of class

Organise classes into hierarchies

Example:

Identify properties

Red is an instance of Color

Object properties

Data type properties

Instance of

Red

Color

Add triples

slide23

“Think Ontologically”

  • Individual

Identify domain concepts

Individual (object)

Individuals are instance of class

Organise classes into hierarchies

Example:

Identify properties

Alessandro is an instance Person

Object properties

Data type properties

Instance of

Alessandro

Person

Add triples

slide24

“Think Ontologically”

  • Individual

Identify domain concepts

Individual (object)

Individuals are instance of class

Organise classes into hierarchies

Example:

Identify properties

“A two holes disc loom weight found at Satriano” is an instance of loom weight

Object properties

Data type properties

Instance of

Add triples

slide25

Vessel(Bowl)

    • Ceramic vessel
    • wooden vessel

“Think Ontologically”

  • Class Hierarchy

Identify domain concepts

Class hierarchy

(subclass: “IS A” relationship)

Organise classes into hierarchies

Vessel(Bowl)

Ceramic vessel

supercalss

Identify properties

Wooden vessel

Vessel(Bowl)

Object properties

Data type properties

sub class of

sub class of

subclass

wooden vessel

Ceramic vessel

Add triples

slide26

“Think Ontologically”

Class Hierarchy

Identify domain concepts

Class hierarchy

multiple inheritance

Organise classes into hierarchies

Craft worker

Woman

Identify properties

sub class of

sub class of

Female Craft worker

Object properties

Data type properties

Add triples

slide27

“Think Ontologically”

  • Class Hierarchy

Identify domain concepts

Class hierarchy

multiple inheritance

Organise classes into hierarchies

Man

Woman

Identify properties

sub class of

sub class of

Object properties

Data type properties

??

Add triples

Disjoined class

slide28

Common mistakes in organising class hierarchy

“Think Ontologically”

Example: Ontology for Education

(1)

(2)

University

University

University

National University

Staff

University of Leicester

Student

University of Glasgow

Private University

…..

…..

…..

Person

Staff

Student

“Sub class ”relationship

must be “is a” relationship

UoL is an indiviual of class University , nota class

slide29

“Think Ontologically”

Property

e.g. Person, Excavation Site, Ceramic Pot, Color

Identify domain concepts

Property

an element that takes a value and is associated with an object. It defines attributes of a concept and relations between concepts.

Data type property

Object property

Organise classes into hierarchies

Class hierarchy (sub class)

Identify properties

  • Vessel(Bowl)
    • Ceramic vessel
    • wooden vessel

Object properties

Data type properties

Add triples

slide30

“Think Ontologically”

  • Data Type Property

e.g. Person, Excavation Site, Ceramic Pot, Color

Identify domain concepts

Data type property

(attribute)

A Data type property is an element that takes a value and is associated with an object (properties for which the value is a data literal)

Organise classes into hierarchies

Class hierarchy (sub class)

Identify properties

  • Vessel(Bowl)
    • Ceramic vessel
    • wooden vessel

String

Number

Date

Object properties

Data type properties

Add triples

slide31

“Think Ontologically”

  • Data Type Property

e.g. Person, Excavation Site, Ceramic Pot, Color

Identify domain concepts

Data type property

(attribute)

A Data type property is an element that takes a value and is associated with an object (properties for which the value is a data literal)

Organise classes into hierarchies

Class hierarchy (sub class)

Identify properties

  • Vessel(Bowl)
    • Ceramic vessel
    • wooden vessel

e.g. Ceramic Pot

Object properties

Data type properties

Weight: 1.4kg

Description: “Beautiful”

Year of Excavation: 1980

Add triples

slide32

“Think Ontologically”

  • Object Property

e.g. Person, Excavation Site, Ceramic Pot, Color

Identify domain concepts

Object Property

(relation)

An Object property is a direct binary relation between two classes

Organise classes into hierarchies

Class hierarchy (sub class)

Identify properties

  • Vessel(Bowl)
    • Ceramic vessel
    • wooden vessel

was found at

Object properties

Data type properties

Pot

Site

owned by

Person

Add triples

slide33

“Think Ontologically”

Property

e.g. Person, Excavation Site, Ceramic Pot, Color

Identify domain concepts

Property hierarchy

Organise classes into hierarchies

has parent

Class hierarchy (sub class)

Identify properties

has mother

  • Vessel(Bowl)
    • Ceramic vessel
    • wooden vessel

has father

Object properties

Data type properties

Add triples

slide34

“Think Ontologically”

Domain & Range

e.g. Person, Excavation Site, Ceramic Pot, Color

Identify domain concepts

Property

Domain:

A domain of a property limits the individuals to which the property can be applied.

Range:

The range of a property limits the individuals that the property may have as its value

Organise classes into hierarchies

Class hierarchy (sub class)

Identify properties

  • Vessel(Bowl)
    • Ceramic vessel
    • wooden vessel

Object properties

Data type properties

Add triples

domain range

“Think Ontologically”

Domain & Range

Property

Domain:

A domain of a property limits the individuals to which the property can be applied.

Range:

The range of a property limits the individuals that the property may have as its value

owned by

teaches

teaches

Artefact

Person

  • Teacher
  • Student

range

domain

domain range1

“Think Ontologically”

Domain & Range

Domain & range can be the same class

Property

Domain:

A domain of a property limits the individuals to which the property can be applied.

Range:

The range of a property limits the individuals that the property may have as its value

Is a friend of

Class Person

Is a friend of

Is a friend of

cardinality

“Think Ontologically”

Cardinality

Cardinality

cardinality specifies the occurances of a relationship

A property can have:

Exact cardinality

Min cardinality

Max cardinality

has_CFS _Id

yh37@le.ac.uk

exactly 1

Univ Staff

has_child

min 1

child

Mother

has_passenger

Bus

max 60

inverse property

“Think Ontologically”

Inverse Property

Property

Inverse Property

One property may be stated to be the inverse of another property.

If the property P1 is stated to be the inverse of the property P2, then if X is related to Y by the P2 property, then Y is related to X by the P1 property

(P1) owned by

Person

Pot

(P2) has_personal_belongings

(p1)hasParent

  • Child
  • Parent

(p2) hasChild

characteristics of a property
Characteristics of a property

Data Type

Property

Transitive Property

Property

Symmetric Property

Object

Property

Functional Property

InverseFunctional Property

…………

characteristics of a property1
Characteristics of a property

Functional Property

has husband

Inverse Functional Property

If John has a driving licence (No.)

biologicalMotherOf

characteristics of a property2
Characteristics of a property

Transitive Property

is part of

is part of

EBA 1

Early Bronze Age

Bronze Age

3300 – 3000 BC

3300 - 1200 BC

3300 - 2100 BC

is part of

Symmetric Property

overlaps with

Iron Age

Roman period

overlaps with

many other properties
Many other properties ….

http://www.w3.org/TR/owl-ref/

slide43

Triple

e.g. Person, Excavation Site, Ceramic Pot, Color

Identify domain concepts

Triple (RDF triple)

A Triple is conventionally written in the order

subject,

predicate,

object.

The predicate is also known as the property of the triple.

Organise classes into hierarchies

Class hierarchy (sub class)

Identify properties

  • Vessel(Bowl)
    • Ceramic vessel
    • wooden vessel

Object properties

Data type properties

Add triples

slide44

Triple

Outside the box

  • Basic element
      • contains three parts: subject, predicate and object.

e.g. Person, Excavation Site, Ceramic Pot, Color

Property

Class hierarchy (sub class)

Predicate

  • Vessel(Bowl)
    • Ceramic vessel
    • wooden vessel

Subject

Object

Individual

Individual

slide45

Triple

Populating ontology

Triple Graph

A set of triples become a graph

An ontology-based database is a graph

was destroyed by

  • house

fire

example1
Example

Scenario :

Design a data structure for Course Modules Selection

  • Requirement:
  • Every course module can only be taught by one Lecturer
  • A Lecturer can teach many courses..
  • An student must enrol in at least 3 courses.
  • Max enrolment number for a course is 100.

* Everystudent has a unique student ID

* Everystaff has a unique staff ID

slide47

Ontological approach

Identify concepts

Student

Course

Lecturer

slide48

Ontological approach

Organise classes into hierarchies

Student

Lecturer

Course

slide49

Making relationships explicit and clear

Organise classes into hierarchies

Person

Lecturer

Student

Course

Enable reuse of domain knowledge

slide50

Ontological approach

Can be taken from

other ontology

Ontological Approach

Person

Lecturer

Student

Course

Enable reuse of domain knowledge

slide51

Ontological approach

Ontological Approach

Name

Staff ID

Person

Lecturer

Student

Student ID

Course

Course ID

Add Data Type Property

slide52

Ontological approach

Ontological Approach

Name

Staff ID

Person

Lecturer

Student

Student ID

Course

Course ID

Add Object Property

slide53

Ontological approach

Ontological Approach

Name

Staff ID

Person

Lecturer

Student

Student ID

Course

Course ID

Object Property

slide54

Ontological approach

Ontological Approach

Add ObjectProperty

Person

Lecturer

Student

Course

Object Property

slide55

Ontological approach

Ontological Approach

Add ObjectProperty

Person

Lecturer

teaches

Student

Course

Object Property

slide56

Ontological approach

Ontological Approach

Add ObjectProperty

Person

Lecturer

teaches

Student

enrol in

Course

Object Property

slide57

Ontological approach

Ontological Approach

Add ObjectProperty

Person

Lecturer

teaches

Course

enrol in

Student

Object Property

slide58

Ontological approach

Ontological Approach

Add Inverse Property

Person

Lecturer

teaches

is taught by

Course

has registered student

enrol in

Student

Object Property

slide59

Ontological approach

Ontological Approach

Specify cardinality

Person

Lecturer

teaches

=1

is taught by

=1

Course

has registered student

min. 3

max. 100

enrol in

Student

Object Property

slide60

Ontological approach

Ontological Approach

Identify type of property

Person

Lecturer

teaches

=1

(functional)

is taught by

(inverseFunctional)

=1

Course

has registered student

min. 3

max. 100

enrol in

Student

Object Property

slide61

Ontological approach

Ontological Approach

Done!

Person

Lecturer

teaches

=1

(functional)

is taught by

(inverseFunctional)

=1

Course

has registered student

min. 3

max. 100

enrol in

Student

Object Property

slide62

Ontological approach

Ontological Approach

course

C1

lecturer

student

L1

enrol in

teaches

Add triple

slide63

Ontological approach

Ontological Approach

course

C1

lecturer

teaches

student

L1

enrol in

teaches

Add triple

slide64

Ontological approach

Ontological Approach

enrol in

S1

course

C1

lecturer

teaches

student

L1

enrol in

teaches

Add triple

slide65

Why use ontology?

Ontological approach

Ontological Approach

S1

course

C1

C2

S2

lecturer

C3

S3

student

C4

L1

enrol in

C5

teaches

L2

Add triple

slide66

Explore implicit relationship

Ontological Approach

S1

course

C1

lecturer

studied under the

supervision of

student

L1

enrol in

if Student S studies course C

if Lecturer L teaches course C

teaches

Reasoning

slide67

Explore implicit relationship

course

Deductive reasoning

enrolled

S1

lecturer

if Student Senrolled in course C

C1

AND

Lecturer L teaches course C

THEN

Student S studied under the

supervision of L

student

teaches

studied under the

supervision of

enrol in

L1

teaches

(?s rdf:type Student) (?s rdf:type Student)(?s enrolled ?c) (?l teaches ?c)

(?s studies_under the supervision of ?l)

studied under the

supervision of

Reasoning

slide68

Classification

course

C2

C2

C2

Class hierarchy

lecturer

Person

Lecturer

student

C1

L1

Lazy Lecturer

enrol in

Hardworking Lecturer

Define Hardworking Lecturer:

A Lecturer who teach more than 4 courses using

Description Logic

teaches

Student

Class(Hardworking Lecturer,subClassOf(Restriction(hasCourse, min-cardinality(4))))

Reasoning

slide69

Protégé

Ontology Editor

  • Download Protége 3.4.7
    • http://protege.stanford.edu/download/registered.html
    • Download example in this slide:
    • http://www.tracingnetworks.ac.uk:443/wiki/index.php/File:Course.owl.zip

Try it?

http://protege.stanford.edu/