Introduction to Ontology Sudarsun S Director – Research Checktronix India Chennai 600010
What is Ontology ? <ul><ul><li>A philosophical discipline — a branch of philosophy that  </li></ul></ul><ul><ul><li>deals ...
Ontology in Computers <ul><li>An ontology is an engineering artifact consisting of:  </li></ul><ul><ul><li>A  vocabulary  ...
Example <ul><li>Vocabulary and meaning (“definitions”) </li></ul><ul><ul><li>Elephant  is a concept whose members are a ki...
Example Ontology ( Protégé )
What ?? Catalog/ID General Logical constraints Terms/glossary Thesauri “ narrower term” relation Formal is-a Frames (prope...
 
Why Ontology ? <ul><li>To share common understanding of the structure of information among people or software agents </li>...
Few Applications <ul><li>e-Science , e.g., Bioinformatics </li></ul><ul><ul><li>The Gene Ontology (GO) </li></ul></ul><ul>...
Importance towards E-Commerce <ul><li>Taxonomies provide : </li></ul><ul><ul><li>Controlled shared vocabulary  (search eng...
Importance towards E-Commerce <ul><li>Consistency Checking </li></ul><ul><li>Completion </li></ul><ul><li>Interoperability...
Observations <ul><li>Simple ontologies can be built by  non-experts </li></ul><ul><ul><li>Verity’s Topic Editor, Collabora...
Implications & Need <ul><li>Ontology Language Syntax and Semantics (DAML+OIL) </li></ul><ul><li>Environments for Creation ...
Issues <ul><ul><li>Collaboration  among distributed teams </li></ul></ul><ul><ul><li>Interconnectivity  with many systems ...
Chimaera <ul><li>An interactive web-based tool aimed at supporting: </li></ul><ul><ul><li>Ontology analysis  (correctness,...
Building Ontology <ul><li>Define classes </li></ul><ul><li>Arrange in Taxonomic hierarchy  </li></ul><ul><ul><li>sub-class...
Thumb-Rules <ul><li>There is  no one correct  way to model a domain. </li></ul><ul><li>There are always  viable alternativ...
Step 1: Domain & Scope <ul><li>What is the domain of interest ? </li></ul><ul><li>What is the purpose of this Ontology ? <...
Step 2: Re-Use Existing Ontology <ul><li>If they exist, Sure.. </li></ul><ul><li>Problems in merging Ontologies ? </li></u...
Step 3: Enumerate Terms <ul><li>What are the terms ? </li></ul><ul><li>What are their properties ? </li></ul><ul><li>What ...
Step 4: Define Classes & Hierarchy <ul><li>Top-Down Approach </li></ul><ul><li>Bottom-Up Approach </li></ul><ul><li>Mixed ...
Step 5: Properties of Classes - Slots <ul><li>Intrinsic property as softness of silk </li></ul><ul><li>Extrinsic property ...
Step 6: Define Slots <ul><li>Slot Cardinality </li></ul><ul><ul><li>Define how many slot a class can have ? </li></ul></ul...
Step 7: Create Instances <ul><li>Color: Black </li></ul><ul><li>Power: 18 BHP </li></ul><ul><li>Speed: 2.8 Ghz </li></ul><...
Consistency Checks ?? <ul><li>Ensure Class hierarchy correctness </li></ul><ul><ul><li>All siblings at a same level in the...
Consistency Checks ?? <ul><li>When do you introduce a new class ? </li></ul><ul><ul><li>Subclass of a class usually </li><...
Limiting the Scope <ul><li>Need not contain all possible information about the domain.  </li></ul><ul><li>Need not general...
Ontology Merging/Alignment <ul><li>What is needed </li></ul><ul><li>Help  and  guidance  in the process </li></ul><ul><li>...
Mapping, Merging, Alignment car vehicle car vehicle vehicle car
Approaches <ul><li>Conflict resolution after merging </li></ul><ul><ul><li>direct results </li></ul></ul><ul><ul><li>can b...
SMART Algorithm Setup:   load files, set preferences, ... Execute operation:   perform automatic updates,    detect confli...
Example: Merge Classes Class City name :  String population :  Integer area :  Float Class Town name:   String populace:  ...
Merge Classes (contd..) <ul><li>Suggestions: </li></ul><ul><ul><li>Increase priority for current suggestions with referenc...
Suggestions (contd..) <ul><li>Suggestions based on structural indications: </li></ul><ul><ul><li>remove superclasses </li>...
Source – Car Rental
Source – Airline Reservation
 
Features <ul><li>Feedback  to the user </li></ul><ul><ul><li>explanations </li></ul></ul><ul><ul><li>solutions for conflic...
Ontology Languages - RDF <ul><li>RDF  stands for  R esource  D escription  F ramework </li></ul><ul><li>It is a W3C candid...
RDF Syntax -- Triples _:xxx _:yyy « plain littéral » « lexical »^^data type Subject Property Object ex: Subject ex: Proper...
RDF Syntax -- Graph _:xxx « Palani Ramasamy » ex:name ex:Person rdf:type « University of Madras » ex:Organisation ex:name ...
RDFS <ul><li>RDFS vocabulary adds constraints on models, e.g.: </li></ul><ul><ul><li>8   x,y,z  type (x,y) Λ  subClassOf (...
Problems with RDFS <ul><li>RDFS  too weak  to describe resources in sufficient detail </li></ul><ul><ul><li>No  localised ...
Axiomatisation <ul><li>An Axiomatisation can be used to embed RDFS in FOL, e.g.: </li></ul><ul><ul><li>Triple  x   P   y  ...
RDF to OWL <ul><li>Two languages developed by extending (part of) RDF </li></ul><ul><ul><li>OIL : Ontology Inference Layer...
Description Logics <ul><li>A family of logic based Knowledge Representation formalisms </li></ul><ul><ul><li>Descendants o...
DL Basics <ul><li>Concept  names are equivalent to unary predicates </li></ul><ul><ul><li>In general, concepts equivalent ...
DL System Architecture Knowledge Base Tbox (schema) Abox (data) Inference System Interface Man  ´  Human  u  Male Happy-Fa...
DL Family <ul><li>Smallest proposition closed DL is  ALC   </li></ul><ul><ul><li>ALC: Attribute Language with Complement <...
DL Family <ul><li>S  often used for  ALC  with transitive roles ( R + ) </li></ul><ul><li>Additional letters  indicate oth...
DL Knowledge Base <ul><li>A  TBox  is a set of “schema” axioms (sentences), e.g.: </li></ul><ul><ul><li>{Doctor  v  Person...
<ul><li>E.g., KB:  </li></ul><ul><li>{ HappyParent   ´   Person  u   8 hasChild.(Doctor  t 9 hasChild.Doctor), </li></ul><...
OWL <ul><li>Three species of OWL </li></ul><ul><ul><li>OWL full  is union of OWL syntax and RDF </li></ul></ul><ul><ul><li...
OWL constructors <ul><li>XMLS  datatypes  as well as classes in  8 P.C and  9 P.C </li></ul><ul><ul><li>E.g.,  9 hasAge.no...
RDFS Syntax <ul><li>E.g., Person  u   8 hasChild.(Doctor  t 9 hasChild.Doctor): </li></ul><ul><li><owl:Class> </li></ul><u...
OWL Abstract Syntax <ul><li>E.g.,  Person  u   8 hasChild.(Doctor  t 9 hasChild.Doctor) </li></ul><ul><li>intersectionOf( ...
OWL Axioms <ul><li>Axioms (mostly) reducible to inclusion ( v ) </li></ul><ul><ul><li>C   ´   D   iff  both  C   v   D  an...
References <ul><li>http://www.ksl.stanford.edu/people/dlm/papers/ontologies-come-of-age-abstract.html </li></ul><ul><li>ht...
Thanks <ul><li>Feel free to contact me at </li></ul><ul><li>[email_address] </li></ul><ul><li>Checktronix India Pvt Ltd, <...
Upcoming SlideShare
Loading in...5
×

Ontology

7,479

Published on

Introduction to Ontology

Published in: Technology, Education
0 Comments
17 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,479
On Slideshare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
789
Comments
0
Likes
17
Embeds 0
No embeds

No notes for slide

Ontology

  1. 1. Introduction to Ontology Sudarsun S Director – Research Checktronix India Chennai 600010
  2. 2. What is Ontology ? <ul><ul><li>A philosophical discipline — a branch of philosophy that </li></ul></ul><ul><ul><li>deals with the nature and the organisation of reality </li></ul></ul><ul><li>Science of Being (Aristotle, Metaphysics, IV, 1) </li></ul><ul><li>Tries to answer the questions: </li></ul><ul><ul><li>What characterizes being? </li></ul></ul><ul><ul><li>Eventually, what is being? </li></ul></ul><ul><li>How should things be classified? </li></ul>
  3. 3. Ontology in Computers <ul><li>An ontology is an engineering artifact consisting of: </li></ul><ul><ul><li>A vocabulary used to describe (a particular view of) some domain </li></ul></ul><ul><ul><li>An explicit specification of the intended meaning of the vocabulary. </li></ul></ul><ul><ul><ul><li>almost always includes how concepts should be classified </li></ul></ul></ul><ul><ul><li>Constraints capturing additional knowledge about the domain </li></ul></ul><ul><li>Ideally, an ontology should: </li></ul><ul><ul><li>Capture a shared understanding of a domain of interest </li></ul></ul><ul><ul><li>Provide a formal and machine manipulable model of the domain </li></ul></ul>
  4. 4. Example <ul><li>Vocabulary and meaning (“definitions”) </li></ul><ul><ul><li>Elephant is a concept whose members are a kind of animal </li></ul></ul><ul><ul><li>Herbivore is a concept whose members are exactly those animals who eat only plants or parts of plants </li></ul></ul><ul><ul><li>Adult_Elephant is a concept whose members are exactly those elephants whose age is greater than 20 years </li></ul></ul><ul><li>Background knowledge/constraints on the domain (“general axioms”) </li></ul><ul><ul><li>Adult_Elephant s weigh at least 2,000 kg </li></ul></ul><ul><ul><li>All Elephant s are either African_Elephant s or Indian_Elephant s </li></ul></ul><ul><ul><li>No individual can be both a Herbivore and a Carnivore </li></ul></ul>
  5. 5. Example Ontology ( Protégé )
  6. 6. What ?? Catalog/ID General Logical constraints Terms/glossary Thesauri “ narrower term” relation Formal is-a Frames (properties) Informal is-a Formal instance Value Restrictions Disjointness, Inverse, part-of
  7. 8. Why Ontology ? <ul><li>To share common understanding of the structure of information among people or software agents </li></ul><ul><li>To enable reuse of domain knowledge </li></ul><ul><li>To make domain assumptions explicit </li></ul><ul><li>To separate domain knowledge from the operational knowledge </li></ul><ul><li>To analyze domain knowledge </li></ul>
  8. 9. Few Applications <ul><li>e-Science , e.g., Bioinformatics </li></ul><ul><ul><li>The Gene Ontology (GO) </li></ul></ul><ul><ul><li>The Protein Ontology (MGED) </li></ul></ul><ul><li>Databases </li></ul><ul><ul><li>Schema design and integration </li></ul></ul><ul><ul><li>Query optimisation </li></ul></ul><ul><li>User interfaces </li></ul><ul><li>The Semantic Web & so-called Semantic Grid </li></ul>
  9. 10. Importance towards E-Commerce <ul><li>Taxonomies provide : </li></ul><ul><ul><li>Controlled shared vocabulary (search engines, authors, users, databases, programs/agents all speak same language) </li></ul></ul><ul><ul><li>Site Organization and Navigation Support </li></ul></ul><ul><ul><li>Expectation setting (left side of many web pages) </li></ul></ul><ul><ul><li>“ Umbrella” Upper Level Structures (for extension) </li></ul></ul><ul><ul><li>Browsing support (tagged structures such as Yahoo!) </li></ul></ul><ul><ul><li>Sense disambiguation </li></ul></ul>
  10. 11. Importance towards E-Commerce <ul><li>Consistency Checking </li></ul><ul><li>Completion </li></ul><ul><li>Interoperability Support </li></ul><ul><li>Configuration support </li></ul><ul><li>Structured, Comparative customized search </li></ul><ul><li>Generalization/ Specialization </li></ul>
  11. 12. Observations <ul><li>Simple ontologies can be built by non-experts </li></ul><ul><ul><li>Verity’s Topic Editor, Collaborative Topic Builder, GFP, Chimaeras, Protégé , OIL-ED, etc. </li></ul></ul><ul><li>Ontologies can be semi-automatically generated </li></ul><ul><ul><li>from crawls of site such as yahoo!, Amazon, excite, etc. </li></ul></ul><ul><ul><li>Semi-structured sites can provide starting points </li></ul></ul><ul><li>Ontologies are exploding( business pull instead of technology push ) </li></ul><ul><ul><li>most e-commerce sites are using - Amazon, Yahoo! Shopping </li></ul></ul><ul><ul><li>Expanding Business interest </li></ul></ul><ul><ul><li>Markup Languages growing XML, RDF, DAML, RuleML, xxML </li></ul></ul><ul><ul><li>“ Real” ontologies are becoming more central to applications </li></ul></ul>
  12. 13. Implications & Need <ul><li>Ontology Language Syntax and Semantics (DAML+OIL) </li></ul><ul><li>Environments for Creation and Maintenance of Ontologies </li></ul><ul><li>Training (Conceptual Modeling, reasoning implications, …) </li></ul>
  13. 14. Issues <ul><ul><li>Collaboration among distributed teams </li></ul></ul><ul><ul><li>Interconnectivity with many systems / standards </li></ul></ul><ul><ul><li>Analysis and diagnosis </li></ul></ul><ul><ul><li>Scale </li></ul></ul><ul><ul><li>Versioning </li></ul></ul><ul><ul><li>Security </li></ul></ul><ul><ul><li>Ease of use </li></ul></ul><ul><ul><li>Diverse training levels /user support </li></ul></ul><ul><ul><li>Presentation style </li></ul></ul><ul><ul><li>Lifecycle </li></ul></ul><ul><ul><li>Extensibility </li></ul></ul>
  14. 15. Chimaera <ul><li>An interactive web-based tool aimed at supporting: </li></ul><ul><ul><li>Ontology analysis (correctness, completeness, style, …) </li></ul></ul><ul><ul><li>Merging of ontological terms from varied sources </li></ul></ul><ul><ul><li>Maintaining ontologies over time </li></ul></ul><ul><ul><li>Validation of input </li></ul></ul><ul><li>Features: multiple I/O languages, loading and merging into multiple namespaces, collaborative distributed environment support, integrated browsing/editing environment, extensible diagnostic rule language </li></ul><ul><li>Used in commercial and academic environments </li></ul><ul><li>Information: www.ksl.stanford.edu/software/chimaera </li></ul>
  15. 16. Building Ontology <ul><li>Define classes </li></ul><ul><li>Arrange in Taxonomic hierarchy </li></ul><ul><ul><li>sub-class/super-class model </li></ul></ul><ul><li>Define slots and Describe allowed values for these slots </li></ul><ul><li>Fill values for slots for instances </li></ul>
  16. 17. Thumb-Rules <ul><li>There is no one correct way to model a domain. </li></ul><ul><li>There are always viable alternatives </li></ul><ul><li>Best solution depends on Applications and Extensions </li></ul><ul><li>Iterative Process </li></ul><ul><li>Concepts in Ontology close to objects (physical/logical) and relationships in the domain of interest </li></ul><ul><ul><li>Objects are generally nouns </li></ul></ul><ul><ul><li>Relationships are generally verbs in a sentence </li></ul></ul>
  17. 18. Step 1: Domain & Scope <ul><li>What is the domain of interest ? </li></ul><ul><li>What is the purpose of this Ontology ? </li></ul><ul><li>What are the expected type of questions ? </li></ul><ul><li>Who would maintain the Ontology ? </li></ul><ul><li>Example Questions: </li></ul><ul><ul><li>What are the available bikes above 12 BHP ? </li></ul></ul><ul><ul><li>What the characteristics of Silk Saree ? </li></ul></ul><ul><ul><li>Is there a Quad core Intel Processor ? </li></ul></ul><ul><ul><li>What are the features of a Onida Poison 21 TV ? </li></ul></ul>
  18. 19. Step 2: Re-Use Existing Ontology <ul><li>If they exist, Sure.. </li></ul><ul><li>Problems in merging Ontologies ? </li></ul><ul><ul><li>Format Conflicts </li></ul></ul><ul><ul><li>Same concept, different representation </li></ul></ul>
  19. 20. Step 3: Enumerate Terms <ul><li>What are the terms ? </li></ul><ul><li>What are their properties ? </li></ul><ul><li>What are their relationships ? </li></ul><ul><li>Examples: </li></ul><ul><ul><li>Bikes, Sarees, TV, Computer </li></ul></ul><ul><ul><li>Bike’s power, mileage, cost, maker, color </li></ul></ul><ul><ul><li>Saree’s cost, color, designs, art-works </li></ul></ul><ul><ul><li>Components of Computers </li></ul></ul>
  20. 21. Step 4: Define Classes & Hierarchy <ul><li>Top-Down Approach </li></ul><ul><li>Bottom-Up Approach </li></ul><ul><li>Mixed </li></ul><ul><li>Object Oriented Programming Analogy </li></ul><ul><li>What do we get ? </li></ul><ul><ul><li>Hierarchical arrangement of concepts </li></ul></ul><ul><ul><li>If class P is a super-class of class Q, every instance of B is an instance of P. </li></ul></ul><ul><ul><li>Implication: class Q represents a “kind-of” P. </li></ul></ul>
  21. 22. Step 5: Properties of Classes - Slots <ul><li>Intrinsic property as softness of silk </li></ul><ul><li>Extrinsic property as bike’s model name </li></ul><ul><li>Parts, if the object is structured; these can be physical and abstract parts </li></ul><ul><ul><li>Ex: components of a computer </li></ul></ul><ul><ul><li>Ex: components of a mid-day meal </li></ul></ul><ul><li>Relationships between member of a class </li></ul><ul><ul><li>Ex: weaver of a saree, representing a relationship between silk saree and the place of produce </li></ul></ul>
  22. 23. Step 6: Define Slots <ul><li>Slot Cardinality </li></ul><ul><ul><li>Define how many slot a class can have ? </li></ul></ul><ul><li>Slot Value Type </li></ul><ul><ul><li>What are the values that can be filled ? </li></ul></ul><ul><ul><li>Common types: </li></ul></ul><ul><ul><ul><li>String </li></ul></ul></ul><ul><ul><ul><li>Number </li></ul></ul></ul><ul><ul><ul><li>Boolean </li></ul></ul></ul><ul><ul><ul><li>Enumeration </li></ul></ul></ul>
  23. 24. Step 7: Create Instances <ul><li>Color: Black </li></ul><ul><li>Power: 18 BHP </li></ul><ul><li>Speed: 2.8 Ghz </li></ul><ul><li>Maker: Intel </li></ul><ul><li>Border: Silver Lining </li></ul><ul><li>Cost: 15000 Rs </li></ul><ul><li>Features: Dual Side, Multi-Color </li></ul>
  24. 25. Consistency Checks ?? <ul><li>Ensure Class hierarchy correctness </li></ul><ul><ul><li>All siblings at a same level in the tree should have same level of generality </li></ul></ul><ul><ul><li>Synonyms of classes are NOT different classes </li></ul></ul><ul><ul><li>Check the “is-a”, “kind-of” relationships </li></ul></ul><ul><ul><li>How many is too many & how few is too few ? </li></ul></ul><ul><li>Multiple Inheritance </li></ul>
  25. 26. Consistency Checks ?? <ul><li>When do you introduce a new class ? </li></ul><ul><ul><li>Subclass of a class usually </li></ul></ul><ul><ul><ul><li>Have additional properties that the super-class does not have. </li></ul></ul></ul><ul><ul><ul><li>Have restrictions different from the super-class </li></ul></ul></ul><ul><li>A new class or a new property-value ? </li></ul><ul><ul><li>Class “Black Bike” or simply property of class “Bike” that takes value “Black” ? </li></ul></ul><ul><li>An Instance or a Class ? </li></ul><ul><ul><li>Individual Instances are the most specific concepts represented in a Knowledge base. </li></ul></ul>
  26. 27. Limiting the Scope <ul><li>Need not contain all possible information about the domain. </li></ul><ul><li>Need not generalize or specialize more than what your application needs. </li></ul><ul><li>Need not contain all possible properties of and distinctions among classes in the hierarchy. </li></ul>
  27. 28. Ontology Merging/Alignment <ul><li>What is needed </li></ul><ul><li>Help and guidance in the process </li></ul><ul><li>Specialized tools for ontology merging and alignment </li></ul><ul><li>What is needed (but not yet feasible) </li></ul><ul><li>Fully automatic merging and alignment tool </li></ul>
  28. 29. Mapping, Merging, Alignment car vehicle car vehicle vehicle car
  29. 30. Approaches <ul><li>Conflict resolution after merging </li></ul><ul><ul><li>direct results </li></ul></ul><ul><ul><li>can be overwhelming </li></ul></ul><ul><ul><li>hard to repeat </li></ul></ul><ul><li>Morphing before merging </li></ul><ul><ul><li>process can be repeated </li></ul></ul><ul><ul><li>no direct results </li></ul></ul><ul><li>Direct manipulation tools </li></ul><ul><ul><li>can manipulate the result directly </li></ul></ul><ul><ul><li>harder to repeat, but still possible </li></ul></ul>
  30. 31. SMART Algorithm Setup: load files, set preferences, ... Execute operation: perform automatic updates, detect conflicts, create suggestions Select operation: choose from suggestion list, create a new operation, …. Initial suggestions: identical names, synonyms, superclasses for top-level classes in alignment
  31. 32. Example: Merge Classes Class City name : String population : Integer area : Float Class Town name: String populace: Integer area: Area Class Location Class Geographic-Location subclass subclass <ul><li>Automatic updates: </li></ul><ul><ul><li>Creating the new frame </li></ul></ul><ul><ul><li>Updating of references </li></ul></ul><ul><ul><li>Merging of attached slots with identical names </li></ul></ul><ul><li>Conflicts: </li></ul><ul><ul><li>Duplicate frame names </li></ul></ul><ul><ul><li>Merging of attached slots with identical names but different facets (valuetypes) </li></ul></ul>
  32. 33. Merge Classes (contd..) <ul><li>Suggestions: </li></ul><ul><ul><li>Increase priority for current suggestions with referenced frames </li></ul></ul><ul><li>Suggestions : </li></ul><ul><ul><li>Increase priority for merging operations that involve frames in the same role, such as superclasses, subclasses, facet values </li></ul></ul>Class City name: String population: Integer area: Float Class Town name: String populace: Integer area: Area Class Location Class Geographic-Location subclass subclass
  33. 34. Suggestions (contd..) <ul><li>Suggestions based on structural indications: </li></ul><ul><ul><li>remove superclasses </li></ul></ul><ul><ul><li>remove subclasses </li></ul></ul>Class Customer Class Travel agent Class Individual Class Driver Class Driver
  34. 35. Source – Car Rental
  35. 36. Source – Airline Reservation
  36. 38. Features <ul><li>Feedback to the user </li></ul><ul><ul><li>explanations </li></ul></ul><ul><ul><li>solutions for conflicts </li></ul></ul><ul><li>Maintaining focus </li></ul><ul><ul><li>re-ordering of suggestions </li></ul></ul><ul><ul><li>creating temporary frames to defer conflict resolution </li></ul></ul><ul><li>Tracking relations </li></ul><ul><ul><li>preserving reference relations </li></ul></ul><ul><ul><li>preserving mapping information </li></ul></ul>
  37. 39. Ontology Languages - RDF <ul><li>RDF stands for R esource D escription F ramework </li></ul><ul><li>It is a W3C candidate recommendation (http://www.w3.org/RDF) </li></ul><ul><li>RDF is graphical formalism (+XML syntax+ semantics) </li></ul><ul><ul><li>for representing metadata </li></ul></ul><ul><ul><li>for describing the semantics of information in a machine- accessible way </li></ul></ul><ul><li>RDFS extends RDF with “ schema vocabulary ”, e.g.: </li></ul><ul><ul><li>Class, Property </li></ul></ul><ul><ul><li>type, subClassOf, subPropertyOf </li></ul></ul><ul><ul><li>range, domain </li></ul></ul>
  38. 40. RDF Syntax -- Triples _:xxx _:yyy « plain littéral » « lexical »^^data type Subject Property Object ex: Subject ex: Property ex: Object
  39. 41. RDF Syntax -- Graph _:xxx « Palani Ramasamy » ex:name ex:Person rdf:type « University of Madras » ex:Organisation ex:name rdf:type _:yyy ex:member-of
  40. 42. RDFS <ul><li>RDFS vocabulary adds constraints on models, e.g.: </li></ul><ul><ul><li>8 x,y,z type (x,y) Λ subClassOf (y,z)  type (x,z) </li></ul></ul>ex:Person rdf:type ex:John ex:Animal rdfs:subClassOf ex:Person ex:Animal rdf:type
  41. 43. Problems with RDFS <ul><li>RDFS too weak to describe resources in sufficient detail </li></ul><ul><ul><li>No localised range and domain constraints </li></ul></ul><ul><ul><ul><li>Can’t say that the range of hasChild is person when applied to persons and elephant when applied to elephants </li></ul></ul></ul><ul><ul><li>No existence/cardinality constraints </li></ul></ul><ul><ul><ul><li>Can’t say that all instances of person have a mother that is also a person, or that persons have exactly 2 parents </li></ul></ul></ul><ul><ul><li>No transitive, inverse or symmetrical properties </li></ul></ul><ul><ul><ul><li>Can’t say that isPartOf is a transitive property, that hasPart is the inverse of isPartOf or that touches is symmetrical </li></ul></ul></ul><ul><li>Difficult to provide reasoning support </li></ul><ul><ul><li>No “native” reasoners for non-standard semantics </li></ul></ul><ul><ul><li>May be possible to reason via FO axiomatisation </li></ul></ul>
  42. 44. Axiomatisation <ul><li>An Axiomatisation can be used to embed RDFS in FOL, e.g.: </li></ul><ul><ul><li>Triple x P y translated as holds2 ( P , x , y ) </li></ul></ul><ul><ul><li>Axioms capture semantics of language </li></ul></ul><ul><ul><li>8 x,y,z holds2(type,x,y) Λ holds2(subClassOf,y,z)  holds2(type,x,z) </li></ul></ul><ul><li>Problems with axiomatisations include </li></ul><ul><ul><li>May require large and complex set of axioms </li></ul></ul><ul><ul><li>Difficult to prove semantics have been correctly captured </li></ul></ul><ul><ul><li>Axiomatisation may greatly increase computational complexity </li></ul></ul><ul><ul><ul><li>RDFS ! undecidable (subset of) FOL </li></ul></ul></ul><ul><ul><li>No interoperability unless all languages similarly axiomatised </li></ul></ul><ul><ul><ul><li>E.g., C subClassOf D equivalent to 8 x . C ( x )  D ( x ) </li></ul></ul></ul><ul><ul><ul><li>But have to axiomatise as holds2 ( subClass , C , D ) </li></ul></ul></ul>
  43. 45. RDF to OWL <ul><li>Two languages developed by extending (part of) RDF </li></ul><ul><ul><li>OIL : Ontology Inference Layer </li></ul></ul><ul><ul><li>DAML-ONT : DARPA Agent Markup Language </li></ul></ul><ul><li>Efforts merged to produce DAML+OIL </li></ul><ul><ul><li>Extends (“DL subset” of) RDF </li></ul></ul><ul><li>DAML+OIL submitted to W3C as basis for standardisation </li></ul><ul><ul><li>Web-Ontology ( WebOnt ) Working Group formed </li></ul></ul><ul><ul><li>WebOnt group developed OWL language based on DAML+OIL </li></ul></ul><ul><ul><li>OWL language now a W3C Proposed Recommendation </li></ul></ul>
  44. 46. Description Logics <ul><li>A family of logic based Knowledge Representation formalisms </li></ul><ul><ul><li>Descendants of semantic networks and KL-ONE </li></ul></ul><ul><ul><li>Describe domain in terms of concepts (classes), roles (properties, relationships) and individuals </li></ul></ul><ul><li>Distinguished by: </li></ul><ul><ul><li>Formal semantics (typically model theoretic) </li></ul></ul><ul><ul><ul><li>Decidable fragments of FOL </li></ul></ul></ul><ul><ul><ul><li>Closely related to Prepositional Modal & Dynamic Logics </li></ul></ul></ul><ul><ul><li>Provision of inference services </li></ul></ul><ul><ul><ul><li>Decision procedures for key problems (satisfiability, subsumption, etc) </li></ul></ul></ul><ul><ul><ul><li>Implemented systems (highly optimized) </li></ul></ul></ul>
  45. 47. DL Basics <ul><li>Concept names are equivalent to unary predicates </li></ul><ul><ul><li>In general, concepts equivalent to formulae with one free variable </li></ul></ul><ul><li>Role names are equivalent to binary predicates </li></ul><ul><ul><li>In general, roles equivalent to formulae with two free variables </li></ul></ul><ul><li>Individual names are equivalent to constants </li></ul><ul><li>Operators restricted so that: </li></ul><ul><ul><li>Language is decidable and, if possible, of low complexity </li></ul></ul><ul><ul><li>No need for explicit use of variables </li></ul></ul><ul><ul><ul><li>Restricted form of 8 and 9 (direct correspondence with ◊ and []) </li></ul></ul></ul><ul><ul><li>Features such as counting can be succinctly expressed </li></ul></ul>
  46. 48. DL System Architecture Knowledge Base Tbox (schema) Abox (data) Inference System Interface Man ´ Human u Male Happy-Father ´ Man u 9 has-child Female u … Jagan : Happy-Father < Jagan, Mythili> : has-child Jagan: 6 1 has-child
  47. 49. DL Family <ul><li>Smallest proposition closed DL is ALC </li></ul><ul><ul><li>ALC: Attribute Language with Complement </li></ul></ul><ul><ul><li>Concepts constructed using booleans </li></ul></ul><ul><ul><li> u , t , : , </li></ul></ul><ul><ul><li>plus restricted quantifiers </li></ul></ul><ul><ul><li> 9 , 8 </li></ul></ul><ul><ul><li>Only atomic roles </li></ul></ul><ul><li>E.g., Person all of whose children are either Doctors or have a child who is a Doctor: </li></ul><ul><li>Person u 8 hasChild.(Doctor t 9 hasChild.Doctor) </li></ul>
  48. 50. DL Family <ul><li>S often used for ALC with transitive roles ( R + ) </li></ul><ul><li>Additional letters indicate other extensions, e.g.: </li></ul><ul><ul><li>H for role hierarchy (e.g., hasDaughter v hasChild) </li></ul></ul><ul><ul><li>O for nominal/singleton classes (e.g., {TVMalai}) </li></ul></ul><ul><ul><li>I for inverse roles (e.g., isChildOf ´ hasChild – ) </li></ul></ul><ul><ul><li>N for number restrictions (e.g., > 2 hasChild, 6 3 hasChild) </li></ul></ul><ul><ul><li>Q for qualified number restrictions (eg: > 2 hasChild.Doctor) </li></ul></ul><ul><ul><li>F for functional number restrictions (e.g., 6 1 hasMother) </li></ul></ul><ul><li>ALC + R + + role hierarchy + inverse + QNR = SHIQ </li></ul><ul><li>SHIQ is the basis for W3C’s OWL Web Ontology Language </li></ul><ul><ul><li>OWL DL ¼ SHIQ extended with nominal (i.e., SHOIQ ) </li></ul></ul><ul><ul><li>OWL Lite ¼ SHIQ with only functional restrictions (i.e., SHIF ) </li></ul></ul>
  49. 51. DL Knowledge Base <ul><li>A TBox is a set of “schema” axioms (sentences), e.g.: </li></ul><ul><ul><li>{Doctor v Person, </li></ul></ul><ul><ul><li>HappyParent ´ Person u 8 hasChild.(Doctor t 9 hasChild.Doctor)} </li></ul></ul><ul><li>An ABox is a set of “data” axioms (ground facts), e.g.: </li></ul><ul><ul><li>{Jagan:HappyParent, </li></ul></ul><ul><ul><li>Raghu hasChild Chitra} </li></ul></ul><ul><li>A Knowledge Base (KB) is just a TBox plus an ABox </li></ul>
  50. 52. <ul><li>E.g., KB: </li></ul><ul><li>{ HappyParent ´ Person u 8 hasChild.(Doctor t 9 hasChild.Doctor), </li></ul><ul><li>Janani:HappyParent, Janani hasChild Mano, Mano: : Doctor </li></ul><ul><li>Wasanth hasChild Mano, Wasanth marriedTo Janani} </li></ul>DL Reasoning Person 8 hasChild.(Doctor t 9 hasChild.Doctor)
  51. 53. OWL <ul><li>Three species of OWL </li></ul><ul><ul><li>OWL full is union of OWL syntax and RDF </li></ul></ul><ul><ul><li>OWL DL restricted to FOL fragment ( ¼ DAML+OIL) </li></ul></ul><ul><ul><li>OWL Lite is “simpler” subset of OWL DL </li></ul></ul><ul><li>Semantic layering </li></ul><ul><ul><li>OWL DL ¼ OWL full within DL fragment </li></ul></ul><ul><li>OWL DL based on SHIQ Description Logic </li></ul><ul><ul><li>In fact it is equivalent to SHOIN (D n ) DL </li></ul></ul><ul><li>OWL DL Benefits from many years of DL research </li></ul><ul><ul><li>Well defined semantics </li></ul></ul><ul><ul><li>Formal properties well understood (complexity, decidability) </li></ul></ul><ul><ul><li>Known reasoning algorithms </li></ul></ul><ul><ul><li>Implemented systems (highly optimised) </li></ul></ul>
  52. 54. OWL constructors <ul><li>XMLS datatypes as well as classes in 8 P.C and 9 P.C </li></ul><ul><ul><li>E.g., 9 hasAge.nonNegativeInteger </li></ul></ul><ul><li>Arbitrarily complex nesting of constructors </li></ul><ul><ul><li>E.g., Person u 8 hasChild.Doctor t 9 hasChild.Doctor </li></ul></ul>
  53. 55. RDFS Syntax <ul><li>E.g., Person u 8 hasChild.(Doctor t 9 hasChild.Doctor): </li></ul><ul><li><owl:Class> </li></ul><ul><li><owl:intersectionOf rdf:parseType=&quot; collection&quot;> </li></ul><ul><li><owl:Class rdf:about=&quot;#Person&quot;/> </li></ul><ul><li><owl:Restriction> </li></ul><ul><li><owl:onProperty rdf:resource=&quot;#hasChild&quot;/> </li></ul><ul><li><owl:toClass> </li></ul><ul><li><owl:unionOf rdf:parseType=&quot; collection&quot;> </li></ul><ul><li><owl:Class rdf:about=&quot;#Doctor&quot;/> </li></ul><ul><li><owl:Restriction> </li></ul><ul><li><owl:onProperty rdf:resource=&quot;#hasChild&quot;/> </li></ul><ul><li><owl:hasClass rdf:resource=&quot;#Doctor&quot;/> </li></ul><ul><li></owl:Restriction> </li></ul><ul><li></owl:unionOf> </li></ul><ul><li></owl:toClass> </li></ul><ul><li></owl:Restriction> </li></ul><ul><li></owl:intersectionOf> </li></ul><ul><li></owl:Class> </li></ul>
  54. 56. OWL Abstract Syntax <ul><li>E.g., Person u 8 hasChild.(Doctor t 9 hasChild.Doctor) </li></ul><ul><li>intersectionOf( </li></ul><ul><li>restriction(hasChild allValuesFrom( </li></ul><ul><li>unionOf(Doctor </li></ul><ul><li>restriction(hasChild someValuesFrom(Doctor)))))) </li></ul>
  55. 57. OWL Axioms <ul><li>Axioms (mostly) reducible to inclusion ( v ) </li></ul><ul><ul><li>C ´ D iff both C v D and D v C </li></ul></ul><ul><li>Obvious FOL equivalences </li></ul><ul><ul><li>E.g., C ´ D ,  x.C(x) $ D(x) , C v D ,  x.C(x) ! D(x) </li></ul></ul>
  56. 58. References <ul><li>http://www.ksl.stanford.edu/people/dlm/papers/ontologies-come-of-age-abstract.html </li></ul><ul><li>http://www.ksl.stanford.edu/people/dlm/papers/ontologies-and-online-commerce-abstract.html </li></ul><ul><li>http://www.daml.org/ </li></ul><ul><li>http://owl.man.ac.uk/factplusplus/ </li></ul><ul><li>http://oiled.man.ac.uk/ </li></ul><ul><li>http://protege.stanford.edu/plugins/owl/ </li></ul><ul><li>http://www.w3.org/2001/sw/WebOnt/ </li></ul><ul><li>http://books.cambridge.org/0521781760.htm </li></ul><ul><li>http://www.ontoknowledge.org </li></ul>
  57. 59. Thanks <ul><li>Feel free to contact me at </li></ul><ul><li>[email_address] </li></ul><ul><li>Checktronix India Pvt Ltd, </li></ul><ul><li>9 Ramanathan Street, </li></ul><ul><li>Kilpauk, Chennai 600010 </li></ul><ul><li>Phone: 044 30570028-32 </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×