280 likes | 437 Views
Chapter 8: Web Ontology Language (OWL). Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005. Highlights of this Chapter. “Species” or Dialects Constructors Axioms Inference Dialects Compared Expressiveness.
E N D
Chapter 8:Web Ontology Language (OWL) Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Highlights of this Chapter • “Species” or Dialects • Constructors • Axioms • Inference • Dialects Compared • Expressiveness Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Web Ontology Language (OWL) • OWL stands for Web Ontology Language • OWL is built on top of RDF • OWL is for processing information on the web • OWL was designed to be interpreted by computers • OWL was not designed for being read by people • OWL is written in XML • OWL has three sublanguages • OWL is a web standard Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Web Ontology Language (OWL) • Ontology is about the exact description of things and their relationships. • Knowledge Structure • RDF captures the basics, i.e., an object-oriented type system • Additional subtleties of meaning are needed for effective knowledge Representation (KR) • OWL standardizes additional constructs to show how to capture such subtleties of meaning • Builds on RDF • Gives particular semantics to new terms • Example: Life Ontology Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Why OWL? • OWL is a part of the "Semantic Web Vision" - a future where: • Web information has exact meaning • Web information can be processed by computers • Computers can integrate information from the web • OWL provides the ability to specify classes and properties in a form of description logic with the terms in its expressions related using Boolean operators analogous to AND, NOT, and OR. • OWL was designed to provide a common way to process the content of web information (instead of displaying it). Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
OWL in Brief • OWL has three species /sublanguages: • OWL Lite • OWL DL (includes OWL Lite) • OWL Full (includes OWL DL) • Specifies classes and properties in a form of description logic (DL) • Class operators analogous to Boolean operators and, not, and or • Constraints on properties: transitive, … • Restrictions: constructs unique to DL Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
OWL Constructors • Classes correspond to sets of objects. • Properties relate pairs of individuals. • Class expressions are used to express Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
OWL Constructors • OWL distinguishes between constructors and axioms. • The OWL constructors are the primitives that help us specify new classes. • The OWL axioms are the primitives that help us make additional assertions about classes and properties. • The OWL dialects provide class constructors that are based on description logic. These constructors build on the data types defined in XML schema. • Classes correspond to sets of objects. • Properties relate pairs of individuals. Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
OWL Constructors • OWL comes into its own through a sophisticated set of class expression constructors. • A class name • A Boolean combination of class expressions. • owl:intersectionOf • owl:unionOf • owl:complementOf • An enumeration enclosed in the owl:Class elemnts. • owl:oneOf • A property restriction. • OWL enables classes to be constructed out of properties through the mechanism of the property restriction. Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Custom Metadata Vocabularies • Creating metadata for services and their information resources they rely upon presupposes custom vocabularies for such metadata • The metadata must be given a standard semantics so that different parties interpret it the same way, and so that tools can function appropriately. <Mammal rdf:ID=“Mary”/> <Mammal rdf:ID=“John”> <hasParent rdf:resource=“#Mary”/> </Mammal> Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Ontologies to Define Vocabulary Semantics • A trivial ontology defining our vocabulary • Uses simple subclasses and properties • Disjointness goes beyond RDF • Object properties refine RDF properties; relate two objects <owl:Class rdf:ID="Mammal"> <rdfs:subClassOf rdf:resource="#Animal"/> <owl:disjointWith rdf:resource="#Reptile"/> </owl:Class> <owl:ObjectProperty rdf:ID="hasParent"> <rdfs:domain rdf:resource="#Animal"/> <rdfs:range rdf:resource="#Animal"/> </owl:ObjectProperty> Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Simple Inference • Inference can be specified as part of the semantics of the language. • Given the definition for the property hasParent and the snippet <owl:Thing rdf:ID=“Fido"> <hasParent rdf:resource="#Rover"/> </owl:Thing> we can infer that Fido is an Animal • Figure 8.1 presents an RDF schema that includes the main entities and relationships of OWL. Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
OWL Entities and Relationships Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Constructing OWL Classes • Explicitly (as in the examples above) or • Anonymously, using • Restrictions (next page) • Set operators: intersectionOf, unionOf, complementOf, e.g., <owl:Class rdf:ID='SugaryBread'> <owl:intersectionOf rdf:parseType='Collection'> <owl:Class rdf:about='#Bread'/> <owl:Class rdf:about='#SweetFood'/> </owl:intersectionOf> </owl:Class> Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Restrictions: 1 • A unique feature of description logics • Kind of like division in arithmetic: define classes in terms of a restriction that they satisfy with respect to a given property • Anonymous: typically included in a class def to enable referring them • Key primitives are • someValuesFrom a specified class • allValuesFrom a specified class • hasValue equal to a specified individual or data type • minCardinality • maxCardinality • Cardinality (when maxCardinality equals minCardinality) Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Restrictions: 2 Examples of restriction fragments <owl:Restriction> <owl:onProperty rdf:resource="#hasFather"/> <owl:maxCardinality rdf:datatype="xsd:nonNegativeInteger"> 1 </owl:maxCardinality> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource='#bakes'/> <owl:someValuesFrom rdf:resource='#Bread'/> </owl:Restriction> Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Restrictions: 3 • <owl:Class rdf:ID="Wine"> <rdfs:subClassOf rdf:resource="&food;PotableLiquid" /> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#hasMaker" /> <owl:allValuesFrom rdf:resource="#Winery" /> </owl:Restriction> </rdfs:subClassOf> ...</owl:Class> • The maker of a Wine must be a Winery • The allValuesFrom restriction is on the hasMaker property of this Wine class • (Makers of other products such as cheese are not constrained by this local restriction) Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
OWL Axioms • Instances of both classes (objects) and properties (pairs of objects) are written in the XML syntax for RDF. • Data values are written in RDF syntax with a string representation of the desired value. • A pair of classes or properties is identical or equivalent. They behave as synonyms. • Properties can be introduced as inverse of other properties. • It is helpful to relate ontologies to binary relations as elementary algebra. Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Axioms: 1 • Assertions that are given to be true • Can be especially powerful in combination with other axioms, which may come from different documents • Some primitives • rdfs:subClassOf • owl:equivalentClass Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Axioms: 2 <owl:AllDifferent> <!– in essence, pair-wise inequalities <owl:distinctMembers rdf:parseType='Collection'> <ex:Country rdf:ID='Russia'/> <ex:Country rdf:ID='India'/> <ex:Country rdf:ID='USA'/> <owl:distinctMembers/> </owl:AllDifferent> <ex:Country rdf:ID='Iran'/> <ex:Country rdf:ID='Persia'> <owl:sameIndividualAs rdf:resource='#Iran'/> </ex:Country> Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Restrictions versus Axioms • Axioms are global assertions that can be used as the basis for further inference • Restrictions are constructors • When we state that hasFather has a maxCardinality of 1, we are • Defining the class of animals who have zero or one fathers: this class may or may not have any instances • Not stating that all animals have zero or one fathers • Often, to achieve the desired effect, we would have to combine restrictions with axioms (such as based on equivalentClass) Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Inference • OWL is about content, not the syntax • Statements from different documents about the same URI are automatically conjoined • OWL can appear unintuitive to the uninitiated • Declare that no one can have more than one mother • Declare Mary is John’s mother • Declare Jane is John’s mother • A DBMS would declare an integrity violation • An OWL reasoner would say Mary = Jane Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Dialects Compared • OWL DL: the core dialect, includes DL primitives; not necessarily (but often practically) tractable • OWL Lite: adds restrictions to OWL DL make it tractable • OWL Full: lifts restrictions to allow other interpretations; extremely general; potentially intractable (undecidable); included just for fancy expressiveness needs Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Expressiveness Limitations: 1 OWL DL cannot express some simple requirements • Non-tree models: because instance variables are implicit in OWL restrictions, OWL cannot express conditions that require that two variables be identified • Think of siblings – two people who have the same parents – but in terms of classes • Do the same thing with class definitions Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Expressiveness Limitations: 2 Specialized properties • Cannot state that the child of a mammal must be a mammal and so on, without • Defining new child properties for each class • Adding an axiom for each class stating that it is a subClassOf the restriction of hasChild to itself • Analogous to the problem in a strongly typed object-oriented language without generics • You have to typecast the contents of a hash table or linked list Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Expressiveness Limitations: 3 • Constraints among individuals • Cannot define tall person: class of persons whose height is above a certain threshold • Can define ETHusband: class of persons who have been married to Elizabeth Taylor • Cannot capture defeasibility (also known as nonmonotonicity) • Birds fly • Penguins are birds • Penguins don’t fly Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Chapter 8 Summary • OWL builds on RDF to provide a rich vocabulary for capturing knowledge • Synthesizes a lot of excellent work on discrete, taxonomic knowledge representation • Fits well with describing information resources – a basis for describing metadata vocabularies • Critical for unambiguously describing services so they can be selected and suitably engaged Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns