Tutorial 1: Ontologies Fifth  AOS Workshop 27 April 2004 Friendship Hotel Beijing CHINA  Anita Liang  ( 梁华英 )   [email_address]
Where does the notion of ontology come from? What exactly is an ontology, anyway? Why develop an ontology? What can an ontology be used for ? How can I develop one? Which language should I choose? What this talk is about
Where does the notion of ontology come from? What exactly is an ontology, anyway? Why develop an ontology? What can an ontology be used for ? How can I develop one? Which language should I choose? What this talk is about
Where does it come from?  ontology   n. 1692; lat. phil.  onto-  “being” +  -logia  “study of”
Where does it come from? Philosophy The study of what is, what has to be true for something to exist, the kinds of things that can exist AI and computer science Co-opted the term. Something exists if it can be represented, described, defined (in a formal, hence, machine-interpretable way).
Where does the notion of ontology come from? What exactly is an ontology? Why develop an ontology? What can an ontology be used for ? How can I develop one? Which language should I choose? What this talk is about
A Definition “ a specification of a conceptualization…a description (like a formal specification of a program) of the concepts and relations that can exist for an agent or a community of agents.” - T.R. Gruber.  1993.  A translation approach to portable ontologies.  Knowledge acquisition , 5(2):199-220 .
A Definition  Informal  Terms  from a specific domain uniquely defined, usually via natural language definitions May contain additional semantics in the form of informal relations machine-processing is difficult Examples Controlled vocabulary Glossary Thesaurus
A Definition Formal Domain-specific vocabulary Well-defined semantic structure Classes/concepts/types E.g., a class { Publication } represents all publications E.g., a class { Publication } can have subclasses { Newspaper }, { Journal } Instances/individuals/objects E.g., the newspaper  Le Monde  is an instance of the class { Newspaper }  Properties/roles/slots Data E.g., the class { Publication } and its subclasses { Newspaper }, { Journal } have a data property { numberOfPages } Object E.g., the class { Publication } and its subclasses { Newspaper }, { Journal } have an object property { publishes } Is machine-processable
Where does the notion of ontology come from? What exactly is an ontology, anyway? Why develop an ontology? What can an ontology be used for ? How can I develop one? Which language should I choose? What this talk is about
Why develop ontologies? To share knowledge E.g., using an ontology for integrating terminologies To reuse domain knowledge E.g., geography ontology E.g., AOS To make domain assumptions explicit Facilitate knowledge management E.g., { BSE } –causedBy-> { Prion } ???? Enable new users to learn about the domain E.g., food safety ontology To distinguish domain knowledge from operational knowledge e.g., biblio metadata
Where does the notion of ontology come from? What exactly is an ontology, anyway? Why develop an ontology? What can an ontology be used for ? How can I develop one? Which language should I choose? What this talk is about
What they are good for Informal Controlled vocabulary Beginnings of interoperability Upper-level structures for extending further E.g., AGRIS/CARIS categorization Browsing support E.g., IRS information search Search Limited query expansion disambiguation E.g., vessels
What they are good for Formal Search Concept-based query User uses  own words, language Related terms Intelligent query expansion:  “fishing vessels in China” expands to “fishing vessels in Asia” Consistency checking Restrictions on properties can allow checking of validity of values Interoperability support Terms defined in expressive ontos allow for mapping precisely how one term relates to another
Where does the notion of ontology come from? What exactly is an ontology, anyway? Why develop an ontology? What can an ontology be used for ? How can I develop one? Which language should I choose? What this talk is about
Develop an ontology Research What is the domain? What is the scope? What will it be used for? Who will be the users?
Develop an ontology Develop upper-ontology categories, e.g., concepts “process,” “state” Use what is already available E.g., SUMO, Cyc, WordNet
Develop an ontology Develop a domain-specific lexicon Reuse one or more pieces of already existing resources E.g., Agrovoc Modify and extend Compile large domain-specific text corpus and use tools to help identify/extract domain-specific terms
Develop an ontology Define classes and properties Classes should correspond closely to nouns in the domain; properties correspond roughly to verbs. Define class hierarchy Top-down analysis, bottom-up analysis Combination
Develop an ontology Map relations between upper and lower-level ontological items.
Develop an ontology WWW resources www.taxonomywarehouse.com www.dmoz.com protégé.stanford.edu/ontologies/ontologies.html directory.google.com/top/reference/knowledge_management/knowledge_representation/ontologies www.nlm.nih.gov/research/umls www.cyc.com www.slais.ubc.ca/resources/indexing/database1.htm#online
Develop an ontology Choose an appropriate ontology language. RDF RDFS OWL
Develop an ontology Develop evaluation method. Test for consistency, completeness through application development and debugging. Use subject matter experts to evaluate.
Where does the notion of ontology come from? What exactly is an ontology, anyway? Why develop an ontology? What can an ontology be used for ? How can I develop one? Which language should I choose? What this talk is about
Resource Description Framework RDF is a formalism for representing metadata a way to describe the semantics of information
Resource Description Framework RDF data model Resource The basic unit being described, includes any object such as website, document, picture, etc. Identified via URI Property Characteristic of a resource Also identified via URI Statement Describes properties of resources  Triples:  <Subject, Predicate, Object> URI Uniform Resource Identifier Used for uniquely identifying resources
Resource Description Framework Syntax Based on xml <Description> element describes a resource Attribute or nested element describes a property <rdf:Property rdf:ID=“afflicts”></ rdf:Property > <rdf:Description rdf:about=“http//:www.fao.org/aos/bse”> < afflicts resource=“http//:www.fao.org/aos/cow”> </ afflicts> </rdf:Description>
Resource Description Framework No systematic semantics, esp. in terms of hierarchy
Resource Description Framework Schema Allows for interpretation of resources Some RDFS terms: Class Defines categories into which resources can be grouped subClassOf Allows the creation of hierarchy of classes Domain, range Constrains the classes that can be subject and object of property, respectively subPropertyOf Properties can be inherited
Resource Description Framework Schema Inferencing is possible Assertions: { Dolly } instanceOf { BlueSheep } { BlueSheep } hasMother { BlueSheep }  { Dolly } hasMother { Kristine } Inference: { Kristine } instanceOf { BlueSheep }
Resource Description Framework Schema But still not expressive enough No domain/range constraint at the local level No cardinality constraints No transitive, symmetrical, inverse properties
Web Ontology Language (OWL) OWL consists of all elements and attributes provided by RDF and RDFS, but goes beyond, allows greater inferencing capabilities. allows info to be gathered from distributed sources instance document can be enhanced with an OWL property to indicate that it’s the same as another instance.  For example, Police report shows that Sam is suspected of being a drug king. Sam suspectedOf drug king  FBI file shows that Tony is a mafia boss Tony suspectedOf mafia CIA has a file on Tony. Tony  owl:sameIndividualAs  Sam Inference:  the drug king is the same as the mafia boss,
Web Ontology Language (OWL) OWL consists of all elements and attributes provided by RDF and RDFS, but goes beyond, allows greater inferencing capabilities. provides capability of constructing taxonomies which can be used to dynamically understand how an instance relate to other entities 1. User:  Is Virago a motorcycle? 2. Web agent goes to websites: Send me your catalog. 3. Catalog contains: <custom rdf:ID=“Virago”> <size>535 cc</size> <cylinder>2</cylinder> </custom>  4. Web agent consults ontology: { Sport } subClassOf { Motorcycle } { Custom } subClassOf { Motorcycle }  { Grand Tourism } subClassOf { Motorcycle }  5.  Inference:  The Virago is a custom motorcycle.
Web Ontology Language (OWL) OWL consists of all elements and attributes provided by RDF and RDFS, but goes beyond, allows greater inferencing capabilities. provides capability of specifying that a property can relate a resource to a specific number of other resources;  1. User: What is Jill’s birthplace? 2. { Person } –hasBirthplace-> 1 { Location } 2. Three different documents found: Document A: { Jill } hasBirthplace { Texas } Document B: { Jill } hasBirthplace { Lone Star State } Document C: { Jill } hasBirthplace { Middle of Nowhere } 3.  Inference: Texas, Lone Star  State, and Middle of Nowhere all refer to the same location.
Web Ontology Language (OWL) Owl Lite Classification hierarchy, simple constraints, e.g., cardinality is 1 or 0 Owl DL Maximum expressivity and also computationally complete OWL Full Maximum expressivity but no computational guarantees
Questions? References: www.w3.org Ontology resources Thank you for coming.

