Description Logics Logics and Ontologies Enrico Franconi franconi@cs.man.ac.uk http://www.cs.man.ac.uk/˜franconi Department of Computer Science, University of Manchester (1/38)
Summary • What is an ontology • Ontology languages • Formalising ontologies with set theory • Reasoning in ontologies • Formalising ontologies with first order logic • Integrity constraints • The i • com ontology design tool (2/38)
What is an Ontology • An ontology is a formal conceptualisation of the world. (3/38)
What is an Ontology • An ontology is a formal conceptualisation of the world. • An ontology specifies a set of constraints , which declare what should necessarily hold in any possible world. (3/38)
What is an Ontology • An ontology is a formal conceptualisation of the world. • An ontology specifies a set of constraints , which declare what should necessarily hold in any possible world. • Any possible world should conform to the constraints expressed by the ontology. (3/38)
What is an Ontology • An ontology is a formal conceptualisation of the world. • An ontology specifies a set of constraints , which declare what should necessarily hold in any possible world. • Any possible world should conform to the constraints expressed by the ontology. • Given an ontology, a legal world description is a possible world satisfying the constraints. (3/38)
Ontology languages • An ontology language usually introduces concepts (aka classes, entities), properties of concepts (aka slots, attributes, roles), relationships between concepts (aka associations), and additional constraints . (4/38)
Ontology languages • An ontology language usually introduces concepts (aka classes, entities), properties of concepts (aka slots, attributes, roles), relationships between concepts (aka associations), and additional constraints . • Ontology languages may be simple (e.g., having only concepts), frame-based (having only concepts and properties), or logic-based (e.g. Ontolingua and DAML+OIL). (4/38)
Ontology languages • An ontology language usually introduces concepts (aka classes, entities), properties of concepts (aka slots, attributes, roles), relationships between concepts (aka associations), and additional constraints . • Ontology languages may be simple (e.g., having only concepts), frame-based (having only concepts and properties), or logic-based (e.g. Ontolingua and DAML+OIL). • Ontology languages are typically expressed by means of diagrams. (4/38)
Ontology languages • An ontology language usually introduces concepts (aka classes, entities), properties of concepts (aka slots, attributes, roles), relationships between concepts (aka associations), and additional constraints . • Ontology languages may be simple (e.g., having only concepts), frame-based (having only concepts and properties), or logic-based (e.g. Ontolingua and DAML+OIL). • Ontology languages are typically expressed by means of diagrams. • The Entity-Relationship conceptual data model and UML Class Diagrams can be considered as ontology languages. (4/38)
Entity-Relationship Schema PaySlipNumber(Integer) Salary(Integer) Employee Works-for (1,n) ProjectCode(String) Manager Project × (1,1) (1,1) AreaManager TopManager Manages (5/38)
UML Class Diagram Employee Works-for PaySlipNumber:Integer Salary:Integer 1.. ⋆ Project Manager ProjectCode:String 1..1 { disjoint,complete } Manages AreaManager TopManager 1..1 (6/38)
Meaning of basic constructs • An entity/class is a set of instances ; • an association (n-ary relationship) is a set of pairs (n-tuples) of instances ; • an attribute is a set of pairs of an instance and a domain element . E 1 “P12a” P 1 E 2 “P02b” E 3 P 2 “P2a/1” E 4 P 3 E 5 “P9” Employee Project String ProjectCode Works-for (7/38)
A world is described by sets of instances E 1 � E 1 ,P 1 � P 1 � E 2 ,P 1 � E 2 � E 2 ,P 2 � � E 2 ,P 3 � E 3 P 2 � E 3 ,P 1 � � E 4 ,P 2 � E 4 � E 4 ,P 3 � P 3 � E 5 ,P 3 � E 5 Employee Project Works-for (8/38)
The relational representation Employee Project String employeeId projectId anystring E 1 P 1 “P12a” E 2 P 2 “P02b” E 3 P 3 “P2a/1” E 4 “P9” · · · E 5 Works-for ProjectCode employeeId projectId projectId pcode E 1 P 1 P 1 “P12a” E 2 P 1 P 2 “P02b” E 2 P 2 P 3 “P2a/1” E 2 P 3 E 3 P 1 E 4 P 2 E 4 P 3 E 5 P 3 (9/38)
Meaning of Attributes ProjectCode(String) Project (10/38)
Meaning of Attributes ProjectCode(String) Project Project ⊆ { p | ♯ ( ProjectCode ∩ ( { p } × String )) ≥ 1 } (10/38)
Meaning of ISA Employee Manager (11/38)
Meaning of ISA Employee Manager Manager ⊆ Employee (11/38)
Meaning of disjoint and total constraints Manager × TopManager AreaManager (12/38)
Meaning of disjoint and total constraints Manager × TopManager AreaManager • ISA: AreaManager ⊆ Manager • ISA: TopManager ⊆ Manager • disjoint: AreaManager ∩ TopManager = ∅ • total Manager ⊆ AreaManager ∪ TopManager (12/38)
Meaning of Associations and Relationships Employee Project Works-for (13/38)
Meaning of Associations and Relationships Employee Project Works-for Works-for ⊆ Employee × Project (13/38)
Meaning of Associations and Relationships Employee Project Works-for A1 A2 Works-for ⊆ Employee × Project (13/38)
Meaning of Cardinality Constraints (min,max) TopManager Project Manages (14/38)
Meaning of Cardinality Constraints (min,max) TopManager Project Manages TopManager ⊆ { m | max ≥ ♯ ( Manages ∩ ( { m } × Ω)) ≥ min } (where Ω is the set of all instances) (14/38)
Meaning of Cardinality Constraints (min,max) TopManager Project Manages A1 A2 TopManager ⊆ { m | max ≥ ♯ ( Manages ∩ ( { m } × Ω)) ≥ min } (where Ω is the set of all instances) (14/38)
Meaning of the initial diagram Works-for ⊆ Employee × Project Manages ⊆ TopManager × Project Employee ⊆ { e | ♯ ( PaySlipNumber ∩ ( { e } × Integer )) ≥ 1 } Employee ⊆ { e | ♯ ( Salary ∩ ( { e } × Integer )) ≥ 1 } Project ⊆ { p | ♯ ( ProjectCode ∩ ( { p } × String )) ≥ 1 } TopManager ⊆ { m | 1 ≥ ♯ ( Manages ∩ ( { m } × Ω)) ≥ 1 } Project ⊆ { p | 1 ≥ ♯ ( Manages ∩ (Ω × { p } )) ≥ 1 } Project ⊆ { p | ♯ ( Works-for ∩ (Ω × { p } )) ≥ 1 } Manager ⊆ Employee AreaManager ⊆ Manager TopManager ⊆ Manager AreaManager ∩ TopManager = ∅ Manager ⊆ AreaManager ∪ TopManager (15/38)
Reasoning Given an ontology – seen as a collection of constraints – it is possible that additional constraints can be inferred. • An entity is inconsistent if it denotes always the empty set. • An entity is a sub-entity of another entity if the former denotes a subset of the set denoted by the latter. • Two entities are equivalent if they denote the same set. • . . . (16/38)
Reasoning Person × English Italian × Lazy Hooligan LatinLover Gentleman (17/38)
Reasoning Person × English Italian × Lazy Hooligan LatinLover Gentleman implies LatinLover = ∅ Italian ⊆ Lazy Italian ≡ Lazy (17/38)
Reasoning by cases Italian × Lazy Mafioso LatinLover ItalianProf { disjoint } (18/38)
Reasoning by cases Italian × Lazy Mafioso LatinLover ItalianProf { disjoint } implies ItalianProf ⊆ LatinLover (18/38)
ISA and Inheritance Salary(Integer) Employee Manager (19/38)
ISA and Inheritance Salary(Integer) Employee Salary(Integer) Manager implies Manager ⊆ { m | ♯ ( Salary ∩ ( { m } × Integer )) ≥ 1 } (19/38)
Infinite worlds (2,2) Root link Node (0,1) (20/38)
Infinite worlds (2,2) Root link Node (0,1) implies “the classes Root and Node contain an infinite number of instances”. (20/38)
Ontologies in First Order Logic • We have introduced ontology languages that specify a set of constraints that should be satisfied by the world of interest. • The interpretation of an ontology is therefore defined as the collection of all the legal world descriptions – i.e., all the (finite) relational structures which conform to the constraints imposed by the ontology. • In order to formally define the interpretation, an ontology is mapped into a set of First Order Logic (FOL) formulas. • The legal world descriptions (i.e., the interpretation) of an ontology are all the models of the translated FOL theory. (21/38)
FOL alphabet The Alphabet of the FOL language will have the following set of Predicate symbols: • 1-ary predicate symbols: E 1 , E 2 , . . . , E n for each Entity-set; D 1 , D 2 , . . . , D m for each Basic Domain. • binary predicate symbols: A 1 , A 2 , . . . , A k for each Attribute. • n-ary predicate symbols: R 1 , R 2 , . . . , R p for each Relationship-set. (22/38)
Recommend
More recommend