Presentation is loading. Please wait.

Presentation is loading. Please wait.

“Think Ontologically”

Similar presentations


Presentation on theme: "“Think Ontologically”"— Presentation transcript:

1 “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

2 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

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

4 How people structure data traditionally..

5 Traditional Relational Database approach Table values row Fields
Record Identified/linked by Primary/Foreign Keys

6 Create tables & columns Link tables(foreign keys)
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

7 Create tables & columns Link tables(foreign keys)
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

8 Create tables & columns Link tables(foreign keys)
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

9 Create tables & columns Link tables(foreign keys)
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

10 Create tables & columns Link tables(foreign keys)
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

11 Create tables & columns Link tables(foreign keys)
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

12 Example Scenario : Requirement:
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. * Every student has a unique student ID * Every staff has a unique staff ID

13 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

14 Think Ontologically

15 Ontology “An ontology is a formal specification of a conceptualization” Thomas Gruber

16 Relational Database vs Ontological Database
Schema (SQL) (table, field) Ontology (RDF/OWL) (class, property) Define Structure 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

17 Web Ontology Language No No Yes No Undefined OWA Vegetarian? Yi
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 Yi eats chicken tikka boiled rice potato salads tofu OWA Data No Vegetarian? Yi Alessandro Closed world assumption No Yes Alessandro eats pasta boiled rice potato salads hash browns Open world assumption No Undefined Question: Can vegetarian eat Tofu? Vegetarian: someone who does not eat meat.

18 “Think Ontologically”
Outside the box Ontology Class restrict Instance of Property Individual has value for Identified/linked by (URI) Uniform Resource Identifier

19 Identify domain concepts Organise classes into hierarchies
Class (Concept) “Think Ontologically” 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

20 Identify domain concepts Organise classes into hierarchies
Class (Concept) “Think Ontologically” 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

21 Describe Class with Description Logic
“Think Ontologically” Examples “Circular terracotta loom weight” “Excavation site” “Settlement” Description Logic

22 Identify domain concepts Organise classes into hierarchies
Individual “Think Ontologically” 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

23 Identify domain concepts Organise classes into hierarchies
Individual “Think Ontologically” 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

24 Identify domain concepts Organise classes into hierarchies
Individual “Think Ontologically” 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

25 Identify domain concepts Organise classes into hierarchies
Vessel(Bowl) Ceramic vessel wooden vessel Class Hierarchy “Think Ontologically” 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

26 Identify domain concepts Organise classes into hierarchies
Class Hierarchy “Think Ontologically” 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

27 Identify domain concepts Organise classes into hierarchies
Class Hierarchy “Think Ontologically” 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

28 University of Leicester
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 , not a class

29 Identify domain concepts Organise classes into hierarchies
Property “Think Ontologically” 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

30 Identify domain concepts Organise classes into hierarchies
Data Type Property “Think Ontologically” 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

31 Identify domain concepts Organise classes into hierarchies
Data Type Property “Think Ontologically” 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

32 Identify domain concepts Organise classes into hierarchies
Object Property “Think Ontologically” 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

33 Identify domain concepts Organise classes into hierarchies
Property “Think Ontologically” 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

34 Identify domain concepts Organise classes into hierarchies
Domain & Range “Think Ontologically” 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

35 Domain & Range “Think Ontologically” Range: Property Domain: owned by
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 domain range

36 Domain & Range “Think Ontologically” 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

37 Cardinality “Think Ontologically” Cardinality
cardinality specifies the occurances of a relationship A property can have: Exact cardinality Min cardinality Max cardinality has_CFS _Id exactly 1 Univ Staff has_child min 1 child Mother has_passenger Bus max 60

38 Inverse Property “Think Ontologically” Property (P1) owned by
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

39 Characteristics of a property
Data Type Property Transitive Property Property Symmetric Property Object Property Functional Property InverseFunctional Property …………

40 Characteristics of a property
Functional Property has husband Inverse Functional Property If John has a driving licence (No.) biologicalMotherOf

41 Characteristics of a property
Transitive Property is part of is part of EBA 1 Early Bronze Age Bronze Age 3300 – 3000 BC BC BC is part of Symmetric Property overlaps with Iron Age Roman period overlaps with

42 Many other properties ….

43 Identify domain concepts Organise classes into hierarchies
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

44 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

45 Triple Populating ontology Triple Graph
A set of triples become a graph An ontology-based database is a graph was destroyed by house fire

46 Example Scenario : Requirement:
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. * Every student has a unique student ID * Every staff has a unique staff ID

47 Ontological approach Identify concepts Student Course Lecturer

48 Ontological approach Organise classes into hierarchies Student
Lecturer Course

49 Making relationships explicit and clear
Organise classes into hierarchies Person Lecturer Student Course Enable reuse of domain knowledge

50 Ontological approach Enable reuse of domain knowledge
Can be taken from other ontology Ontological Approach Person Lecturer Student Course Enable reuse of domain knowledge

51 Ontological approach Add Data Type Property Ontological Approach Name
Staff ID Person Lecturer Student Student ID Course Course ID Add Data Type Property

52 Ontological approach Add Object Property Ontological Approach Name …
Staff ID Person Lecturer Student Student ID Course Course ID Add Object Property

53 Ontological approach Object Property Ontological Approach Name …
Staff ID Person Lecturer Student Student ID Course Course ID Object Property

54 Ontological approach Add ObjectProperty Object Property
Person Lecturer Student Course Object Property

55 Ontological approach Add ObjectProperty Object Property
Person Lecturer teaches Student Course Object Property

56 Ontological approach Add ObjectProperty Object Property
Person Lecturer teaches Student enrol in Course Object Property

57 Ontological approach Add ObjectProperty Object Property
Person Lecturer teaches Course enrol in Student Object Property

58 Ontological approach Add Inverse Property Object Property
Person Lecturer teaches is taught by Course has registered student enrol in Student Object Property

59 Ontological approach Specify cardinality Object Property
Person Lecturer teaches =1 is taught by =1 Course has registered student min. 3 max. 100 enrol in Student Object Property

60 Ontological approach Identify type of property Object Property
Person Lecturer teaches =1 (functional) is taught by (inverseFunctional) =1 Course has registered student min. 3 max. 100 enrol in Student Object Property

61 Ontological approach Done! Object Property Ontological Approach Person
Lecturer teaches =1 (functional) is taught by (inverseFunctional) =1 Course has registered student min. 3 max. 100 enrol in Student Object Property

62 Ontological approach Add triple Ontological Approach course C1
lecturer student L1 enrol in teaches Add triple

63 Ontological approach Add triple Ontological Approach course C1
lecturer teaches student L1 enrol in teaches Add triple

64 Ontological approach Add triple Ontological Approach enrol in S1
course C1 lecturer teaches student L1 enrol in teaches Add triple

65 Ontological approach Add triple Why use ontology? Ontological Approach
course C1 C2 S2 lecturer C3 S3 student C4 L1 enrol in C5 teaches L2 Add triple

66 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

67 Explore implicit relationship
course Deductive reasoning enrolled S1 lecturer if Student S enrolled 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

68 Classification Reasoning Class hierarchy course C2 C2 C2 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

69 Protégé Try it? Download Protége 3.4.7 Download example in this slide:
Ontology Editor Download Protége 3.4.7 Download example in this slide: Try it?


Download ppt "“Think Ontologically”"

Similar presentations


Ads by Google