1 / 115

Ontologies and the Semantic Web II

Ontologies and the Semantic Web II. Deborah L. McGuinness Associate Director and Senior Research Scientist Knowledge Systems Laboratory Stanford University Stanford, CA 94305 650-723-9770 dlm@ksl.stanford.edu. Outline. Getting Started Identify requirements

quiana
Download Presentation

Ontologies and the Semantic Web II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ontologies and the Semantic Web II Deborah L. McGuinness Associate Director and Senior Research Scientist Knowledge Systems Laboratory Stanford University Stanford, CA 94305 650-723-9770 dlm@ksl.stanford.edu

  2. Outline • Getting Started • Identify requirements • Representation and reasoning examples • Environment compatibility (people, tools, languages) • Requirements dictate language and tool choices • Ontology Development 101 • Tools supporting applications • Editors • Reasoners • Evolution Environments • Discussion This tutorial is based loosely on Ontology Development 101 (with Noy), OWL Overview (with van Harmelen), and OWL Guide (with Smith and Welty), and How and When to Live with a Kl-ONE-like System (with Brachman, Borgida, and Resnick). Viewgraph input was also solicited from viewgraphs and/or interactions with Dean, Kendall, Noy, Pollock, & Stavert. Deborah L. McGuinness

  3. What does your application need? • A controlled language • A hierarchical structure (possibly for use with query expansion) Red wines such as zinfandel, cabernet sauvignon, red burgundy, chianti, … • Knowledge supporting structured queries – Find resumes of people who are academics, authors of semantic web languages, who have deployed applications, who worked in industry, who consult • Precise dependable inference • Computational tractability • Explainability Deborah L. McGuinness

  4. More requirements? • Open world information gathering You may not know all of the information at any given time and more information may be deduced or input along the way • Consistency checking will be important – check the input as we put in someone’s age (that it is not 200 for example)…. • Generate some use cases containing information that is expected to be available and questions that need to be answerable Deborah L. McGuinness

  5. While gathering requirements… • Identify user community(ies) • Language compatibilities • Environmental compatibilities • Legacy systems Deborah L. McGuinness

  6. Ontologies • “A Specification of a Conceptualization” – Gruber ’91 • Ontologies provide and explicit and declarative description of a domain: • concepts – descriptions of classes • properties/attributes of concepts • constraints on properties and attributes • individuals Deborah L. McGuinness

  7. Benefits of Ontologies • Shared vocabulary (for humans and agents) • Shared common understanding of the structure of information • Reuse of domain knowledge • to avoid “re-inventing the wheel” • to introduce standards Deborah L. McGuinness

  8. More Benefits • Assumptions become explicit enabling • Explaining assumptions • Changing assumptions • Hypothetical reasoning (multiple scenarios) • Support for evolving systems where time and situations change necessitating re-evaluation of assumptions • Support for interoperation with other (potentially legacy) systems • Separation of types of knowledge: • Declarative domain knowledge vs procedural knowledge • Background (unchanging) knowledge from changing information • Authoritative vs. other…. Deborah L. McGuinness

  9. Ontology Development • Define domain terms and inter-relationships • Define concepts in the domain (classes) • Identify subclass/superclass relationships (thereby defining a class hierachy. • Identify attributes/properties/slots • Restrict slot values • Define individuals • Define interrelationships between individuals (filling in slots) Deborah L. McGuinness

  10. Ontology Development Process • Determine the scope of the domain information • Identify resources that may be appropriate to reuse/integrate • Identify terms in the vocabulary • Define classes/concepts • Define properties • Add restrictions • Generate individuals Note that this process is iterative Deborah L. McGuinness

  11. Determine Application Domain and Use Case(s) • Describe the domain for the ontology • Describe how the ontology will be used • Identify types example questions and answers for the ontology-supported application • Identify ontology users, owners, and maintainers • Describe anticipated evolution path for the ontology and the application Deborah L. McGuinness

  12. Example Questions • Which wine characteristics determine wine choice? • What is the color of a burgundy? • Is rose wine made in burgundy? • Describe a wine that matches a shellfish dish • Should I serve zinfandel with crab? • What wines in my wine cellar are recommended choices to be served with pasta with a spicy red sauce? • What wines could I buy from wine.com that are recommended to be served with to be served with Deborah’s specialty? Deborah L. McGuinness

  13. Reuse • Why reuse other ontologies? • to interoperate with other ontologies/controlled vocabularies • to leverage other people’s ontology building work • to use previously validated and/or authoritative source ontologies • to interact with applications and/or tools that use other ontologies • …. Deborah L. McGuinness

  14. Reuse Starting Points • Ontology Libraries/Registries • DAML ontology library (www.daml.org/ontologies) • Ontolingua ontology library (www.ksl.stanford.edu/software/ontolingua/) • SchemaWeb - http://www.schemaweb.info/ new evolving collection • Ontaria – W3C collection of Semantic Web Data http://www.w3.org/2004/ontaria/ • Upper ontologies • IEEE Standard Upper Ontology Working Group (suo.ieee.org, http://ontology.teknowledge.com/) • Cyc (www.cyc.com) Deborah L. McGuinness

  15. Reuse • General ontologies • DMOZ (www.dmoz.org) • WordNet (www.cogsci.princeton.edu/~wn/) • Domain-specific ontologies • COGNA • US Geography Survey • Geospatial Data Standards • National GeoSpatial Clearinghouse … Deborah L. McGuinness

  16. Usually there are many starting points Deborah L. McGuinness

  17. More… Deborah L. McGuinness

  18. Identify Terms • List the nouns in your domain – what classes of things will you talk about? • List the verbs or relationships between things in your domain • List the attributes / properties of the terms • Generate example descriptions • Living with Classic suggests a brainstorming session just to collect the controlled vocabulary • CISCO’s CAT process does a similar thing Deborah L. McGuinness

  19. Example Wine Terms wine, grape, winery, location, wine color, wine body, wine flavor, sugar content white wine, red wine, Bordeaux wine food, seafood, fish, meat, vegetables, cheese Deborah L. McGuinness

  20. Define Classes and the Class Hierarchy • A class is a concept in the domain • a class of wines • a class of wines from a particular region (burgundies) • A class is a collection of elements with some similar properties • A class contains necessary conditions for membership (made from a wine grape, alcohol content > xx percent) • Instances of classes • A particular bottle of wine in your wine cellar • Marietta Winery Deborah L. McGuinness

  21. Class Inheritance • Classes are organized into a subclass-superclass (or generalization-specialization) hierarchy • True subclass relationships are the basis of the formal IS-A hierarchy Classes are “is-a” related if an instance of the subclass is an instance of the superclass • Classes may be viewed as sets • Subclasses of a class are comprised of a subset of the superset Deborah L. McGuinness

  22. RedWine is a subclass of Wine Every red wine is a wine or every instance of a red wine (like Marietta Old Vines Red) is an instance of wine NapaValleyWine is a subclass of CaliforniaWine Every wine from napa valley is a wine from california SubClass Example Deborah L. McGuinness

  23. Levels in the Class Hierarchy • Different modes of development • top-down - define the most general concepts first and then specialize them • bottom-up - define the most specific concepts and then organize them in more general classes • combination (typical – breadth at the top level and depth along a few branches to test design) Deborah L. McGuinness

  24. Wine Hierarchy (portion) Top level Middle level Bottom level Taken from ontology development 101 from Protege Deborah L. McGuinness

  25. Define Properties of Classes • Slots in a class definition describe attributes of members of a class each wine will have color, sugar content, flavor, body, etc. Deborah L. McGuinness

  26. Slots • Types of properties • “intrinsic” properties: flavor and color of wine • “extrinsic” properties: name and price of wine • parts: ingredients in a dish • relations to other objects: producer of wine (winery) • Data and object properties • simple (datatype) contain primitive values (strings, numbers) • complex properties: contain other objects (e.g., a winery instance) Deborah L. McGuinness

  27. Example Slots for the class Wine Deborah L. McGuinness

  28. Slot and Class Inheritance • A subclass inherits all the slots from the superclass If a wine has a name and flavor, a red wine also has a name and flavor • If a class has multiple super classes, it inherits slots from all of them Port is both a dessert wine and a red wine. It inherits “sugar content: sweet” from the dessert wine and “color:red” from red wine Deborah L. McGuinness

  29. Property Constraints • Property constraints describe or limit the set of possible values for a slot the name of a wine is a string the wine producer is an instance of Winery a winery has exactly one location Deborah L. McGuinness

  30. Example: Wine Properties and restrictions Deborah L. McGuinness

  31. Slot restrictions: Cardinality • Slot cardinality – the number of values a slot can or must have • Cardinality • Cardinality N means that the slot must have N values • Minimum cardinality • Minimum cardinality 1 means that the slot must have a value (required) • Minimum cardinality 0 means that the slot value is optional • Maximum cardinality • Maximum cardinality 1 means that the slot can have at most one value (single-valued slot) • Maximum cardinality N means that the slot can have up to N values. When N is greater than 1 it is a multiple-valued slot Deborah L. McGuinness

  32. Value Type • Slot value type – what values can the slot have • String: a string of characters (“Château Lafite”) • Number: an integer or a float (15, 4.5) • Boolean: a true/false flag • Enumerated type: a list of allowed values (red, white, rose) • Filler: a single value. E.g., the color slot for a redWine must be filled with the single value “red” • Object type – a class defined in an ontology. E.g., Winery is the value restriction on the hasMaker slot on the class Wine Deborah L. McGuinness

  33. Slot Example Deborah L. McGuinness

  34. Domain and Range of Slot • Domain of a slot – the class (or classes) that may have the slot e.g., Wine is the domain of the slot hasWineColor • Range of a slot – the class (or classes) to which slot values belong e.g., everything that fills the hasWineColor slot is an instance of the enumerated class {red,white,rose} Deborah L. McGuinness

  35. Properties and Class Inheritance • A subclass inherits all the slots from the superclass • A subclass can add constraints to “narrow” the list of allowed values • Make the cardinality range smaller • Replace a class in the range with a subclass Wine hasMaker Winery is-a is-a French wine hasMaker French winery Deborah L. McGuinness

  36. Create Instances • Create an instance of a class • The class becomes a parent of (or type of) the instance • Any superclass of a class is an ancestor (or type) of the instance • Assign slot values for the instance frame • Slot values should conform to the constraints such as range, value type, cardinality restrictions, etc. Deborah L. McGuinness

  37. Creating an Instance: Example Deborah L. McGuinness

  38. Expanding the Ontology • Breadth-oriented • Identify all/most of the top level classes, properties needed at the top level, and constraints at the top level before deeper • Depth Oriented • Pick an important branch and go down it identifying specific subclasses, sub-sub-classes, etc. and the appropriate properties. • Typical ontology design is a combination of both Deborah L. McGuinness

  39. Defining Classes and a Class Hierarchy • Make sure the isa hierarchy is formal – • i.e., is every instance of a subclass an instance of the superclass • There is no single best correct class hierarchy but there are some rules of thumb Deborah L. McGuinness

  40. Class Hierarchy Transitivity • The is-a relationship is transitive: B is a subclass of A C is a subclass of B C is a subclass of A Deborah L. McGuinness

  41. Multiple Inheritance • A class can have more than one superclass • The subclass inherits slots and restrictions from all the parents • Different systems may resolve conflicts differently Deborah L. McGuinness

  42. Avoiding Class Cycles • Class cycles are rarely desirable • Classes A, B, and C have equivalent sets of instances • By many definitions, A, B, and C are thus equivalent Deborah L. McGuinness

  43. Classes are disjoint if they cannot have common instances Disjoint classes cannot have any common subclasses either E.g., if winery and wine are disjoint, then there is no instance that is both a winery and a wine. Similarly, there is no class that is both a subclass of winery and simultaneously a subclass of wine Disjointness is often defined to help consistency checking Disjoint Classes Deborah L. McGuinness

  44. Siblings in the Class Hierarchy • All the siblings in the class hierarchy should be at the same level of generality • Compare to section and subsections in a book Deborah L. McGuinness

  45. Levels of hierarchy • If a class has only one child, there may be a modeling problem. This is often a sign that the definition is incomplete • If the only Red Burgundy we have is Côtes d’Or, why introduce the subhierarchy? • Compare to bullets in a bulleted list Deborah L. McGuinness

  46. Creating Levels and Subclasses • If a class has a large number of subclasses, it may be useful to define intermediate subclasses • E.g., in the domain of wines, there are natural groupings around wine color • However, if no natural classification exists, the long list may be more natural Deborah L. McGuinness

  47. Single and Plural Class Names • A “wine” is not a kind-of “wines” • A wine is an instance of the class Wines • Class names should be either • all singular • all plural Class instance-of MariettaOldVinesRed Instance Deborah L. McGuinness

  48. Synonyms • Synonym names for the same concept are not different classes • Many systems allow listing synonyms as part of the class definition • OWL allows defining necessary and sufficiency condition definitions thereby allowing synonym definitions to be “first class” terms Deborah L. McGuinness

  49. One example hierarchy of wines Deborah L. McGuinness

  50. When to introduce a new class? • Subclasses of a class usually have • Additional properties • Additional slot restrictions • Participate in different relationships Deborah L. McGuinness

More Related