Upload
janis-park
View
219
Download
0
Tags:
Embed Size (px)
Citation preview
Ontologies and the Ontologies and the Semantic Web IISemantic Web II
Deborah L. McGuinnessDeborah L. McGuinnessAssociate Director and Senior Associate Director and Senior
Research ScientistResearch ScientistKnowledge Systems LaboratoryKnowledge Systems Laboratory
Stanford UniversityStanford UniversityStanford, CA 94305Stanford, CA 94305
650-723-9770650-723-9770 [email protected]@ksl.stanford.edu
August 9, 2004 2Deborah L. McGuinness
OutlineOutline Getting StartedGetting Started
Identify requirementsIdentify requirements Representation and reasoning examplesRepresentation and reasoning examples Environment compatibility (people, tools, languages)Environment compatibility (people, tools, languages)
Requirements dictate language and tool choicesRequirements dictate language and tool choices Ontology Development 101Ontology Development 101 Tools supporting applicationsTools supporting applications
EditorsEditors ReasonersReasoners Evolution EnvironmentsEvolution Environments
DiscussionDiscussion
This tutorial is based loosely on Ontology Development 101 (with Noy), OWL This tutorial is based loosely on Ontology Development 101 (with Noy), OWL Overview (with van Harmelen), and OWL Guide (with Smith and Welty), and 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, 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 and Resnick). Viewgraph input was also solicited from viewgraphs and/or interactions with Dean, Kendall, Noy, Pollock, & Stavert. interactions with Dean, Kendall, Noy, Pollock, & Stavert.
August 9, 2004 3Deborah L. McGuinness
What does your What does your application need?application need?
A controlled languageA controlled language A hierarchical structure (possibly for use A hierarchical structure (possibly for use
with query expansion)with query expansion)Red wines such as zinfandel, cabernet sauvignon, red Red wines such as zinfandel, cabernet sauvignon, red
burgundy, chianti, …burgundy, chianti, … Knowledge supporting structured queries –Knowledge supporting structured queries –
Find resumes of people who are academics, Find resumes of people who are academics, authors of semantic web languages, who have authors of semantic web languages, who have deployed applications, who worked in industry, deployed applications, who worked in industry, who consultwho consult
Precise dependable inferencePrecise dependable inference Computational tractabilityComputational tractability ExplainabilityExplainability
August 9, 2004 4Deborah L. McGuinness
More requirements?More requirements? Open world information gathering Open world information gathering
You may not know all of the information at any You may not know all of the information at any given time and more information may be given time and more information may be deduced or input along the waydeduced or input along the way
Consistency checking will be important – Consistency checking will be important – check the input as we put in someone’s check the input as we put in someone’s age (that it is not 200 for example)….age (that it is not 200 for example)….
Generate some use cases containing Generate some use cases containing information that is expected to be available information that is expected to be available and questions that need to be answerableand questions that need to be answerable
August 9, 2004 5Deborah L. McGuinness
While gathering While gathering requirements…requirements…
Identify user community(ies)Identify user community(ies) Language compatibilities Language compatibilities Environmental compatibilitiesEnvironmental compatibilities Legacy systemsLegacy systems
August 9, 2004 6Deborah L. McGuinness
OntologiesOntologies
““A Specification of a A Specification of a Conceptualization” – Gruber ’91Conceptualization” – Gruber ’91
Ontologies provide and explicit and Ontologies provide and explicit and declarative description of a domain:declarative description of a domain: concepts – descriptions of classesconcepts – descriptions of classes properties/attributes of conceptsproperties/attributes of concepts constraints on properties and attributesconstraints on properties and attributes individualsindividuals
August 9, 2004 7Deborah L. McGuinness
Benefits of OntologiesBenefits of Ontologies
Shared vocabulary (for humans and Shared vocabulary (for humans and agents)agents)
Shared common understanding of Shared common understanding of the structure of information the structure of information
Reuse of domain knowledgeReuse of domain knowledge to avoid “re-inventing the wheel”to avoid “re-inventing the wheel” to introduce standardsto introduce standards
August 9, 2004 8Deborah L. McGuinness
More BenefitsMore Benefits Assumptions become explicit enablingAssumptions become explicit enabling
Explaining assumptionsExplaining assumptions Changing assumptionsChanging assumptions Hypothetical reasoning (multiple scenarios)Hypothetical reasoning (multiple scenarios) Support for evolving systems where time and Support for evolving systems where time and
situations change necessitating re-evaluation of situations change necessitating re-evaluation of assumptionsassumptions
Support for interoperation with other Support for interoperation with other (potentially legacy) systems(potentially legacy) systems
Separation of types of knowledge:Separation of types of knowledge: Declarative domain knowledge vs procedural Declarative domain knowledge vs procedural
knowledgeknowledge Background (unchanging) knowledge from Background (unchanging) knowledge from
changing informationchanging information Authoritative vs. other….Authoritative vs. other….
August 9, 2004 9Deborah L. McGuinness
Ontology DevelopmentOntology Development
Define domain terms and inter-Define domain terms and inter-relationshipsrelationships Define concepts in the domain (classes)Define concepts in the domain (classes) Identify subclass/superclass relationships Identify subclass/superclass relationships
(thereby defining a class hierachy.(thereby defining a class hierachy. Identify attributes/properties/slots Identify attributes/properties/slots Restrict slot values Restrict slot values Define individuals Define individuals Define interrelationships between Define interrelationships between
individuals (filling in slots)individuals (filling in slots)
August 9, 2004 10Deborah L. McGuinness
Ontology Development Ontology Development ProcessProcess
Determine the scope of the domain informationDetermine the scope of the domain information Identify resources that may be appropriate to Identify resources that may be appropriate to
reuse/integratereuse/integrate Identify terms in the vocabularyIdentify terms in the vocabulary Define classes/conceptsDefine classes/concepts Define propertiesDefine properties Add restrictionsAdd restrictions Generate individualsGenerate individuals
Note that this process is iterativeNote that this process is iterative
August 9, 2004 11Deborah L. McGuinness
Determine Application Determine Application Domain and Use Case(s)Domain and Use Case(s)
Describe the domain for the ontologyDescribe the domain for the ontology Describe how the ontology will be usedDescribe how the ontology will be used Identify types example questions and Identify types example questions and
answers for the ontology-supported answers for the ontology-supported applicationapplication
Identify ontology users, owners, and Identify ontology users, owners, and maintainersmaintainers
Describe anticipated evolution path for the Describe anticipated evolution path for the ontology and the applicationontology and the application
August 9, 2004 12Deborah L. McGuinness
Example QuestionsExample Questions Which wine characteristics determine wine choice? Which wine characteristics determine wine choice? What is the color of a burgundy? What is the color of a burgundy? Is rose wine made in burgundy?Is rose wine made in burgundy? Describe a wine that matches a shellfish dishDescribe a wine that matches a shellfish dish Should I serve zinfandel with crab?Should I serve zinfandel with crab? What wines in my wine cellar are recommended What wines in my wine cellar are recommended
choices to be served with pasta with a spicy red choices to be served with pasta with a spicy red sauce?sauce?
What wines could I buy from wine.com that are What wines could I buy from wine.com that are recommended to be served with to be served with recommended to be served with to be served with Deborah’s specialty?Deborah’s specialty?
August 9, 2004 13Deborah L. McGuinness
ReuseReuse Why reuse other ontologies?Why reuse other ontologies?
to interoperate with other to interoperate with other ontologies/controlled vocabulariesontologies/controlled vocabularies
to leverage other people’s ontology to leverage other people’s ontology building workbuilding work
to use previously validated and/or to use previously validated and/or authoritative source ontologiesauthoritative source ontologies
to interact with applications and/or tools to interact with applications and/or tools that use other ontologiesthat use other ontologies
……..
August 9, 2004 14Deborah L. McGuinness
Reuse Starting PointsReuse Starting Points Ontology Libraries/RegistriesOntology Libraries/Registries
DAML ontology library DAML ontology library (www.daml.org/ontologies)(www.daml.org/ontologies) Ontolingua ontology library Ontolingua ontology library
(www.ksl.stanford.edu/software/ontolingua/)(www.ksl.stanford.edu/software/ontolingua/) SchemaWeb - SchemaWeb - http://www.schemaweb.info/ new http://www.schemaweb.info/ new
evolving collectionevolving collection Ontaria – W3C collection of Semantic Web Data Ontaria – W3C collection of Semantic Web Data
http://www.w3.org/2004/ontaria/ http://www.w3.org/2004/ontaria/ Upper ontologiesUpper ontologies
IEEE Standard Upper Ontology Working IEEE Standard Upper Ontology Working Group Group ((suo.ieee.org, suo.ieee.org, http://ontology.teknowledge.com/)http://ontology.teknowledge.com/)
Cyc Cyc (www.cyc.com)(www.cyc.com)
August 9, 2004 15Deborah L. McGuinness
Reuse Reuse
General ontologiesGeneral ontologies DMOZ DMOZ (www.dmoz.org)(www.dmoz.org) WordNet WordNet
((www.cogsci.princeton.edu/~wn/)www.cogsci.princeton.edu/~wn/) Domain-specific ontologiesDomain-specific ontologies
COGNACOGNA US Geography SurveyUS Geography Survey Geospatial Data StandardsGeospatial Data Standards National GeoSpatial Clearinghouse …National GeoSpatial Clearinghouse …
August 9, 2004 16Deborah L. McGuinness
Usually there are many Usually there are many starting pointsstarting points
August 9, 2004 17Deborah L. McGuinness
More…More…
August 9, 2004 18Deborah L. McGuinness
Identify TermsIdentify Terms
List the nouns in your domain – what classes of List the nouns in your domain – what classes of things will you talk about?things will you talk about?
List the verbs or relationships between things in List the verbs or relationships between things in your domainyour domain
List the attributes / properties of the termsList the attributes / properties of the terms Generate example descriptionsGenerate example descriptions
Living with Classic suggests a brainstorming Living with Classic suggests a brainstorming session just to collect the controlled vocabularysession just to collect the controlled vocabulary
CISCO’s CAT process does a similar thingCISCO’s CAT process does a similar thing
August 9, 2004 19Deborah L. McGuinness
Example Wine TermsExample Wine Terms
wine, grape, winery, location, wine, grape, winery, location,
wine color, wine body, wine flavor, wine color, wine body, wine flavor, sugar contentsugar content
white wine, red wine, Bordeaux winewhite wine, red wine, Bordeaux wine
food, seafood, fish, meat, vegetables, food, seafood, fish, meat, vegetables, cheesecheese
August 9, 2004 20Deborah L. McGuinness
Define Classes and the Class Define Classes and the Class HierarchyHierarchy
A class is a concept in the domainA class is a concept in the domain a class of winesa class of wines a class of wines from a particular region (burgundies)a class of wines from a particular region (burgundies)
A class is a collection of elements with some A class is a collection of elements with some similar propertiessimilar properties
A class contains necessary conditions for A class contains necessary conditions for membership (made from a wine grape, alcohol membership (made from a wine grape, alcohol content > xx percent)content > xx percent)
Instances of classesInstances of classes A particular bottle of wine in your wine cellarA particular bottle of wine in your wine cellar Marietta WineryMarietta Winery
August 9, 2004 21Deborah L. McGuinness
Class InheritanceClass Inheritance
Classes are organized into a subclass-superclass Classes are organized into a subclass-superclass (or generalization-specialization) hierarchy(or generalization-specialization) hierarchy
True subclass relationships are the basis of the True subclass relationships are the basis of the formal IS-A hierarchyformal IS-A hierarchy
Classes are “is-a” related if an instance of Classes are “is-a” related if an instance of the subclass is an instance of the the subclass is an instance of the superclasssuperclass
Classes may be viewed as setsClasses may be viewed as sets Subclasses of a class are comprised of a subset Subclasses of a class are comprised of a subset
of the supersetof the superset
August 9, 2004 22Deborah L. McGuinness
SubClass ExampleSubClass Example
RedWine is a subclass of WineRedWine is a subclass of WineEvery red wine is a wine or every instance of a Every red wine is a wine or every instance of a
red wine (like Marietta Old Vines Red) is an red wine (like Marietta Old Vines Red) is an instance of wineinstance of wine
NapaValleyWine is a subclass of NapaValleyWine is a subclass of CaliforniaWineCaliforniaWineEvery wine from napa valley is a wine from Every wine from napa valley is a wine from
californiacalifornia
August 9, 2004 23Deborah L. McGuinness
Levels in the Class Levels in the Class HierarchyHierarchy
Different modes of developmentDifferent modes of development top-down - define the most general top-down - define the most general
concepts first and then specialize themconcepts first and then specialize them bottom-up - define the most specific bottom-up - define the most specific
concepts and then organize them in concepts and then organize them in more general classesmore general classes
combination (typical – breadth at the combination (typical – breadth at the top level and depth along a few top level and depth along a few branches to test design)branches to test design)
August 9, 2004 24Deborah L. McGuinness
Wine Hierarchy (portion)Wine Hierarchy (portion)
Bottomlevel
Middlelevel
Toplevel
Taken from ontology development 101 from Protege
August 9, 2004 25Deborah L. McGuinness
Define Properties of Define Properties of ClassesClasses
Slots in a class definition describe Slots in a class definition describe attributes of members of a classattributes of members of a classeach wine will have color, sugar content, each wine will have color, sugar content,
flavor, body, etc.flavor, body, etc.
August 9, 2004 26Deborah L. McGuinness
SlotsSlots Types of propertiesTypes of properties
““intrinsic” properties: intrinsic” properties: flavorflavor and and colorcolor of wine of wine ““extrinsic” properties: extrinsic” properties: namename and and priceprice of wine of wine parts: parts: ingredientsingredients in a dish in a dish relations to other objects: relations to other objects: producerproducer of wine of wine
(winery)(winery) Data and object propertiesData and object properties
simple (datatype) contain primitive values simple (datatype) contain primitive values (strings, numbers)(strings, numbers)
complex properties: contain other objects complex properties: contain other objects (e.g., a winery instance)(e.g., a winery instance)
August 9, 2004 27Deborah L. McGuinness
Example Slots for the Example Slots for the class Wineclass Wine
August 9, 2004 28Deborah L. McGuinness
Slot and Class Slot and Class InheritanceInheritance
A subclass inherits all the slots from A subclass inherits all the slots from the superclassthe superclassIf a wine has a name and flavor, a red wine If a wine has a name and flavor, a red wine
also has a name and flavoralso has a name and flavor If a class has multiple super classes, it If a class has multiple super classes, it
inherits slots from all of theminherits slots from all of themPort is both a dessert wine and a red wine. Port is both a dessert wine and a red wine.
It inherits “sugar content: sweet” from It inherits “sugar content: sweet” from the dessert wine and “color:red” from red the dessert wine and “color:red” from red winewine
August 9, 2004 29Deborah L. McGuinness
Property ConstraintsProperty Constraints
Property constraints describe or Property constraints describe or limit the set of possible values for a limit the set of possible values for a slotslotthe name of a wine is a stringthe name of a wine is a string
the wine producer is an instance of the wine producer is an instance of WineryWinery
a winery has exactly one locationa winery has exactly one location
August 9, 2004 30Deborah L. McGuinness
Example: Wine Properties Example: Wine Properties and restrictionsand restrictions
August 9, 2004 31Deborah L. McGuinness
Slot restrictions: Slot restrictions: CardinalityCardinality
Slot cardinality – the number of values a slot Slot cardinality – the number of values a slot can or must havecan or must have CardinalityCardinality
Cardinality N means that the slot must have N valuesCardinality N means that the slot must have N values Minimum cardinalityMinimum cardinality
Minimum cardinality 1 means that the slot must have a Minimum cardinality 1 means that the slot must have a value (required)value (required)
Minimum cardinality 0 means that the slot value is Minimum cardinality 0 means that the slot value is optionaloptional
Maximum cardinalityMaximum cardinality Maximum cardinality 1 means that the slot can have at Maximum cardinality 1 means that the slot can have at
most one value (single-valued slot)most one value (single-valued slot) Maximum cardinality N means that the slot can have up to Maximum cardinality N means that the slot can have up to
N values. When N is greater than 1 it is a multiple-valued N values. When N is greater than 1 it is a multiple-valued slotslot
August 9, 2004 32Deborah L. McGuinness
Value TypeValue Type Slot value type – what values can the slot Slot value type – what values can the slot
havehave String: a string of characters (“ChString: a string of characters (“Chââteau Lafite”)teau Lafite”) Number: an integer or a float (15, 4.5)Number: an integer or a float (15, 4.5) Boolean: a true/false flagBoolean: a true/false flag Enumerated type: a list of allowed values (red, Enumerated type: a list of allowed values (red,
white, rose)white, rose) Filler: a single value. E.g., the color slot for a Filler: a single value. E.g., the color slot for a
redWine must be filled with the single value “red”redWine must be filled with the single value “red” Object type – a class defined in an ontology. E.g., Object type – a class defined in an ontology. E.g.,
Winery is the value restriction on the hasMaker Winery is the value restriction on the hasMaker slot on the class Wineslot on the class Wine
August 9, 2004 33Deborah L. McGuinness
Slot ExampleSlot Example
August 9, 2004 34Deborah L. McGuinness
Domain and Range of Domain and Range of SlotSlot
Domain of a slot – the class (or Domain of a slot – the class (or classes) that may have the slot e.g., classes) that may have the slot e.g., Wine is the domain of the slot Wine is the domain of the slot hasWineColorhasWineColor
Range of a slot – the class (or Range of a slot – the class (or classes) to which slot values belong classes) to which slot values belong e.g., everything that fills the e.g., everything that fills the hasWineColor slot is an instance of hasWineColor slot is an instance of the enumerated class the enumerated class {red,white,rose}{red,white,rose}
August 9, 2004 35Deborah L. McGuinness
Properties and Class Properties and Class InheritanceInheritance
A subclass A subclass inheritsinherits all the slots from the all the slots from the superclasssuperclass
A subclass can add constraints to A subclass can add constraints to “narrow” the list of allowed values“narrow” the list of allowed values Make the cardinality range smallerMake the cardinality range smaller Replace a class in the range with a subclassReplace a class in the range with a subclass
Wine
Frenchwine
Winery
Frenchwinery
is-a is-a
hasMaker
hasMaker
August 9, 2004 36Deborah L. McGuinness
Create InstancesCreate Instances
Create an instance of a classCreate an instance of a class The class becomes a The class becomes a parent of (or type of)parent of (or type of) the the
instanceinstance Any superclass of a class is an ancestor (or Any superclass of a class is an ancestor (or
type) of the instancetype) of the instance Assign slot values for the instance frameAssign slot values for the instance frame
Slot values should conform to the constraints Slot values should conform to the constraints such as range, value type, cardinality such as range, value type, cardinality restrictions, etc.restrictions, etc.
August 9, 2004 37Deborah L. McGuinness
Creating an Instance: Creating an Instance: ExampleExample
August 9, 2004 38Deborah L. McGuinness
Expanding the OntologyExpanding the Ontology
Breadth-orientedBreadth-oriented Identify all/most of the top level classes, Identify all/most of the top level classes,
properties needed at the top level, and properties needed at the top level, and constraints at the top level before deeperconstraints at the top level before deeper
Depth Oriented Depth Oriented Pick an important branch and go down it Pick an important branch and go down it
identifying specific subclasses, sub-sub-identifying specific subclasses, sub-sub-classes, etc. and the appropriate properties.classes, etc. and the appropriate properties.
Typical ontology design is a combination Typical ontology design is a combination of bothof both
August 9, 2004 39Deborah L. McGuinness
Defining Classes and a Class Defining Classes and a Class HierarchyHierarchy
Make sure the isa hierarchy is Make sure the isa hierarchy is formal –formal – i.e., is every instance of a subclass an i.e., is every instance of a subclass an
instance of the superclassinstance of the superclass There is no single best correct class There is no single best correct class
hierarchy but there are some rules hierarchy but there are some rules of thumbof thumb
August 9, 2004 40Deborah L. McGuinness
Class Hierarchy Class Hierarchy TransitivityTransitivity
The is-a The is-a relationship is relationship is transitivetransitive::B is a subclass of AB is a subclass of A
C is a subclass of BC is a subclass of B
C is a subclass of AC is a subclass of A
August 9, 2004 41Deborah L. McGuinness
Multiple InheritanceMultiple Inheritance
A class can have more than one A class can have more than one superclasssuperclass
The subclass inherits slots and The subclass inherits slots and restrictions from all the parentsrestrictions from all the parents
Different systems may resolve Different systems may resolve conflicts differentlyconflicts differently
August 9, 2004 42Deborah L. McGuinness
Avoiding Class CyclesAvoiding Class Cycles
Class cycles are rarely Class cycles are rarely desirabledesirable
Classes A, B, and C have Classes A, B, and C have equivalent sets of equivalent sets of instancesinstances By many definitions, A, B, By many definitions, A, B,
and C are thus equivalentand C are thus equivalent
August 9, 2004 43Deborah L. McGuinness
Disjoint ClassesDisjoint Classes Classes are Classes are disjointdisjoint if they cannot have common if they cannot have common
instancesinstances Disjoint classes cannot have any common Disjoint classes cannot have any common
subclassessubclasses either either E.g., if winery and wine are disjoint, then there E.g., if winery and wine are disjoint, then there
is no instance that is both a winery and a wine. is no instance that is both a winery and a wine. Similarly, there is no class that is both a Similarly, there is no class that is both a subclass of winery and simultaneously a subclass of winery and simultaneously a subclass of winesubclass of wine
Disjointness is often defined to help consistency Disjointness is often defined to help consistency checkingchecking
August 9, 2004 44Deborah L. McGuinness
Siblings in the Class Siblings in the Class HierarchyHierarchy All the siblings in the All the siblings in the
class hierarchy should class hierarchy should be at the same level of be at the same level of generalitygenerality
Compare to section and Compare to section and subsections in a booksubsections in a book
August 9, 2004 45Deborah L. McGuinness
Levels of hierarchyLevels of hierarchy
If a class has only one If a class has only one child, there may be a child, there may be a modeling problem. This is modeling problem. This is often a sign that the often a sign that the definition is incompletedefinition is incomplete
If the only Red Burgundy If the only Red Burgundy we have is Cwe have is Côôtes d’Or, why tes d’Or, why introduce the introduce the subhierarchy?subhierarchy?
Compare to bullets in a Compare to bullets in a bulleted listbulleted list
August 9, 2004 46Deborah L. McGuinness
Creating Levels and Creating Levels and SubclassesSubclasses
If a class has a large If a class has a large number of subclasses, it number of subclasses, it may be useful to define may be useful to define intermediate subclassesintermediate subclasses
E.g., in the domain of E.g., in the domain of wines, there are natural wines, there are natural groupings around wine groupings around wine colorcolor
However, if no natural However, if no natural classification exists, the classification exists, the long list may be more long list may be more naturalnatural
August 9, 2004 47Deborah L. McGuinness
Single and Plural Class Single and Plural Class NamesNames
A “wine” is not a A “wine” is not a kind-ofkind-of “wines”“wines”
A wine is an A wine is an instanceinstance of of the class Winesthe class Wines
Class names should be Class names should be eithereither all singularall singular all pluralall pluralMariettaOldVinesRed
Class
Instance
instance-of
August 9, 2004 48Deborah L. McGuinness
SynonymsSynonyms
Synonym namesSynonym names for the same for the same concept are not different classesconcept are not different classes
Many systems allow listing Many systems allow listing synonyms as part of the class synonyms as part of the class definitiondefinition
OWL allows defining necessary and OWL allows defining necessary and sufficiency condition definitions sufficiency condition definitions thereby allowing synonym thereby allowing synonym definitions to be “first class” termsdefinitions to be “first class” terms
August 9, 2004 49Deborah L. McGuinness
One example One example hierarchy hierarchy of winesof wines
August 9, 2004 50Deborah L. McGuinness
When to introduce a new When to introduce a new class?class?
Subclasses of a class usually haveSubclasses of a class usually have Additional Additional propertiesproperties Additional slot Additional slot restrictionsrestrictions Participate in different Participate in different relationshipsrelationships
August 9, 2004 51Deborah L. McGuinness
A new class or a property A new class or a property value?value?
Do concepts with different slot values become Do concepts with different slot values become restrictions for different slots?restrictions for different slots?
How important is the distinction for the domain?How important is the distinction for the domain? A class of an instance should not change oftenA class of an instance should not change often
August 9, 2004 52Deborah L. McGuinness
A Class Or An InstanceA Class Or An Instance
Individual instances are the most specific objects in an ontologyIndividual instances are the most specific objects in an ontology If concepts form a natural hierarchy, represent them as classesIf concepts form a natural hierarchy, represent them as classes If they will have instances below them, represent them as classesIf they will have instances below them, represent them as classes
Inverse SlotsInverse Slots hasMaker hasMaker
andand
hasProducerhasProducer
are are inverseinverse slotsslots
Inverse Slots (II)Inverse Slots (II)
Inverse slots contain Inverse slots contain redundant redundant informationinformation, but, but Allow acquisition of the information in either directionAllow acquisition of the information in either direction Enable additional verificationEnable additional verification Allow presentation of information in both directionsAllow presentation of information in both directions
The actual The actual implementationimplementation differs from differs from system to systemsystem to system Are both values stored?Are both values stored? When are the inverse values filled in?When are the inverse values filled in? What happens if we change the link to an inverse slot?What happens if we change the link to an inverse slot?
Limiting the ScopeLimiting the Scope
An ontology should not contain An ontology should not contain allall the possible information about the the possible information about the domaindomain No need to specialize or generalize No need to specialize or generalize
more than the application requiresmore than the application requires No need to include all possible No need to include all possible
properties of a classproperties of a class Only the most salient propertiesOnly the most salient properties Only the properties that the applications Only the properties that the applications
requirerequire
Limiting the Scope (II)Limiting the Scope (II) Ontology of wine, food, and their pairings Ontology of wine, food, and their pairings
probably will not include details not probably will not include details not related to wine and food pairings such as:related to wine and food pairings such as: Bottle size (half bottle, full bottle, magnum, …)Bottle size (half bottle, full bottle, magnum, …) Label colorLabel color Wine bottle color (green, amber, …)Wine bottle color (green, amber, …)
August 9, 2004 57Deborah L. McGuinness
Moving to InfrastructureMoving to Infrastructure
August 9, 2004 58Deborah L. McGuinness
Ontology SupportOntology Support
In order to use an ontology-based In order to use an ontology-based solution, you must have:solution, you must have:
A languageA language A way to encode information (editing A way to encode information (editing
environment)environment) A way to update (evolution environment)A way to update (evolution environment) A way to reason with the information A way to reason with the information
(reasoner)(reasoner) ……
August 9, 2004 59Deborah L. McGuinness
IssuesIssues Collaboration among distributed teamsCollaboration among distributed teams Interconnectivity with many systems/standardsInterconnectivity with many systems/standards Language compatibilityLanguage compatibility Analysis and diagnosisAnalysis and diagnosis ScaleScale VersioningVersioning SecuritySecurity Ease of useEase of use Diverse training levels / user supportDiverse training levels / user support Presentation stylePresentation style LifecycleLifecycle ExtensibilityExtensibility See Das, Wu, and McGuinness. ``Industrial Strength Ontology Management''. In Isabel See Das, Wu, and McGuinness. ``Industrial Strength Ontology Management''. In Isabel
Cruz, Stefan Decker, Jerome Euzenat, and Deborah L. McGuinness, eds. Cruz, Stefan Decker, Jerome Euzenat, and Deborah L. McGuinness, eds. The Emerging The Emerging
Semantic Web. Semantic Web. IOS Press, 2002.IOS Press, 2002.
August 9, 2004 60Deborah L. McGuinness
Ontology Tools SurveyOntology Tools Survey
August 9, 2004 61Deborah L. McGuinness
Editor SurveyEditor Survey
August 9, 2004 62Deborah L. McGuinness
SurveySurvey VersionVersion Release DateRelease Date SourceSource Modeling Modeling
Features/LimitationsFeatures/Limitations Base LanguageBase Language Web SupportWeb Support Import/Export FormatsImport/Export Formats Graph ViewGraph View Consistency ChecksConsistency Checks
Multi-User SupportMulti-User Support MergingMerging Lexical SupportLexical Support Information Information
ExtractionExtraction CommentsComments Info URLInfo URL ContactContact
August 9, 2004 63Deborah L. McGuinness
Tool EnhancementsTool EnhancementsFeatureFeature PercentPercentAbstraction for knowledge modelingAbstraction for knowledge modeling 18% 18% Visual/intuitive navigation of ontology Visual/intuitive navigation of ontology 13%13%Reasoning and problem solving facilities Reasoning and problem solving facilities 12%12%Ontology alignment and data resource integrationOntology alignment and data resource integration 12%12%Support of standard industry domain and core vocabulariesSupport of standard industry domain and core vocabularies
9%9%Natural language processingNatural language processing 7%7%Versioning controlVersioning control 7%7%Ontology language standardization Ontology language standardization 6%6%Built-ins (wizards) for best practice methods Built-ins (wizards) for best practice methods 6%6%
Information extraction facilities Information extraction facilities 4%4%Features to learn user's editing style and needs Features to learn user's editing style and needs 3%3%Collaborative development support Collaborative development support 1%1%Ontology support for contexts Ontology support for contexts 1%1%
August 9, 2004 64Deborah L. McGuinness
Tool CollectionsTool Collections
August 9, 2004 65Deborah L. McGuinness
A Few Example ToolsA Few Example Tools Sandpiper Sandpiper
www.sandsoft.comwww.sandsoft.com Network Inference - Network Inference -
www.networkinference.comwww.networkinference.com Chimaera Chimaera
-www.ksl.stanford.edu/software/chi-www.ksl.stanford.edu/software/chimaera/maera/
Inference Web Inference Web iw.stanford.eduiw.stanford.edu
ProtégéProtégéprotege.stanford.eduprotege.stanford.edu
August 9, 2004 66Deborah L. McGuinness
Sandpiper Knowledge Sandpiper Knowledge Engineering Engineering
framework (prototype)framework (prototype)
Question Answering Environment
Java Theorem Prover(JTP)
Hybrid Reasoning System
OWL-enabled Script(s) of Questions
OWL-QL
Query in OWL-QLAnswer in OWL-QL, including binding set with bound variables;Explanation (Proof) URI
Explanation URI
Authoring and Analysis Question Answering
Draft Ontologies, Metadata in OWL
Chimaera (KSL)/ Sandpiper Analysis Server
KSL Reusable Time OntologyUSGS GILS Metadata Management OntologyISO 11179-based Metadata Registry SupportUtility Ontologies (e.g., SI Units, US Customary Units, ISO 1000 and 31 compliant)OWL-S/SWSL based SWS SupportOther Domain-Specific Ontologies
UML Ontology Libraries
Validated, IntegratedOWL Ontologies and
Meta-knowledge
IBM Rational Rose® 2004
Visual Ontology Modeler™ (VOM)
Activity Log
Query & Results Logging
Activity Log Analysis
Web-based Explanations
August 9, 2004 67Deborah L. McGuinness
visual ontology modelervisual ontology modeler™ ™ (VOM) 1.x(VOM) 1.x
August 9, 2004 68Deborah L. McGuinness
Sandpiper Product PlansSandpiper Product PlansVisual Ontology ModelerVisual Ontology Modeler ™ (VOM v1.x)™ (VOM v1.x)
VOM v1.x customers and user community – ISX Corp, VOM v1.x customers and user community – ISX Corp, Fujitsu, Raytheon IIS, GE Global Research, IBM, MetLife, Fujitsu, Raytheon IIS, GE Global Research, IBM, MetLife, NIST, Stanford KSL, several smaller systems integratorsNIST, Stanford KSL, several smaller systems integrators
In use and/or under evaluation by many government In use and/or under evaluation by many government programs including: NIST, DARPA/XG, DARPA/DAML. EBO programs including: NIST, DARPA/XG, DARPA/DAML. EBO (Effects Based Operations), EU AgentCities programs, …(Effects Based Operations), EU AgentCities programs, …
Component-based ontology authoring in UML, an add-in to Component-based ontology authoring in UML, an add-in to IBM Rational Rose®; growing library of standards and IBM Rational Rose®; growing library of standards and utility ontologies, including ISO/IEC and US metadata utility ontologies, including ISO/IEC and US metadata standardsstandards
VOM v1.5: RDFS/OWL import/export, XMI import/export, VOM v1.5: RDFS/OWL import/export, XMI import/export, MOF-based integration with Adaptive repositoryMOF-based integration with Adaptive repository
Integrated Ontology Development Environment Integrated Ontology Development Environment
(planned)(planned) IBM Rational WSAD/Eclipse and Java based; integrated, IBM Rational WSAD/Eclipse and Java based; integrated,
DB2 deductive KB and ontology management & evolution DB2 deductive KB and ontology management & evolution environmentenvironment
Graphical analysis, alignment, merging and composition of Graphical analysis, alignment, merging and composition of ontology componentsontology components
OWL-S/SWSL support for semantic web servicesOWL-S/SWSL support for semantic web services Integrated, modular reasoning support for consistency Integrated, modular reasoning support for consistency
checking, alignment, composition; explanation and checking, alignment, composition; explanation and provenanceprovenance
August 9, 2004 69Deborah L. McGuinness
CONSTRUCTCONSTRUCTVisio-Based OWL ModelingVisio-Based OWL Modeling
Construct Visual OWL ModelingConstruct Visual OWL ModelingPlug-In to Microsoft Visio (supports Visio 2002 Plug-In to Microsoft Visio (supports Visio 2002 & 2003)& 2003)
Team-Based Ontology DevelopmentTeam-Based Ontology DevelopmentModularization of Large Ontologies for Distributed TeamsModularization of Large Ontologies for Distributed Teams
Consistency Checking for Linked OntologiesConsistency Checking for Linked Ontologies Change SynchronizationChange Synchronization
Standard Visio “tab” Based Palates SupportStandard Visio “tab” Based Palates Support Hierarchical or Thematic Linking of PagesHierarchical or Thematic Linking of Pages
Legacy System Integration (Ontology Mapping)Legacy System Integration (Ontology Mapping)Directly Map OWL to Legacy EnvironmentsDirectly Map OWL to Legacy Environments
Relational Sources and/or XML/Web Service WSDLsRelational Sources and/or XML/Web Service WSDLs
Standards Support (OWL export)Standards Support (OWL export)Automated, Real-Time Syntax Checking for All Linked Automated, Real-Time Syntax Checking for All Linked OntologyOntology
* All Rights Reserved by Network Inference Inc
August 9, 2004 70Deborah L. McGuinness
CONSTRUCTCONSTRUCTRapid Modeling, Visual EditingRapid Modeling, Visual Editing
Provides graphical and text environment for editing
Exports to OWL; Processed by Cerebra Server
* All Rights Reserved by Network Inference Inc
August 9, 2004 71Deborah L. McGuinness
CEREBRACEREBRAEnterprise Inferencing EngineEnterprise Inferencing Engine
Cerebra ServerCerebra ServerCommercial-grade Commercial-grade inference platforminference platform
Provides industry-standard Provides industry-standard query, deployment, and query, deployment, and management capabilitiesmanagement capabilitiesUser ManagementUser ManagementOntology ManagementOntology ManagementQuery ManagementQuery ManagementAccess ManagementAccess Management
Emphasis on scalability, Emphasis on scalability, load balancing, and load balancing, and robustnessrobustness
Standards based (OWL)Standards based (OWL)
* All Rights Reserved by Network Inference Inc
August 9, 2004 72Deborah L. McGuinness
Intensive Data Grids
Sensors & Live Data Feeds
Business Applications
Meta-Access Tier(lower)
Core Service Tier(upper) Cerebra OWL/RDF Server Search
Meta-Data Layer
Security
HeterogeneousData
TECHNOLOGY STACKTECHNOLOGY STACKWhere Network Inference Fits InWhere Network Inference Fits In
Data Warehouses “Webbed” Information
Enterprise Data (SAP, Siebel, etc)
SAP ORACLE BI TOOLS
Implement solutions today that add value above current approaches & capture a piece of the infrastructure
* All Rights Reserved by Network Inference Inc
August 9, 2004 73Deborah L. McGuinness
Example Inference Engine Example Inference Engine PointersPointers
Cerebra – Network Inference’s EngineCerebra – Network Inference’s Engine Jena – HP’s Semantic Web PlatformJena – HP’s Semantic Web Platformhttp://www.hpl.hp.com/semweb/jena.htmhttp://www.hpl.hp.com/semweb/jena.htm A few university options: A few university options:
FACT (Manchester)FACT (Manchester) Racer (http://www.sts.tu-harburg.de/~r.f.moeller/racer/ ) Racer (http://www.sts.tu-harburg.de/~r.f.moeller/racer/ )
suggested DIG (DL Interface) reasoner for Protégé suggested DIG (DL Interface) reasoner for Protégé http://protege.stanford.edu/plugins/owl/ http://protege.stanford.edu/plugins/owl/
JTP - Hybrid Reasoner – FOL plus special purpose reasonerJTP - Hybrid Reasoner – FOL plus special purpose reasoner SemWebCentralSemWebCentral
Largely open source collection including emerging toolsLargely open source collection including emerging tools With an evolving workflows section helping guide choice With an evolving workflows section helping guide choice
http://semwebcentral.org/index.jsp?page=workflows http://semwebcentral.org/index.jsp?page=workflows SWeDe – SW Development Environment – plugins SWeDe – SW Development Environment – plugins
for Eclipse (BBN) http://owl-for Eclipse (BBN) http://owl-eclipse.projects.semwebcentral.org/ eclipse.projects.semwebcentral.org/
August 9, 2004 74Deborah L. McGuinness
Evolution EnvironmentsEvolution Environments
Multiple Ontology Support Multiple Ontology Support MergingMerging Knowledge Base review and suggestionsKnowledge Base review and suggestions
DiagnosticsDiagnostics Provable problems, possible problems, …Provable problems, possible problems, …
Updates, Source Code Control, Updates, Source Code Control, Versioning,Versioning,
Collaborative ComponentsCollaborative Components
August 9, 2004 75Deborah L. McGuinness
Merging (Chimaera)Merging (Chimaera)
August 9, 2004 76Deborah L. McGuinness
StrategiesStrategies Lexical AnalysisLexical Analysis
Term name similarityTerm name similarity Term containment (sportsCar and car)Term containment (sportsCar and car)
Semantic AnalysisSemantic Analysis Structural similarity – the same parents, the Structural similarity – the same parents, the
same slots with the same value restrictions, ….same slots with the same value restrictions, …. Meta information exploitationMeta information exploitation
Expanded merging issuesExpanded merging issues If multiple ontologies were used and one If multiple ontologies were used and one
contained a disjoint decomposition and the contained a disjoint decomposition and the contained those terms along with others at the contained those terms along with others at the same level, they may be candidates for the same level, they may be candidates for the merged disjoint decompositionmerged disjoint decomposition
August 9, 2004 78Deborah L. McGuinness
Inference Web Inference Web **Framework for Framework for explainingexplaining question answering tasks by question answering tasks by
abstracting, storing, exchanging, combining, annotating, abstracting, storing, exchanging, combining, annotating, filtering, segmenting, comparing, and rendering proofs filtering, segmenting, comparing, and rendering proofs and proof fragments provided by question answerersand proof fragments provided by question answerers
IW’s Proof Markup Language (PML)IW’s Proof Markup Language (PML) is an is an interlingua for proof interchangeinterlingua for proof interchange
IWBaseIWBase is a distributed repository of meta- is a distributed repository of meta-information related to proofs and their explanationsinformation related to proofs and their explanations
IW BrowserIW Browser is an IW tool for displaying PML is an IW tool for displaying PML documents containing proofs and explanations documents containing proofs and explanations (possibly from multiple inference engines)(possibly from multiple inference engines)
IW ExplainerIW Explainer is an IW tool for abstracting proofs is an IW tool for abstracting proofs into more understandable formatsinto more understandable formats
*Work with Pinheiro da Silva*Work with Pinheiro da Silva
August 9, 2004 79Deborah L. McGuinness
Registry InformationRegistry Information
IWBase has core and domain-specific repositories of IWBase has core and domain-specific repositories of meta-data useful for disclosing knowledge meta-data useful for disclosing knowledge provenance and reasoning information such as provenance and reasoning information such as descriptions of descriptions of Question answering systems (Inference Engines, Question answering systems (Inference Engines,
Extractors, …) along with their supported Extractors, …) along with their supported inference rulesinference rules
Information sources such as organizations, Information sources such as organizations, publications and ontologiespublications and ontologies
Representation languages along with their Representation languages along with their axiomsaxioms
August 9, 2004 80Deborah L. McGuinness
August 9, 2004 81Deborah L. McGuinness
August 9, 2004 82Deborah L. McGuinness
ExplainerExplainer
Presents Presents QueryQuery AnswerAnswer Abstraction of Justification (PML information)Abstraction of Justification (PML information) Limited Meta InformationLimited Meta Information Suggests Drill down options (also provides Suggests Drill down options (also provides
feedback options)feedback options)
August 9, 2004 83Deborah L. McGuinness
UIMA ExplanationUIMA Explanation
August 9, 2004 84Deborah L. McGuinness
Follow-up : MetadataFollow-up : Metadata
August 9, 2004 85Deborah L. McGuinness
Follow-up: AssumptionsFollow-up: Assumptions
August 9, 2004 86Deborah L. McGuinness
Follow-up: PML AbstractionFollow-up: PML Abstraction(Techies only)(Techies only)
August 9, 2004 87Deborah L. McGuinness
Observations on Explaining Observations on Explaining Extracted Entities (Techies)Extracted Entities (Techies)
Sentences in English
Sentences in annotated English
Sentences in logical format, i.e., KIF
August 9, 2004 88Deborah L. McGuinness
Further Observations on Further Observations on Explaining Extracted Explaining Extracted
EntitiesEntitiesSource: fbi_01.txt
Source Usage: span from 01 to 78
This extractor decided that Person_fbi-01.txt_46
is a Person and not Occupation
Same conclusion from multiple extractors
conflicting conclusion from one extractor
August 9, 2004 89Deborah L. McGuinness
StatusStatus
Inference Web infrastructure (PML, browser, explainer, Inference Web infrastructure (PML, browser, explainer, registry) being used in government programs such as PAL registry) being used in government programs such as PAL and NIMD, commercial research labs – IBM, and NIMD, commercial research labs – IBM, BBoeing, oeing, SRI, Universities – USC, U MD, …SRI, Universities – USC, U MD, …
Integration and registration process underway with Integration and registration process underway with extraction communityextraction community
Useful now for helping decide if information is Useful now for helping decide if information is trustworthy, comes from authoritative sources, consistent, trustworthy, comes from authoritative sources, consistent, reliablereliable
Benefits from more meta data and more information Benefits from more meta data and more information population but is useful in an population but is useful in an incremental natureincremental nature
August 9, 2004 90Deborah L. McGuinness
OWL Lite Features OWL Lite Features RDF Schema FeaturesRDF Schema Features
Class, rdfs:subClassOf , Individual Class, rdfs:subClassOf , Individual rdf:Property, rdfs:subPropertyOf rdf:Property, rdfs:subPropertyOf rdfs:domain , rdfs:range rdfs:domain , rdfs:range
Equality and InequalityEquality and Inequality sameClassAs , samePropertyAs , sameIndividualAs sameClassAs , samePropertyAs , sameIndividualAs differentIndividualFrom differentIndividualFrom
Restricted CardinalityRestricted Cardinality minCardinality, maxCardinality (restricted to 0 or 1) minCardinality, maxCardinality (restricted to 0 or 1) cardinality (restricted to 0 or 1) cardinality (restricted to 0 or 1)
Property CharacteristicsProperty Characteristics inverseOf , TransitiveProperty , SymmetricProperty inverseOf , TransitiveProperty , SymmetricProperty FunctionalProperty(unique) , InverseFunctionalPropertyFunctionalProperty(unique) , InverseFunctionalProperty allValuesFrom, someValuesFrom (universal and existential allValuesFrom, someValuesFrom (universal and existential
local range restrictions)local range restrictions) DatatypesDatatypes
Following the decisions of RDF Core. Following the decisions of RDF Core. Header Information Header Information
imports , Dublin Core Metadata , versionInfoimports , Dublin Core Metadata , versionInfo
August 9, 2004 91Deborah L. McGuinness
OWL FeaturesOWL Features Class AxiomsClass Axioms
oneOfoneOf (enumerated classes) (enumerated classes) disjointWithdisjointWith sameClassAssameClassAs applied to class expressions applied to class expressions rdfs:subClassOfrdfs:subClassOf applied to class expressions applied to class expressions
Boolean Combinations of Class Expressions Boolean Combinations of Class Expressions unionOfunionOf intersectionOfintersectionOf complementOfcomplementOf
Arbitrary Cardinality Arbitrary Cardinality minCardinalityminCardinality maxCardinalitymaxCardinality cardinalitycardinality
Filler InformationFiller Information hasValuehasValue Descriptions can include specific value Descriptions can include specific value
information information
August 9, 2004 92Deborah L. McGuinness
OWL Lite and OWLOWL Lite and OWL
Feature Synopsis:Feature Synopsis:
http://www.w3.org/TR/owl-features/http://www.w3.org/TR/owl-features/ Guide:Guide:
http://www.w3.org/TR/owl-features/http://www.w3.org/TR/owl-features/ Reference Description:Reference Description:
http://www.w3.org/TR/owl-ref/http://www.w3.org/TR/owl-ref/
August 9, 2004 93Deborah L. McGuinness
ValidatorsValidators
For RDF: For RDF: http://www.w3.org/RDF/Validator/ http://www.w3.org/RDF/Validator/
For OWL: For OWL: http://owl.bbn.com/validator/ http://owl.bbn.com/validator/ http://phoebus.cs.man.ac.uk:9999/http://phoebus.cs.man.ac.uk:9999/
OWL/Validator OWL/Validator http://www.mindswap.org/2003/pellet/http://www.mindswap.org/2003/pellet/
demo.shtmldemo.shtml
August 9, 2004 94Deborah L. McGuinness
A few direction setting A few direction setting programsprograms
DARPA Personal Assistant that Learns (PAL)DARPA Personal Assistant that Learns (PAL) Enable computer systems that can reason, learn from Enable computer systems that can reason, learn from
experience, be told what to do, explain what they are experience, be told what to do, explain what they are doing, reflect on their experience, and respond robustly doing, reflect on their experience, and respond robustly to surprise. to surprise.
DARPA Rapid Knowledge Formation (RKF)DARPA Rapid Knowledge Formation (RKF) Goal: allow distributed teams of subject matter experts Goal: allow distributed teams of subject matter experts
to quickly and easily build, maintain, and use knowledge to quickly and easily build, maintain, and use knowledge bases without need for specialized training. bases without need for specialized training.
DARPA High Performance Knowledge Base (HPKB)DARPA High Performance Knowledge Base (HPKB) Goal: advance the technology of how computers acquire, Goal: advance the technology of how computers acquire,
represent and manipulate knowledgerepresent and manipulate knowledgeARDA’s Novel Intelligence for Massive Data (NIMD)ARDA’s Novel Intelligence for Massive Data (NIMD)
Goal – Avoid strategic surprise by helping analysts be Goal – Avoid strategic surprise by helping analysts be more effective (focus attention on critical information more effective (focus attention on critical information and help analyze/prune/refine/explain/reuse/…)and help analyze/prune/refine/explain/reuse/…)
ARDA’s Advanced Question & Answering for Intelligence ARDA’s Advanced Question & Answering for Intelligence (AQUAINT)(AQUAINT) Goal – Advance QA against structured and unstructured Goal – Advance QA against structured and unstructured
infoinfoConsulting including search, ecommerce, configuration, …Consulting including search, ecommerce, configuration, …
August 9, 2004 95Deborah L. McGuinness
Many Program BAAs Using Many Program BAAs Using ResultsResults
NGA BAANGA BAA DARPA XG RadioDARPA XG Radio DARPA CoordinatorsDARPA Coordinators DARPA advanced soldier sensor DARPA advanced soldier sensor
information system and technology information system and technology (ASSIST)(ASSIST)
DARPA Situation Aware Protocols in DARPA Situation Aware Protocols in Edge Network Technologies (SAPIENT)Edge Network Technologies (SAPIENT)
……..
August 9, 2004 96Deborah L. McGuinness
DiscussionDiscussion Choose a language (maybe OWL)Choose a language (maybe OWL) Find an editing environment (text editor, Find an editing environment (text editor,
protégé, construct, vom, …)protégé, construct, vom, …) Generate some markup Generate some markup ValidateValidate Use it for…Use it for…
Search (tap, findUR, …)Search (tap, findUR, …) Consistency checkingConsistency checking Policy checking, enforcement, classification,Policy checking, enforcement, classification, ConfigurationConfiguration Analysis of all types (including NIMD style)Analysis of all types (including NIMD style) AssistantAssistant InteroperabilityInteroperability ……..
August 9, 2004 97Deborah L. McGuinness
PointersPointersSelected Papers:- McGuinness. Ontologies come of age, 2003- Das, Wei, McGuinness, Industrial Strength Ontology Evolution Environments, 2002.- Kendall, Dutra, McGuinness. Towards a Commercial Strength Ontology Development Environment, 2002.- McGuinness Description Logics Emerge from Ivory Towers, 2001.- McGuinness. Ontologies and Online Commerce, 2001.- McGuinness. Conceptual Modeling for Distributed Ontology Environments, 2000.- McGuinness, Fikes, Rice, Wilder. An Environment for Merging and Testing Large Ontologies, 2000.- Brachman, Borgida, McGuinness, Patel-Schneider. Knowledge Representation meets Reality, 1999.- McGuinness. Ontological Issues for Knowledge-Enhanced Search, 1998.- McGuinness and Wright. Conceptual Modeling for Configuration, 1998.
Selected Tutorials:-Smith, Welty, McGuinness. OWL Web Ontology Language Guide, 2003.-Noy, McGuinness. Ontology Development 101: A Guide to Creating your First Ontology. 2001.- Brachman, McGuinness, Resnick, Borgida. How and When to Use a KL-ONE-like System, 1991.
Languages, Environments, Software:- OWL - http://www.w3.org/TR/owl-features/ , http://www.w3.org/TR/owl-guide/- DAML+OIL: http://www.daml.org/- Inference Web - http://www.ksl.stanford.edu/software/iw/ - Chimaera - http://www.ksl.stanford.edu/software/chimaera/ - FindUR - http://www.research.att.com/people/~dlm/findur/ - TAP – http://tap.stanford.edu/- DQL - http://www.ksl.stanford.edu/projects/dql/
August 9, 2004 98Deborah L. McGuinness
ExtrasExtras
August 9, 2004 99Deborah L. McGuinness
General Nature of General Nature of DescriptionsDescriptions
a WINE
a LIQUIDa POTABLE
grape: chardonnay, ... [>= 1]sugar-content: dry, sweet, off-drycolor: red, white, roseprice: a PRICEwinery: a WINERY
grape dictates color (modulo skin)harvest time and sugar are related
general categories
structured components
interconnectionsbetween parts
August 9, 2004 100Deborah L. McGuinness
General Nature of General Nature of DescriptionsDescriptions
a WINE
a LIQUIDa POTABLE
grape: chardonnay, ... [>= 1]sugar-content: dry, sweet, off-drycolor: red, white, roseprice: a PRICEwinery: a WINERY
grape dictates color (modulo skin)harvest time and sugar are related
general categories
structured components
interconnectionsbetween parts
number/card restrictions
valuerestrictions
class
superclass
Roles/properties
August 9, 2004 101Deborah L. McGuinness
Some uses of OntologiesSome uses of OntologiesSimple ontologies (taxonomies) provide:Simple ontologies (taxonomies) provide: Controlled shared vocabulary (search engines, Controlled shared vocabulary (search engines,
authors, users, databases, programs/agents all speak authors, users, databases, programs/agents all speak same language)same language)
Site Organization and Navigation SupportSite Organization and Navigation Support Expectation setting (left side of many web pages)Expectation setting (left side of many web pages) ““Umbrella” Upper Level Structures (for extension)Umbrella” Upper Level Structures (for extension) Browsing support (tagged structures such as Browsing support (tagged structures such as
Yahoo!)Yahoo!) Search support (query expansion approaches such Search support (query expansion approaches such
as FindUR, e-Cyc)as FindUR, e-Cyc) Sense disambiguationSense disambiguation
August 9, 2004 102Deborah L. McGuinness
KSL Wine AgentKSL Wine AgentSemantic Web IntegrationSemantic Web Integration
Wine Agent receives a meal description and retrieves a selection of matching wines available on the Web, using an ensemble of emerging standards and tools:
• DAML+OIL / OWL for representing a domain ontology of foods, wines, their properties, and relationships between them• JTP theorem prover for deriving appropriate pairings• DQL for querying a knowledge base consisting of the above• Inference Web for explaining and validating the response• [Web Services for interfacing with vendors]• Utilities for conducting and caching the above transactions
August 9, 2004 103Deborah L. McGuinness
August 9, 2004 104Deborah L. McGuinness
<rdfs:Class rdf:ID="BLAND-FISH-COURSE"> <daml:intersectionOf rdf:parseType="daml:collection"> <rdfs:Class rdf:about="#MEAL-COURSE"/> <daml:Restriction> <daml:onProperty rdf:resource="#FOOD"/> <daml:toClass rdf:resource="#BLAND-FISH"/> </daml:Restriction> </daml:intersectionOf> <rdfs:subClassOf rdf:resource="#DRINK-HAS-DELICATE-FLAVOR-
RESTRICTION"/> </rdfs:Class> <rdfs:Class rdf:ID="BLAND-FISH"> <rdfs:subClassOf rdf:resource="#FISH"/> <daml:disjointWith rdf:resource="#NON-BLAND-FISH"/> </rdfs:Class> <rdf:Description rdf:ID="FLOUNDER"> <rdf:type rdf:resource="#BLAND-FISH"/> </rdf:Description> <rdfs:Class rdf:ID="CHARDONNAY"> <rdfs:subClassOf rdf:resource="#WHITE-COLOR-RESTRICTION"/> <rdfs:subClassOf rdf:resource="#MEDIUM-OR-FULL-BODY-
RESTRICTION"/> <rdfs:subClassOf rdf:resource="#MODERATE-OR-STRONG-FLAVOR-
RESTRICTION"/> […] </rdfs:Class> <rdf:Description rdf:ID="BANCROFT-CHARDONNAY"> <rdf:type rdf:resource="#CHARDONNAY"/> <REGION rdf:resource="#NAPA"/> <MAKER rdf:resource="#BANCROFT"/> <SUGAR rdf:resource="#DRY"/> […] </rdf:Description>
August 9, 2004 105Deborah L. McGuinness
ProcessingProcessing Given a description of a meal,Given a description of a meal,
Use DQL to state a premise (the meal) and query the Use DQL to state a premise (the meal) and query the knowledge base for a suggestion for a wine knowledge base for a suggestion for a wine description or set of instancesdescription or set of instances
Use JTP to deduce answers (and proofs)Use JTP to deduce answers (and proofs) Use Inference Web to explain results (descriptions, Use Inference Web to explain results (descriptions,
instances, provenance, reasoning engines, etc.)instances, provenance, reasoning engines, etc.) Access relevant web sites (wine.com, …) to access Access relevant web sites (wine.com, …) to access
current informationcurrent information Use DAML-S for markup and protocol*Use DAML-S for markup and protocol*
http://www.ksl.stanford.edu/projects/wine/explanation.html
August 9, 2004 106Deborah L. McGuinness
August 9, 2004 107Deborah L. McGuinness
August 9, 2004 108Deborah L. McGuinness
Querying multiple online Querying multiple online sourcessources
August 9, 2004 109Deborah L. McGuinness
A Few Observations about A Few Observations about OntologiesOntologies Simple ontologies can be built by non-expertsSimple ontologies can be built by non-experts
Verity’s Topic Editor, Collaborative Topic Builder, GFP, Chimaera, Protégé, OIL-Verity’s Topic Editor, Collaborative Topic Builder, GFP, Chimaera, Protégé, OIL-ED, etc.ED, etc.
Ontologies can be semi-automatically generatedOntologies can be semi-automatically generated from crawls of site such as yahoo!, amazon, excite, etc.from crawls of site such as yahoo!, amazon, excite, etc. Semi-structured sites can provide starting pointsSemi-structured sites can provide starting points
Ontologies are exploding (business pull instead of technology push)Ontologies are exploding (business pull instead of technology push) e-commerce - MySimon, Amazon, Yahoo! Shopping, VerticalNet, …e-commerce - MySimon, Amazon, Yahoo! Shopping, VerticalNet, … Controlled vocabularies (for the web) abound - SIC codes, UMLS, UNSPSC, Controlled vocabularies (for the web) abound - SIC codes, UMLS, UNSPSC,
Open Directory (DMOZ), Rosetta Net, SUMOOpen Directory (DMOZ), Rosetta Net, SUMO Business interest expanding – ontology directors, business ontologies are Business interest expanding – ontology directors, business ontologies are
becoming more complicated (roles, value restrictions, …), VC firms interested,becoming more complicated (roles, value restrictions, …), VC firms interested, Markup Languages growing XML, RDF, DAML, RuleML, xxMLMarkup Languages growing XML, RDF, DAML, RuleML, xxML ““Real” ontologies are becoming more central to applicationsReal” ontologies are becoming more central to applications Search companies moving towards them – Yahoo, recently GoogleSearch companies moving towards them – Yahoo, recently Google
August 9, 2004 110Deborah L. McGuinness
August 9, 2004 111Deborah L. McGuinness
August 9, 2004 112Deborah L. McGuinness
Implications and Needs Implications and Needs for Ontology-enhanced for Ontology-enhanced
applicationsapplications Ontology Language Syntax and Semantics Ontology Language Syntax and Semantics
(DAML+OIL, OWL)(DAML+OIL, OWL) Upper Level/Core ontologies for reuse (Cyc, SUMO, Upper Level/Core ontologies for reuse (Cyc, SUMO,
CNS coalition, DAML-S…)CNS coalition, DAML-S…) Environments for Creation of Ontologies (Protégé, Environments for Creation of Ontologies (Protégé,
Sandpiper, Construct, OilEd, …)Sandpiper, Construct, OilEd, …) Environments for Maintenance of Ontologies Environments for Maintenance of Ontologies
(Chimaera, OntoBuilder, …)(Chimaera, OntoBuilder, …) Reasoning Environments (Cerebra, Fact, JTP, Snark, Reasoning Environments (Cerebra, Fact, JTP, Snark,
…)…) Training (Conceptual Modeling, reasoning usage, Training (Conceptual Modeling, reasoning usage,
tutorials – OWL Guide, Ontologies 101, OWL Tutorial, tutorials – OWL Guide, Ontologies 101, OWL Tutorial, …)…)
August 9, 2004 113Deborah L. McGuinness
DAML/OWL DAML/OWL Language Language
Web Languages
RDF/SXML
DAML-ONT
Formal FoundationsDescription Logics
FACT, CLASSIC, DLP, …
Frame Systems
DAML+OILOWL
OIL
•Extends vocabulary of XML and RDF/S•Rich ontology representation language•Language features chosen for efficient implementations
August 9, 2004 114Deborah L. McGuinness
IssuesIssues Collaboration among distributed teamsCollaboration among distributed teams Interconnectivity with many systems/standardsInterconnectivity with many systems/standards Analysis and diagnosisAnalysis and diagnosis ScaleScale VersioningVersioning SecuritySecurity Ease of useEase of use Diverse training levels / user supportDiverse training levels / user support Presentation stylePresentation style LifecycleLifecycle ExtensibilityExtensibility
August 9, 2004 115Deborah L. McGuinness
PointersPointersSelected Papers:- McGuinness. Ontologies come of age, 2003- Das, Wei, McGuinness, Industrial Strength Ontology Evolution Environments, 2002.- Kendall, Dutra, McGuinness. Towards a Commercial Strength Ontology Development Environment, 2002.- McGuinness Description Logics Emerge from Ivory Towers, 2001.- McGuinness. Ontologies and Online Commerce, 2001.- McGuinness. Conceptual Modeling for Distributed Ontology Environments, 2000.- McGuinness, Fikes, Rice, Wilder. An Environment for Merging and Testing Large Ontologies, 2000.- Brachman, Borgida, McGuinness, Patel-Schneider. Knowledge Representation meets Reality, 1999.- McGuinness. Ontological Issues for Knowledge-Enhanced Search, 1998.- McGuinness and Wright. Conceptual Modeling for Configuration, 1998.
Selected Tutorials:-Smith, Welty, McGuinness. OWL Web Ontology Language Guide, 2003.-Noy, McGuinness. Ontology Development 101: A Guide to Creating your First Ontology. 2001.- Brachman, McGuinness, Resnick, Borgida. How and When to Use a KL-ONE-like System, 1991.
Languages, Environments, Software:- OWL - http://www.w3.org/TR/owl-features/ , http://www.w3.org/TR/owl-guide/- DAML+OIL: http://www.daml.org/- Inference Web - http://www.ksl.stanford.edu/software/iw/ - Chimaera - http://www.ksl.stanford.edu/software/chimaera/ - FindUR - http://www.research.att.com/people/~dlm/findur/ - TAP – http://tap.stanford.edu/- DQL - http://www.ksl.stanford.edu/projects/dql/