Tutorial 1-Ontologies

  • 1.
    Tutorial 1: OntologiesFifth AOS Workshop 27 April 2004 Friendship Hotel Beijing CHINA Anita Liang ( 梁华英 ) [email_address]
  • 2.
    Where does thenotion of ontology come from? What exactly is an ontology, anyway? Why develop an ontology? What can an ontology be used for ? How can I develop one? Which language should I choose? What this talk is about
  • 3.
    Where does thenotion of ontology come from? What exactly is an ontology, anyway? Why develop an ontology? What can an ontology be used for ? How can I develop one? Which language should I choose? What this talk is about
  • 4.
    Where does itcome from? ontology n. 1692; lat. phil. onto- “being” + -logia “study of”
  • 5.
    Where does itcome from? Philosophy The study of what is, what has to be true for something to exist, the kinds of things that can exist AI and computer science Co-opted the term. Something exists if it can be represented, described, defined (in a formal, hence, machine-interpretable way).
  • 6.
    Where does thenotion of ontology come from? What exactly is an ontology? Why develop an ontology? What can an ontology be used for ? How can I develop one? Which language should I choose? What this talk is about
  • 7.
    A Definition “a specification of a conceptualization…a description (like a formal specification of a program) of the concepts and relations that can exist for an agent or a community of agents.” - T.R. Gruber. 1993. A translation approach to portable ontologies. Knowledge acquisition , 5(2):199-220 .
  • 8.
    A Definition Informal Terms from a specific domain uniquely defined, usually via natural language definitions May contain additional semantics in the form of informal relations machine-processing is difficult Examples Controlled vocabulary Glossary Thesaurus
  • 9.
    A Definition FormalDomain-specific vocabulary Well-defined semantic structure Classes/concepts/types E.g., a class { Publication } represents all publications E.g., a class { Publication } can have subclasses { Newspaper }, { Journal } Instances/individuals/objects E.g., the newspaper Le Monde is an instance of the class { Newspaper } Properties/roles/slots Data E.g., the class { Publication } and its subclasses { Newspaper }, { Journal } have a data property { numberOfPages } Object E.g., the class { Publication } and its subclasses { Newspaper }, { Journal } have an object property { publishes } Is machine-processable
  • 10.
    Where does thenotion of ontology come from? What exactly is an ontology, anyway? Why develop an ontology? What can an ontology be used for ? How can I develop one? Which language should I choose? What this talk is about
  • 11.
    Why develop ontologies?To share knowledge E.g., using an ontology for integrating terminologies To reuse domain knowledge E.g., geography ontology E.g., AOS To make domain assumptions explicit Facilitate knowledge management E.g., { BSE } –causedBy-> { Prion } ???? Enable new users to learn about the domain E.g., food safety ontology To distinguish domain knowledge from operational knowledge e.g., biblio metadata
  • 12.
    Where does thenotion of ontology come from? What exactly is an ontology, anyway? Why develop an ontology? What can an ontology be used for ? How can I develop one? Which language should I choose? What this talk is about
  • 13.
    What they aregood for Informal Controlled vocabulary Beginnings of interoperability Upper-level structures for extending further E.g., AGRIS/CARIS categorization Browsing support E.g., IRS information search Search Limited query expansion disambiguation E.g., vessels
  • 14.
    What they aregood for Formal Search Concept-based query User uses own words, language Related terms Intelligent query expansion: “fishing vessels in China” expands to “fishing vessels in Asia” Consistency checking Restrictions on properties can allow checking of validity of values Interoperability support Terms defined in expressive ontos allow for mapping precisely how one term relates to another
  • 15.
    Where does thenotion of ontology come from? What exactly is an ontology, anyway? Why develop an ontology? What can an ontology be used for ? How can I develop one? Which language should I choose? What this talk is about
  • 16.
    Develop an ontologyResearch What is the domain? What is the scope? What will it be used for? Who will be the users?
  • 17.
    Develop an ontologyDevelop upper-ontology categories, e.g., concepts “process,” “state” Use what is already available E.g., SUMO, Cyc, WordNet
  • 18.
    Develop an ontologyDevelop a domain-specific lexicon Reuse one or more pieces of already existing resources E.g., Agrovoc Modify and extend Compile large domain-specific text corpus and use tools to help identify/extract domain-specific terms
  • 19.
    Develop an ontologyDefine classes and properties Classes should correspond closely to nouns in the domain; properties correspond roughly to verbs. Define class hierarchy Top-down analysis, bottom-up analysis Combination
  • 20.
    Develop an ontologyMap relations between upper and lower-level ontological items.
  • 21.
    Develop an ontologyWWW resources www.taxonomywarehouse.com www.dmoz.com protégé.stanford.edu/ontologies/ontologies.html directory.google.com/top/reference/knowledge_management/knowledge_representation/ontologies www.nlm.nih.gov/research/umls www.cyc.com www.slais.ubc.ca/resources/indexing/database1.htm#online
  • 22.
    Develop an ontologyChoose an appropriate ontology language. RDF RDFS OWL
  • 23.
    Develop an ontologyDevelop evaluation method. Test for consistency, completeness through application development and debugging. Use subject matter experts to evaluate.
  • 24.
    Where does thenotion of ontology come from? What exactly is an ontology, anyway? Why develop an ontology? What can an ontology be used for ? How can I develop one? Which language should I choose? What this talk is about
  • 25.
    Resource Description FrameworkRDF is a formalism for representing metadata a way to describe the semantics of information
  • 26.
    Resource Description FrameworkRDF data model Resource The basic unit being described, includes any object such as website, document, picture, etc. Identified via URI Property Characteristic of a resource Also identified via URI Statement Describes properties of resources Triples: <Subject, Predicate, Object> URI Uniform Resource Identifier Used for uniquely identifying resources
  • 27.
    Resource Description FrameworkSyntax Based on xml <Description> element describes a resource Attribute or nested element describes a property <rdf:Property rdf:ID=“afflicts”></ rdf:Property > <rdf:Description rdf:about=“http//:www.fao.org/aos/bse”> < afflicts resource=“http//:www.fao.org/aos/cow”> </ afflicts> </rdf:Description>
  • 28.
    Resource Description FrameworkNo systematic semantics, esp. in terms of hierarchy
  • 29.
    Resource Description FrameworkSchema Allows for interpretation of resources Some RDFS terms: Class Defines categories into which resources can be grouped subClassOf Allows the creation of hierarchy of classes Domain, range Constrains the classes that can be subject and object of property, respectively subPropertyOf Properties can be inherited
  • 30.
    Resource Description FrameworkSchema Inferencing is possible Assertions: { Dolly } instanceOf { BlueSheep } { BlueSheep } hasMother { BlueSheep } { Dolly } hasMother { Kristine } Inference: { Kristine } instanceOf { BlueSheep }
  • 31.
    Resource Description FrameworkSchema But still not expressive enough No domain/range constraint at the local level No cardinality constraints No transitive, symmetrical, inverse properties
  • 32.
    Web Ontology Language(OWL) OWL consists of all elements and attributes provided by RDF and RDFS, but goes beyond, allows greater inferencing capabilities. allows info to be gathered from distributed sources instance document can be enhanced with an OWL property to indicate that it’s the same as another instance. For example, Police report shows that Sam is suspected of being a drug king. Sam suspectedOf drug king FBI file shows that Tony is a mafia boss Tony suspectedOf mafia CIA has a file on Tony. Tony owl:sameIndividualAs Sam Inference: the drug king is the same as the mafia boss,
  • 33.
    Web Ontology Language(OWL) OWL consists of all elements and attributes provided by RDF and RDFS, but goes beyond, allows greater inferencing capabilities. provides capability of constructing taxonomies which can be used to dynamically understand how an instance relate to other entities 1. User: Is Virago a motorcycle? 2. Web agent goes to websites: Send me your catalog. 3. Catalog contains: <custom rdf:ID=“Virago”> <size>535 cc</size> <cylinder>2</cylinder> </custom> 4. Web agent consults ontology: { Sport } subClassOf { Motorcycle } { Custom } subClassOf { Motorcycle } { Grand Tourism } subClassOf { Motorcycle } 5. Inference: The Virago is a custom motorcycle.
  • 34.
    Web Ontology Language(OWL) OWL consists of all elements and attributes provided by RDF and RDFS, but goes beyond, allows greater inferencing capabilities. provides capability of specifying that a property can relate a resource to a specific number of other resources; 1. User: What is Jill’s birthplace? 2. { Person } –hasBirthplace-> 1 { Location } 2. Three different documents found: Document A: { Jill } hasBirthplace { Texas } Document B: { Jill } hasBirthplace { Lone Star State } Document C: { Jill } hasBirthplace { Middle of Nowhere } 3. Inference: Texas, Lone Star State, and Middle of Nowhere all refer to the same location.
  • 35.
    Web Ontology Language(OWL) Owl Lite Classification hierarchy, simple constraints, e.g., cardinality is 1 or 0 Owl DL Maximum expressivity and also computationally complete OWL Full Maximum expressivity but no computational guarantees
  • 36.
    Questions? References: www.w3.orgOntology resources Thank you for coming.

Editor's Notes

  • #12 We develop ontologies to provide common understanding of information structure. If I have an ontology that contains the terminologies of different websites on fish, I can develop applications that can extract infor from all of these sites. Mian point of SemWeb: Many applications eg require geographical info. If one group of researchers develops such an onto, then others who have a need for it theijr domains can reuse it. Also, if need to builkd a large onto, can use existing ones ot take parts of differeent ones and merge them together as a starting point. Make explicit domain assumptuions: enables people to learn the terms for the domain.  FS portal, BSE symptoms query From a practical point of view, it is easier to make changes when knowledge changes. Prion causes mad cow disease. Not sure at the moment but await later confirmation. Too difficult if knowledge is hard coded into a program. Also has to do with reuseability: don’t want to customize an ontology too closely to a specific application. Have an onto on biblio metadata. I could use it in an online bookstore to help with customer shopping, or I could use it for multihost searching of digital libraries.