Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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

15,483 views

Published on

Introduction to Ontology

Published in: Technology, Education

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>

×