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

Ontology

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