Title: Understanding Ontologies
1Understanding Ontologies
2What is an Ontology?
- An ontology defines the common words and concepts
(the meaning) used to describe and represent an
area of knowledge - An ontology is a specification of the
conceptualization of a term - An ontology models the vocabulary and meaning of
domains of interests in a computer-usable form ?
make knowledge reusable
3Ontology Spectrum
Thesauruses
Formalis-a
Frames(properties)
GeneralLogicalconstraints
narrower termrelation
Catalog/ID
Formalinstance
Disjointness,Inverse,Part-of
Terms/glossary
Informalis-a
ValueRestriction
4Ontology Spectrum (Cont.)
- Controlled vocabulary a finite list of terms
- Glossary a list of terms and meanings (NL
statements) - Would not meet the requirement of being
machine-processible - Thesaurus additional semantics in their
treatments of relations between terms - synonym, hyponym, narrower, broader
- No explicit hierarchy
- Term hierarchies Yahoos catalog
- Semantically weaker taxonomies
- Without true subclass (is-a) relationships,
certain kinds of deductive uses of ontologies
become problematic
5Ontology Spectrum (Cont.)
- Strict subclass hierarchies
- If A is a superclass of B, then if an object is
an instance of B, it necessarily follows that the
object is an instance of A - Necessary for exploitation of inheritance
- Formal instance relationships
- Some concept classification schemes include only
class names, whereas others include ground
individual content, including instances of
classes - Frame (property information)
- Useful for knowledge modeling when they are
specified at a general class level and inherited
consistently by subclasses and instances
6Ontology Spectrum (Cont.)
- Value restrictions
- Place restrictions on what can fill a property
- Integer, range
- Arbitrary logical statements
- Ex. The value of one property based on other
properties - First-order logic constraints, disjoint classes,
part-whole relationship
7What is an Ontology?
- Mandatory
- Finite controlled (extensible) vocabulary
- Unambiguous interpretation of classes and term
relationships - Strict hierarchical subclass relationships
between classes - Typical
- Property specification on a per-class basis
- Individual inclusion in the ontology
- Value restriction specification on a per-class
basis - Desirable
- Specification of disjoint classes
- Specification of arbitrary logical relationships
between terms - Distinguished relationships, such as inverse and
part-whole
8What is an Ontology?
- An ontology defines the common words and concepts
(the meaning) used to describe and represent an
area of knowledge - An ontology models the vocabulary and meaning of
domains of interests in a computer-usable form ?
make knowledge reusable - Classes (general things, objects) in domains
- Instances (particular things)
- The relationships among those things
- The properties (and properties values) of those
things - The functions of and processes involving those
things - Constraints on and rules involving those things
9Graphical Ontology ExampleHuman Resources
10Ontology-Related Fields
- Knowledge engineering
- Knowledge representation
- Qualitative modeling
- Language engineering
- Database design
- Information retrieval and extraction
- Knowledge management and organization
- Library science
- Ontology-enhanced search
- E-commerce
- Configuration
11SW and Ontology
- In SW, information is given explicit meaning,
making it easier for machines to automatically
process and integrate information available on
the Web. - XML define customized tagging schemes (lack of
semantics) - RDF/RDFS represent data
- The next element required for the SW is a web
ontology language which can formally describe the
semantics of classes and properties used in web
documents. - In order for machines to perform useful reasoning
tasks on these documents, the language must go
beyond the basic semantics of RDF Schema
12SW and Ontology (Cont.)
- In SW, Ontologies is a way of representing the
semantics of documents and enabling the semantics
to be used by web applications and intelligent
agents. - Ontologies can prove very useful for a community
as a way of structuring and defining the meaning
of the metadata terms that are currently being
collected and standardized. - Using ontologies, tomorrow's applications can be
"intelligent," in the sense that they can more
accurately work at the human conceptual level.
13SW and Ontology (Cont.)
- In SW, Ontologies is a way of representing the
semantics of documents and enabling the semantics
to be used by web applications and intelligent
agents. - Ontologies can prove very useful for a community
as a way of structuring and defining the meaning
of the metadata terms that are currently being
collected and standardized. - Using ontologies, tomorrow's applications can be
"intelligent," in the sense that they can more
accurately work at the human conceptual level.
14Simple Ontologies and Their Uses
15Simple Ontologies Available
- DMOZ (Directory Mozilla) (http//www.dmoz.com)
- Unified medical language system (UMLS)
(http//www.nlm.nih.gov/research/umls/) - Cycorp (http//www.cyc.com)
- http//www.daml.org/ontologies/submitter.html
16Simple Ontologies Uses
- Controlled vocabulary
- Users, authors, and databases can all use (share)
terms from the same vocabulary - Common term usage is a start for interoperability
- Site organization and navigation support
- Expose the top levels of a generation hierarchy
of terms as a kind of browsing structure - Support expectation setting let users quickly
determine the site might have content/service of
interest to them - Search support
- Content on a site may be tagged with terms from
the ontology - Search engines may exploit the tagging and
provide enhanced search capability
17Simple Ontologies Uses (Cont.)
- Umbrella structures from which to extend
content - High-level taxonomic organization from which many
efforts may inherit terms - Universal Standard Products and Services
Classification (UNSPSC) (http//www.unspsc.org) - Provide the infrastructure for interoperability
of terms in the domains of products and services - A number of e-commerce applications are looking
for umbrella organization structures (UNSPSC) - May need to extend
- Share umbrella or upper-level ontology for
interoperability - Sense disambiguation support Jordan, Java
18A Portion of the UNSPEC Electronic Commerce
Taxonomy
Live plant and Animal
Live animals
Livestock
Subclass of
Cats
Dogs
19Structured Ontologies and Their Uses
Make application smarter
- Consistency checking
- Property type validation and value restrictions
- Provide completion
- High-resolution screen ? ONTOLOGY ? 1024768
- man ? ONTOLOGY ? male ? Dont ask him
questions about pregnant - Interoperability support
- Structured ontologies may have a complete
operational definition for how on term relates to
another term - StandardEmployee a Person with employer
StanfordUniv. - Person, employer, StanfordUniv.
20Structured Ontologies and Their Uses (Cont.)
- Exploit generalization/specialization information
- If a search applications finds that a users
query generates too many answers ?
specialization - Ex. Concerts in the San Francisco Bay Area
- Show subclasses of Concerts (like Rock,
Classic) - Provide alternative values (such as siblings)
- Support structured, comparative, and customized
search - Television ?Properties (diagonal, price,
manufacturer) - Provide a form including these properties for
users to fill in - Mark which properties are most useful to present
in comparative analysis
21Structured Ontologies and Their Uses (Cont.)
- Support validation and verification testing of
data (and schemas) - If a Person can have only one employer ? some
Person has 2 or 3? - If a Person is an Employee ? employer should not
be empty - Chimaera Check ontologies for problems in
ontology definition as well as problems with the
instance data
22Use Cases of Web Ontologies
23Web Portals
- Provide information content on a common topic
- A starting place for locating interesting content
- Submitted by members of the community
- Often index it under some subtopic.
- Rely on the content providers tagging the content
with information that can be used in syndicating
it. - Use simple metatags that identify the topic of
the content - Define an ontology for the community
- Provide a terminology for describing content and
axioms that define terms using other terms from
the ontology - "journal paper," "publication," "person," and
"author." "all journal papers are publications"
or "the authors of all publications are people."
24Web Portals with Ontology
- When combined with facts, these definitions allow
other facts that are necessarily true to be
inferred - These inferences can allow users to obtain search
results from the portal that are impossible to
obtain from conventional retrieval systems - Rely on content providers using the web ontology
language to capture high-quality ontology
relationships - Ontology-based Web Portals
- OntoWeb
- The Open Directory Project
25Multimedia Collection
- Use ontologies to provide semantic annotations
for collections of images, audio, or other
non-textual objects - Ontologies would capture additional knowledge
about the domain that can be used to improve
retrieval of images - Example archive of images of antique furniture
- Create a taxonomy to classify the different types
of furniture - "Late Georgian" ? date.created in 1760, 1811
AND culture is British (benefit for Indexer and
Searcher) - "Late Georgian chest of drawers" ? made of
mahogany - A user query for "antique mahogany storage
furniture" could match with images of Late
Georgian chests of drawers, even if nothing is
said about wood type in the image annotation. - Real semantic query
26Corporate Web Site Management
- Corporations have numerous web pages concerning
press releases, product offerings and case
studies, white papers - Ontologies can be used to index these documents
and provide better means of retrieval - A single ontology is often limiting because the
constituent categories are likely constrained to
those representing one view and one granularity
of a domain - The ability to simultaneously work with multiple
ontologies would increase the richness of
description
27Corporate Web Site Management (Cont.)
- Useful for each class of user to have different
ontologies of terms, but have each ontology
interrelated so translations can be performed
automatically - A salesperson looking for sales collateral
relevant to a sales pursuit. - A technical person looking for pockets of
specific technical expertise and detailed past
experience. - A project leader looking for past experience and
templates to support a complex, multi-phase
project, both during the proposal phase and
during execution
28Corporate Web Site Management (Cont.)
- Frame queries at the right level of abstraction.
- Expertise in OS ? expert employee with both Unix
and Windows - Facilitate content reuse
- Use ontologies to reason about how past templates
and documents can be reassembled in new
configurations, while satisfying a diverse set of
preconditions.
29Design Documentation
- Engineering documentation in aerospace industry
- Design, manufacturing, and testing documentation
- Each set has a hierarchical structure, but differ
between sets - Cross-linking a wing spar might appear in each
design doc. - Concrete example in aerospace
- ME looking for all information relating to a
particular part - DE looking at constraints on re-use of a
particular sub-assembly - Use constraints to enhance search or check
consistency - biplane(X) ? CardinalityOf(wing(X)) 2
- wingspar(X) AND wing(Y) AND isComponentOf(X,Y) ?
length(X) lt length(Y)
30Design Documentation (Cont.)
- Support the visualization and editing of charts
- Show snapshots of the information space centered
on a particular concept - typically activity/rule diagrams or
entity-relationship diagrams
31Agents and Services
- The SW can provide agents with the capability to
understand and integrate diverse information
resources. - Example Social activities planner (take the
preferences of a user to plan the user's
activities) - Depend upon the richness of the service
environment being offered and the needs of the
user. - During the service determination/matching
process, ratings and review services may also be
consulted - Require
- Domain ontologies that represent the terms for
restaurants, hotels - Service ontologies to represent the terms used in
the actual services.
32Agents and Services (Cont.)
- Key issues
- Use and integration of multiple separate
ontologies across different domains and services - Distributed location of ontologies across the
Internet - Potentially different ontologies for each domain
or service (ontology translation/cross-referencing
) - Simple ontology representation to make the task
of defining and using ontologies easier - Agentcities
33Ubiquitous Computing
- An emerging paradigm of personal computing
- Characterized by the shift from dedicated
computing machinery to pervasive computing
capabilities embedded in our everyday
environments. - Small, handheld, wireless computing devices.
- Require network architectures to support
automatic, ad hoc configuration. - "Serendipitous interoperability,"
interoperability under "un-choreographed"
conditions - Service discovery, contracting, and composition
34Ubiquitous Computing (Cont.)
- An ontology language will be used to describe the
characteristics of devices, the means of access
to such devices, the policy established by the
owner for use of a device, and other technical
constraints and requirements that affect
incorporating a device into a ubiquitous
computing network. - DAML-S
- RDF-based schemes for representing information
about device characteristics - W3C's Composite Capability/Preference Profile
(CC/PP) - WAP Forum's User Agent Profile or UAProf)
35Ontology Acquisition
- Many ontologies exist in the public domain
- Ontology obtainment
- Start with an existing industry standard and use
that as the ontology starting point - Modify/extend to meet application-specific
requirement - Semi-automatically generate a starting point
- Crawl certain site or analyze documents to obtain
a starting taxonomic structure, and then analyze,
modify and extend it
36Ontology Acquisition (Cont.)
- Ontology sources
- NIST (http//www.nist.gov)
- RosettaNet (http//www.rosettanet.org)
- IT, electronic technology, electronic components,
semiconductor manufacturing - Trade organizations or e-commerce site
- DARPA High Performance Knowledge Base Program and
the Rapid Knowledge Formation Program
(http//reliant.teknowledge.com/RKF) - DAML ontologies (http//www.daml.org/ontologies)
37Ontology-Related Implications and Needs
- Ontology language
- Expressive power of a representation and
reasoning - Range check, property specification with value
restriction - If support disjoint ? inference engine must check
and enforce - Take the best of research on expressive power
along with reasoning power, and provide
representationally powerful languages that have
known reasoning property and are efficient in
their implementation - Syntax description and semantic description
- DAML OIL ? OWL
- Merge the best of existing Web languages,
description logics, and frame-based systems
38Ontology-Related Implications and Needs (Cont.)
- Environment
- How to generate, analyze, modify, and maintain an
ontology over time - Ontology toolkits
- Verity, Ontolingua, Chimaera, OilEd, Protégé
39Protégé
40Ontology-Related Implications and Needs (Cont.)
- Environment (Cont.)
- Issues to be considered when use or build an
ontology environment - Collaboration and distributed workforce support
- Platform interconnectivity
- Scale
- Versioning
- Security
- Analysis
- Life cycle issues
- Ease of use
- Diverse use support
- Presentation style
- Extensibility
41OWL (Web Ontology Language)Overview
42Overview
- W3C recommendations related to the Semantic Web
- XML provides a surface syntax for structured
documents, but imposes no semantic constraints on
the meaning of these documents. - XML Schema is a language for restricting the
structure of XML documents and also extends XML
with datatypes. - RDF is a datamodel for objects ("resources") and
relations between them, provides a simple
semantics for this datamodel, and these
datamodels can be represented in an XML syntax. - RDF Schema is a vocabulary for describing
properties and classes of RDF resources, with a
semantics for generalization-hierarchies of such
properties and classes. - OWL adds more vocabulary for describing
properties and classes among others, relations
between classes (e.g. disjointness), cardinality
(e.g. "exactly one"), equality, richer typing of
properties, characteristics of properties (e.g.
symmetry), and enumerated classes.
43Overview (Cont.)
- The OWL Web Ontology Language is designed for use
by applications that need to process the content
of information instead of just presenting
information to humans - OWL is a revision of the DAMLOIL web ontology
language
44The three sublanguages of OWL
- OWL Lite
- Supports a classification hierarchy and simple
constraints. - Supports cardinality constraints, but only
permits 0 or 1. - Provides a quick migration path for thesauri and
other taxonomies - OWL DL (description logics)
- Supports the maximum expressiveness while
retaining computational completeness (all
conclusions are guaranteed to be computable) and
decidability (all computations will finish in
finite time). - OWL DL includes all OWL language constructs, but
they can be used only under certain restrictions
(for example, while a class may be a subclass of
many classes, a class cannot be an instance of
another class).
45The three sublanguages of OWL (Cont.)
- OWL Full
- Support maximum expressiveness and the syntactic
freedom of RDF with no computational guarantees.
Examples - A class can be treated simultaneously as a
collection of individuals and as an individual in
its own right. - Attach property to classes
- OWL Full allows an ontology to augment the
meaning of the pre-defined (RDF or OWL)
vocabulary. - It is unlikely that any reasoning software will
be able to support complete reasoning for every
feature of OWL Full.
46The three sublanguages of OWL (Cont.)
- Each of these sublanguages is an extension of its
simpler predecessor, both in what can be legally
expressed and in what can be validly concluded - Every legal OWL Lite ontology is a legal OWL DL
ontology. - Every legal OWL DL ontology is a legal OWL Full
ontology. - Every valid OWL Lite conclusion is a valid OWL DL
conclusion. - Every valid OWL DL conclusion is a valid OWL Full
conclusion. - OWL Full can be viewed as an extension of RDF,
while OWL Lite and OWL DL can be viewed as
extensions of a restricted view of RDF - Every OWL (Lite, DL, Full) document is an RDF
document, and every RDF document is an OWL Full
document, but only some RDF documents will be a
legal OWL Lite or OWL DL document.
47Language Synopsis
48OWL Lite Synopsis
- RDF Schema Features
- Class (Thing, Nothing)
- rdfssubClassOf
- rdfProperty
- rdfssubPropertyOf
- rdfsdomain
- rdfsrange
- Individual
- (In)Equality
- equivalentClass
- equivalentProperty
- sameAs
- differentFrom
- AllDifferent
- distinctMembers
49OWL Lite Synopsis (Cont.)
- Property Characteristics
- ObjectProperty
- DatatypeProperty
- inverseOf
- TransitiveProperty
- SymmetricProperty
- FunctionalProperty
- InverseFunctionalProperty
- Property Restrictions
- Restriction
- onProperty
- allValuesFrom
- someValuesFrom
- Restricted Cardinality
- minCardinality (only 0 or 1)
- maxCardinality (only 0 or 1)
- cardinality (only 0 or 1)
- Header Information
- Ontology
- imports
- Class Intersection
- intersectionOf
50OWL Lite Synopsis (Cont.)
- Versioning
- versionInfo
- priorVersion
- backwardCompatibleWith
- incompatibleWith
- DeprecatedClass
- DeprecatedProperty
- Annotation Properties
- rdfslabel
- rdfscomment
- rdfsseeAlso
- rdfsisDefinedBy
- AnnotationProperty
- OntologyProperty
- Datatypes
- xsd datatypes
51OWL DL and Full Synopsis
- Class Axioms
- oneOf, dataRange
- disjointWith
- equivalentClass(applied to class expressions)
- rdfssubClassOf(applied to class expressions)
- Boolean Combinations of Class Expressions
- unionOf
- complementOf
- intersectionOf
- Arbitrary Cardinality
- minCardinality
- maxCardinality
- cardinality
- Filler Information
- hasValue
52Language Description of OWL Lite
53OWL Lite RDF Schema Features
- Class
- A class defines a group of individuals that
belong together because they share some
properties. - Classes can be organized in a specialization
hierarchy using subClassOf. - Thing a superclass of all OWL classes.
- Nothing the class that has no instances and a
subclass of all OWL classes. - rdfssubClassOf
- Used to create class hierarchies
- Example Person is a subclass of Mammal
- A reasoner if an individual is a Person, then it
is also a Mammal
54OWL Lite RDF Schema Features (Cont.)
- rdfProperty
- Used to state relationships between individuals
or from individuals to data values - Examples hasChild, hasRelative, hasSibling, and
hasAge - ObjectProperty and DatatypeProperty
- Both owlObjectProperty and owlDatatypeProperty
are subclasses of the RDF class rdfProperty - rdfssubPropertyOf
- Used to create property hierarchies
- hasSibling is a subproperty of hasRelative
55OWL Lite RDF Schema Features (Cont.)
- rdfsdomain
- Limits the individuals to which the property can
be applied. - Example the property hasChild has the domain of
Mammal. - If Frank hasChild Anna, then Frank must be a
Mammal. - rdfsrange
- Limits the individuals that the property may have
as its value. - Example the property hasChild has the range of
Mammal. - If Deborah is the child of Louise, then Deborah
is a Mammal. - Individual
- Individuals are instances of classes, and
properties may be used to relate one individual
to another.
56OWL Lite Equality and Inequality
- equivalentClass Two classes may be stated to be
equivalent. - Equivalent classes have the same instances.
- Equality can be used to create synonymous
classes. - Example Car is a equivalentClass to Automobile.
- Any individual that is an instance of Car is also
an instance of Automobile and vice versa. - equivalentProperty Two properties may be stated
to be equivalent. - Equivalent properties relate one individual to
the same set of other individuals. - Equality may be used to create synonymous
properties. - Example hasLeader is the equivalentProperty to
hasHead. - If X is related to Y by the property hasLeader, X
is also related to Y by the property hasHead and
vice versa. - hasLeader is a subproperty of hasHead and hasHead
is a subProperty of hasLeader.
57OWL Lite Equality and Inequality (Cont.)
- sameAs Two individuals may be stated to be the
same. - Used to create a number of different names that
refer to the same individual - Example Deborah is the same individual as
DeborahMcGuinness - differentFrom
- An individual may be stated to be different from
other individuals. - Example Frank is different from Deborah and Jim.
- If Frank and Deborah are both values for a
property that is stated to be functional ?
contradiction - AllDifferent
- A number of individuals may be stated to be
mutually distinct in one AllDifferent statement. - Example Frank, Deborah, and Jim are mutually
distinct using the AllDifferent construct. - Enforce that Jim and Deborah are distinct (not
just that Frank is distinct from Deborah and
Frank is distinct from Jim).
58OWL Lite Property Characteristics
- inverseOf
- If the property P1 is inverse of the property P2,
then if X is related to Y by the P2 property,
then Y is related to X by the P1 property. - Example if hasChild is the inverse of hasParent
and Deborah hasParent Louise ?Louise hasChild
Deborah - TransitiveProperty
- If the pair (x,y) is an instance of the
transitive property P, and the pair (y,z) is an
instance of P, then the pair (x,z) is also an
instance of P. - Example if ancestor is stated to be transitive,
and if Sara is an ancestor of Louise and Louise
is an ancestor of Deborah ? Sara is an ancestor
of Deborah
59OWL Lite Property Characteristics (Cont.)
- SymmetricProperty
- If (x,y) is an instance of the symmetric property
P, (y,x) is also an instance of P. - Example friend is a symmetric property. Frank is
a friend of Deborah ? Deborah is a friend of
Frank. - FunctionalProperty
- If a property is a FunctionalProperty, then it
has no more than one value for each individual
(it may have no values for an individual). - The property's minimum cardinality is zero and
its maximum cardinality is 1. - Example hasPrimaryEmployer is a
FunctionalProperty ?no individual may have more
than one primary employer.
60OWL Lite Property Characteristics (Cont.)
- InverseFunctionalProperty
- If a property is inverse functional then the
inverse of the property is functional. - The inverse of the property has at most one value
for each individual - Example, hasUSSocialSecurityNumber is inverse
functional - The inverse of this property has at most one
value for any individual in the class of social
security numbers. - No two different individual instances of Person
have the identical US Social Security Number. - If two instances of Person have the same social
security number, then those two instances refer
to the same individual.
61OWL Lite Property Restrictions
- allValuesFrom
- Stated on a property with respect to a class.
- This property on this particular class has a
local range restriction - Example the class Person may have a property
called hasDaughter restricted to have
allValuesFrom the class Woman. - If an individual person Louise is related by the
property hasDaughter to the individual Deborah ?
Deborah is an instance of the class Woman
62OWL Lite Property Restrictions (Cont.)
- someValuesFrom
- Stated on a property with respect to a class.
- A particular class may have a restriction on a
property that at least one value for that
property is of a certain type. - Example the class SemanticWebPaper may have a
someValuesFrom restriction on the hasKeyword
property that states that some value for the
hasKeyword property should be an instance of the
class SemanticWebTopic.
63OWL Lite Restricted Cardinality
- The restrictions constrain the cardinality of
that property on instances of that class - OWL Lite cardinality restrictions only allow
statements concerning cardinalities of value 0 or
1 - minCardinality
- If a minCardinality of 1 is stated on a property
w.r.t a class, then any instance of that class
will be related to at least one individual by
that property - Another way of saying that the property is
required - Example
- Person's hasOffspring (no minimum cardinality)
- Parent's hasOffspring (minimum cardinality 1)
64OWL Lite Restricted Cardinality (Cont.)
- maxCardinality
- If a maxCardinality of 1 is stated on a property
w.r.t a class, then any instance of that class
will be related to at most one individual by that
property. - A maxCardinality 1 restriction is called a
functional or unique property. - Example
- The property hasRegisteredVotingState on the
class UnitedStatesCitizens may have a maximum
cardinality of one - Instances of the class UnmarriedPerson should not
be related to any individuals by the property
hasSpouse. - A maximum cardinality of zero on the hasSpouse
property on the class UnmarriedPerson.
65OWL Lite Restricted Cardinality (Cont.)
- cardinality
- Provided as a convenience when it is useful to
state that a property on a class has both
minCardinality 0 and maxCardinality 0 or both
minCardinality 1 and maxCardinality 1. - the class Person has exactly one value for the
property hasBirthMother.
66OWL Lite Class Intersection
- intersectionOf
- OWL Lite allows intersections of named classes
and restrictions - Example, EmployedPerson is the intersectionOf
Person and EmployedThings (which could be defined
as things that have a minimum cardinality of 1 on
the hasEmployer property) - Any particular EmployedPerson has at least one
employer
67Other OWL Lite Characteristics
- OWL Datatypes
- Uses the RDF mechanisms for data values
- OWL Lite Header Information
- Supports notions of ontology inclusion and
relationships and attaching information to
ontologies - OWL Lite Annotation Properties
- Allows annotations on classes, properties,
individuals and ontology headers - OWL Lite Versioning
- RDF already has a small vocabulary for describing
versioning information. OWL significantly extends
this vocabulary
68OWL DL and OWL Full
- Both OWL DL and OWL Full use the same vocabulary
although OWL DL is subject to some restrictions. - OWL DL requires type separation (a class can not
also be an individual or property, a property can
not also be an individual or class). - OWL DL requires that properties are either
ObjectProperties or DatatypeProperties
69OWL DL and OWL Full (Cont.)
- oneOf (enumerated classes)
- Classes can be described by enumeration of the
individuals that make up the class. - The members of the class are exactly the set of
enumerated individuals no more, no less. - Example daysOfTheWeek Sunday, Monday, Tuesday,
Wednesday, Thursday, Friday, Saturday. - The maximum cardinality (7) of any property that
has daysOfTheWeek as its allValuesFrom
restriction. - hasValue (property values)
- A property can be required to have a certain
individual as a value - Example dutchCitizens can be characterized as
those people that have theNetherlands as a value
of their nationality
70OWL DL and OWL Full (Cont.)
- disjointWith
- Example Man and Woman
- unionOf, complementOf, intersectionOf
- Example
- Using unionOf, we can state that a class contains
things that are either USCitizens or
DutchCitizens. - Using complementOf, we could state that children
are not SeniorCitizens.
71OWL DL and OWL Full (Cont.)
- minCardinality, maxCardinality, cardinality
- OWL Full allows cardinality statements for
arbitrary non-negative integers. - Example DINKs would restrict the cardinality of
the property hasIncome to a minimum cardinality
of two (while the property hasChild would have to
be restricted to cardinality 0).
72Reasoner
- Inference engine
- OWL rely on inference engines (classifiers) to
compute a class hierarchy and to determine class
membership of instances based on the properties
of classes and instances - Semantic description specifies each legal
statements intended meaning - OWL ? FOL (First order logics)
- Can use FOL inference engines
- FaCT (http//citeseer.ist.psu.edu/horrocks98fact.h
tml) - JTP (http//www.ksl.stanford.edu/software/JTP/)
73Protégé for OWL
74Protégé for OWL (Reasoner)
75OWL Case Study Wine Agent
76Outline
- Overview of the wines ontology
- Querying the KB with a reasoner
- Generating output for the user
- Why use an ontology?
77Wine
- A wine is
- A potable liquid
- Produced by at least one maker of type winery
- Made from at least one type of grape (such grapes
are restricted to wine grapes elsewhere in the
ontology) - Comes from a region that is wine-producing
- Has four properties color, sugar, body, and
flavor.
78Meal Course
- The concept of a meal course underlies pairing of
a food with a wine. - Each course is a consumable thing comprising at
least one food and at least one drink, the latter
of which is stipulated to be a wine. - When the user selects a type of course, or an
individual food that gets mapped to a type of
course, the agent will consult that course
definition for restrictions on the constituent
food or wine.
79Pasta with Spicy Red Sauce
- Suppose the user has selected fra diavolo
- Pasta with spicy red sauce
- The concept is defined as a type of meal course
where the food must be a pasta with spicy red
sauce - Such courses must be a subclass of those with
specific restrictions on the properties of their
wines. - DRINK-HAS-RED-COLOR-RESTRICTION and the like
appear elsewhere, specifies the properties of
candidate wines
80Chateau Lafite Rothschild Pauillac
- One wine that matches the above restrictions is
Pauillac - A Pauillac whose maker is Chateau Lafite
Rothschild. - Together with other statements in the ontology,
this allows the reasoner to deduce many
additional facts that this a Medoc wine from
Bordeaux, in France, and that it is red
ltPauillac rdfID"ChateauLafiteRothschildPauill
ac"gt lthasMaker rdfresource"ChateauLafiteRo
thschild" /gt lt/Pauillacgt
81Pauillac
- Feature full bodies and strong flavors
- Made entirely from cabernet sauvignon grapes
- Pauillacs are a particular subset of Medocs,
distinguished by their origin in the Pauillac
region. - It is through this additional subclass
relationship that Pauillac are defined elsewhere
as red and dry.
82Reasoner
- Following the above example through the ontology
reveals a straightforward logical path for
pairing the Pauillac with the selected course - Creating the course
- Assert the existence of a new course and drink in
order to handle the user's query
83Reasoner (Cont.)
- Querying for properties
- Ask for the COLOR, BODY, SUGAR, and FLAVOR of
WINE9. - The answers are other concepts from the same
knowledge base RED, DRY, FULL, and STRONG. - Querying for wines
- Use logical deduction in order to determine which
if any wines in ontology satisfy those criteria. - Here the agent asks for all concepts in the
knowledge base which are of type wine, and which
feature COLOR, SUGAR, BODY, and FLAVOR as
properties which are set to RED, DRY, FULL, and
STRONG, respectively.
84Querying for Properties
85Querying for Wines
86Reasoner (Cont.)
- Querying for varietals
- For any wine retrieved from the knowledge base,
the agent can now determine its varietal. - Because it can process semantic information, the
agent can use the ontology rather than syntactic
manipulation, i.e. assuming that the varietal is
the last word of the name. - Rather, it searches for a concept of type wine of
which the Chateau Lafite Rothschild Pauillac is
an instance.
87Querying for Varietals
88Output
- The heading follows a template to place the
inferred property constraints in an English-like
sentence. - The link to wines.com follows a tailored set of
rules to ensure an adequate number of responses. - If no wine was found in the KB, the search is for
the conjunction of the desired properties. - If any individual wines were identified, the wine
searches for them by name, and also for their
varietals. - In addition to responses concerning individual
wines, the portal might also present suitable
varietals. In such case the links represent
wine.com searches for those varietals, created by
looking up the appropriate codes used by the
wine.com search engine, and adding them to the
URL.
89Wine Web Service
- Wine Agent accesses information about pricing and
availability of wines through www.wine.com, via a
rudimentary on-site search engine. - www.wine.com used as information providing Web
Service. - The inputs and outputs to www.wine.com will be
annotated in DAML-S 0.9 the DAMLOIL/OWL ontology
for Web Services. - Markup will enable automated invocation of the
www.wine.com Web Service, facilitating
interoperability, semantic translation of wine
information, and enabling more sophisticated
searching and filtering of wine information using
the richer wine ontology provided by the Wine
Agent.
90Why Use Ontologies?
- The functionality provided is not unlike that
which could be provided by a simple look-up
table. - Tabular chart where marks appear at the
intersections of columns and rows representing
compatible varieties of food and wine - Suppose that at least some number of cooperating
parties were using semantic markup to participate
in this project - No need to build an enormous database of foods
and wines - The definitions would be distributed
91Why Use Ontologies? (Cont.)
- Benefits
- A restaurant could mark each food item with
standardized machine-readable definitions - A wine retailer could mark its wines with
standardized machine-readable definitions - new Pauillac Pauillac distinguished features
- Machine readable
- Varietals search -- a program can interact with
the wine.com search engine via a well-formed
language. - Such communications would not only cover wine
information specific to the given application
domain and ontology, but also model the very
process of querying the inventory
92References
- W3C Web Ontology
- DAML and DAML Ontologies
- Ontology Development 101 A Guide to Creating
Your First Ontology