OWL: Web Ontology Language

Slides:



Advertisements
Similar presentations
CH-4 Ontologies, Querying and Data Integration. Introduction to RDF(S) RDF stands for Resource Description Framework. RDF is a standard for describing.
Advertisements

OWL - DL. DL System A knowledge base (KB) comprises two components, the TBox and the ABox The TBox introduces the terminology, i.e., the vocabulary of.
RDF Schemata (with apologies to the W3C, the plural is not ‘schemas’) CSCI 7818 – Web Technologies 14 November 2001 Van Lepthien.
An Introduction to RDF(S) and a Quick Tour of OWL
Of 27 lecture 7: owl - introduction. of 27 ece 627, winter ‘132 OWL a glimpse OWL – Web Ontology Language describes classes, properties and relations.
OWL TUTORIAL APT CSA 3003 OWL ANNOTATOR Charlie Abela CSAI Department.
Chapter 8: Web Ontology Language (OWL) Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Chapter 8: Web Ontology Language (OWL) Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Chapter 4 Web Ontology Language: OWL
The Semantic Web Week 12 Term 1 Recap Lee McCluskey, room 2/07 Department of Computing And Mathematical Sciences Module Website:
From SHIQ and RDF to OWL: The Making of a Web Ontology Language
Chapter 4A Semantic Web Primer 1 Chapter 4 Web Ontology Language: OWL Grigoris Antoniou Frank van Harmelen.
OWL: Web Ontology Language
RDF (Resource Description Framework) Why?. XML XML is a metalanguage that allows users to define markup XML separates content and structure from formatting.
13 Dec. 2006CmpE 583 Fall 2006 OWL Lite- Property Char’s. 1 OWL Lite: Ch. 13- Property Characteristics Atilla ELÇİ.
Chapter 4 OWL Based on slides from Grigoris Antoniou and Frank van Harmelen.
Chapter 4 Web Ontology Language: OWL Grigoris Antoniou Frank van Harmelen Augmented by Boontawee Suntisrivaraporn,
1 CSIT600f: Introduction to Semantic Web OWL Dickson K.W. Chiu PhD, SMIEEE Text: Antoniou & van Harmelen: A Semantic Web PrimerA Semantic Web Primer (Chapter.
Based on slides from Grigoris Antoniou and Frank van Harmelen
Logics for Data and Knowledge Representation
An Introduction to Description Logics. What Are Description Logics? A family of logic based Knowledge Representation formalisms –Descendants of semantic.
1 MASWS Multi-Agent Semantic Web Systems: OWL Stephen Potter, CISA, School of Informatics, University of Edinburgh, Edinburgh, UK.
Okech Odhiambo Faculty of Information Technology Strathmore University
Protege OWL Plugin Short Tutorial. OWL Usage The world wide web is a natural application area of ontologies, because ontologies could be used to describe.
Of 39 lecture 2: ontology - basics. of 39 ontology a branch of metaphysics relating to the nature and relations of being a particular theory about the.
Building an Ontology of Semantic Web Techniques Utilizing RDF Schema and OWL 2.0 in Protégé 4.0 Presented by: Naveed Javed Nimat Umar Syed.
OWL 2 in use. OWL 2 OWL 2 is a knowledge representation language, designed to formulate, exchange and reason with knowledge about a domain of interest.
OWL Representing Information Using the Web Ontology Language 1.
Michael Eckert1CS590SW: Web Ontology Language (OWL) Web Ontology Language (OWL) CS590SW: Semantic Web (Winter Quarter 2003) Presentation: Michael Eckert.
Ontology & OWL Semantic Web - Fall 2005 Computer Engineering Department Sharif University of Technology.
RQL: RDF Query language Jianguo Lu University of Windsor The following slides are from Grigoris Antoniou, Frank van Harmelen, “A Semantic Web Primer”
Chapter 4 OWL Based on slides from Grigoris Antoniou and Frank van Harmelen.
EEL 5937 Ontologies EEL 5937 Multi Agent Systems Lecture 5, Jan 23 th, 2003 Lotzi Bölöni.
Of 35 lecture 5: rdf schema. of 35 RDF and RDF Schema basic ideas ece 627, winter ‘132 RDF is about graphs – it creates a graph structure to represent.
Chapter 4 OWL Based on slides from Grigoris Antoniou and Frank van Harmelen.
Artificial Intelligence 2004 Ontology
DAML+OIL: an Ontology Language for the Semantic Web.
OilEd An Introduction to OilEd Sean Bechhofer. Topics we will discuss Basic OilEd use –Defining Classes, Properties and Individuals in an Ontology –This.
Organization of the Lab Three meetings:  today: general introduction, first steps in Protégé OWL  November 19: second part of tutorial  December 3:
OWL & Protege Introduction Dongfang Xu Ph.D student, School of Information, University of Arizona Sept 10, 2015.
OWL Full Semantics -- RDF-Compatible Model-Theoretic Semantics by Peter F. Patel-Schneider, Patrick Hayes and Ian Horrocks W3C Recommendation, 2004
OWL Web Ontology Language Overview. The OWL Web Ontology Language is designed for use by applications that need to process the content of information.
Practical RDF Chapter 12. Ontologies: RDF Business Models Shelley Powers, O’Reilly SNU IDB Lab. Taikyoung Kim.
Chapter 4 OWL Based on slides from Grigoris Antoniou and Frank van Harmelen.
ece 627 intelligent web: ontology and beyond
W3C’s (world wide web consortium) Semantic Web: - RDF and metadata markup efforts to represent data in a machine understandable form. DARPA started the.
Chapter 4 Web Ontology Language: OWL Grigoris Antoniou Frank van Harmelen Augmented by Boontawee Suntisrivaraporn,
Of 32 lecture 8: owl – language I. of 32 ece 627, winter ‘132 OWL XML/RDF syntax: header
Web Ontology Language (OWL). OWL The W3C Web Ontology Language (OWL) is a Semantic Web language designed to represent rich and complex knowledge about.
ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ OWL. RDF-RDFS Limitations Binary ground predicates Only subclass & subproperty hierarchy Domain and range definitions.
OWL Web Ontology Language Summary IHan HSIAO (Sharon)
Of 29 lecture 15: description logic - introduction.
Ccs.  Ontologies are used to capture knowledge about some domain of interest. ◦ An ontology describes the concepts in the domain and also the relationships.
BBY 464 Semantic Information Management (Spring 2016) Ontologies and OWL: Web Ontology Language Yaşar Tonta & Orçun Madran [yasartonta,
Chapter 4 OWL Based on slides from Grigoris Antoniou and Frank van Harmelen.
Chapter Describing Individuals OWL Individuals ▫Ontological Primitive Layer  Mostly described with RDF ▫Instances of user-defined ontological.
OWL (Ontology Web Language and Applications) Maw-Sheng Horng Department of Mathematics and Information Education National Taipei University of Education.
Vincenzo Maltese, Fausto Giunchiglia University of Trento
Building Trustworthy Semantic Webs
ece 720 intelligent web: ontology and beyond
ece 627 intelligent web: ontology and beyond
Web Ontology Language: OWL
ece 720 intelligent web: ontology and beyond
Web Ontology Language: OWL
Service-Oriented Computing: Semantics, Processes, Agents
Chapter 4 Web Ontology Language: OWL
Based on slides from Grigoris Antoniou and Frank van Harmelen
ece 720 intelligent web: ontology and beyond
Based on slides from Grigoris Antoniou and Frank van Harmelen
Presentation transcript:

OWL: Web Ontology Language Slides are from Grigoris Antoniou, Frank van Harmelen, “A Semantic Web Primer”

Limitations of RDF Schema Equivalence of classes Two classes, same concept - people use different words to represent the same thing. It would be very useful to be able to state "this class is equivalent to this second class". E.g. One person may create an ontology with a class called "Airplane". Another person may create an ontology with a class called "Plane". It would be useful to be able to indicate that the two classes are equivalent. Boolean combinations of classes Sometimes we wish to build new classes by combining other classes using union, intersection, and complement. E.g. Person is the union of the classes Male and Female persons. Disjointness of classes Sometimes we wish to say that classes are disjoint e.g. male and female are disjoint classes

Limitations of RDF Schema (continued) Cardinality constraints - oftentimes it is useful to indicate the allowable number of occurrences of a property E.g. We would like to be able to express that a River has only "one" officialLength property. E.g. We would like to be able to express that an Ocean has one maxDepth. E.g. a person has exactly two parents, a course is taught by at least one lecturer Special characteristics of properties Transitive property (like “greater than”) Unique property (like “is mother of”) A property is the inverse of another property (like “eats” and “is eaten by”)

RDF Schemas: Building Block to More Expressive Ontology Languages OWL OWL RDF Schema RDF M&S stands for RDF Model and Syntax RDF Schema was designed to be extended. The ontology languages all use RDF Schema's basic notions of Class, Property, domain, and range.

What is OWL? OWL stands for Web Ontology Language OWL is built on top of RDF OWL is written in XML 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 a web standard OWL has three sublanguages OWL Lite, DL, Full The following slides are from Grigoris Antoniou, Frank van Harmelen, “A Semantic Web Primer”

Tradeoff between Expressive Power and Efficient Reasoning Support The richer the language is, the more inefficient the reasoning support becomes Sometimes it crosses the border of non-computability We need a compromise: A language supported by reasonably efficient reasoners A language that can express large classes of ontologies and knowledge. To understand why we need to have 3 sub languages, we need to look at the trade off between expressive power and reasoning support

OWL Sublanguages OWL Lite OWL DL (includes OWL Lite) Simple constraints and classification hierarchy OWL DL (includes OWL Lite) Maximal expressiveness while retaining computational completeness (all conclusions are computable) OWL Full (includes OWL DL) Maximal expressiveness Unlikely any reasoning software to support OWL Full. OWL Full OWL DL OWL Lite It uses all the OWL languages primitives It allows the combination of these primitives in arbitrary ways with RDF and RDF Schema OWL Full is fully upward-compatible with RDF, both syntactically and semantically OWL Full is so powerful that it is undecidable No complete (or efficient) reasoning support OWL DL (Description Logic) is a sublanguage of OWL Full that restricts application of the constructors from OWL and RDF Application of OWL’s constructors’ to each other is disallowed Therefore it corresponds to a well studied description logic OWL DL permits efficient reasoning support But we lose full compatibility with RDF: Not every RDF document is a legal OWL DL document. Every legal OWL DL document is a legal RDF document. An even further restriction limits OWL DL to a subset of the language constructors E.g., OWL Lite excludes enumerated classes, disjointness statements, and arbitrary cardinality. The advantage of this is a language that is easier to grasp, for users implement, for tool builders The disadvantage is restricted expressivity Upward compatibility: 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

Reasoning About Knowledge in Ontology Languages Class membership If x is an instance of a class C, and C is a subclass of D, then we can infer that x is an instance of D. Subclass and Equivalence of classes If class A is equivalent to class B, and class B is equivalent to class C, then A is equivalent to C, too. Consistency X is an instance of classes A and B, but A and B are disjoint. This is an indication of an error in the ontology.

Uses for Reasoning Reasoning support is important for checking the consistency of the ontology and the knowledge checking for unintended relationships between classes automatically classifying instances in classes Checks like the preceding ones are valuable for designing large ontologies, where multiple authors are involved integrating and sharing ontologies from various sources

Reasoning support in OWL Semantics is a prerequisite for reasoning support Formal semantics and reasoning support are usually provided by mapping an ontology language to a known logical formalism using automated reasoners that already exist for those formalisms OWL is (partially) mapped on a description logic, and makes use of reasoners such as FaCT and RACER Description logics are a subset of predicate logic for which efficient reasoning support is possible

OWL Compatibility with RDF Schema All varieties of OWL use RDF for their syntax Instances are declared as in RDF, using RDF descriptions and typing information OWL constructors are specializations of their RDF counterparts Rdfs:Resources Rdfs:Class Rdfs:Property Owl:ObjectProperty owl:Class Owl:DatatypeProperty OWL RDF/RDFS XML Schema

OWL Syntactic Varieties OWL builds on RDF and uses RDF’s XML-based syntax Other syntactic forms for OWL have also been defined: An abstract syntax, that is much more compact and readable than the XML languages A graphic syntax based on the conventions of UML

OWL XML/RDF Syntax: Header <rdf:RDF xmlns:owl ="http://www.w3.org/2002/07/owl#" xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:xsd ="http://www.w3.org/2001/XLMSchema#>

owl:Ontology An OWL ontology may start with a collection of assertions for housekeeping purposes using owl:Ontology element <owl:Ontology rdf:about=""> <rdfs:comment>An example OWL ontology </rdfs:comment> <owl:priorVersion rdf:resource="http://www.mydomain.org/uni-ns-old"/> <owl:imports rdf:resource="http://www.mydomain.org/persons"/> <rdfs:label>University Ontology</rdfs:label> </owl:Ontology> owl:imports is a transitive property

Classes Classes are defined using owl:Class owl:Class is a subclass of rdfs:Class <owl:Class rdf:ID=”associateProfessor”> <rdfs:subClassOf rdf:resource=“#academicStaffMember”/> </owl:Class> owl:equivalentClass defines equivalence of classes <owl:Class rdf:ID="faculty"> <owl:equivalentClass rdf:resource="#academicStaffMember"/> Disjointness is defined using owl:disjointWith <owl:Class rdf:about="#associateProfessor"> <owl:disjointWith rdf:resource="#professor"/> <owl:disjointWith rdf:resource="#assistantProfessor"/> owl:Thing is the most general class, which contains everything owl:Nothing is the empty class

Properties In OWL there are two kinds of properties Object properties, which relate objects to other objects E.g. is-TaughtBy, supervises <owl:ObjectProperty rdf:ID="isTaughtBy"> <rdfs:domain rdf:resource="#course"/> <rdfs:range rdf:resource= "#academicStaffMember"/> <rdfs:subPropertyOf rdf:resource="#involves"/> </owl:ObjectProperty> Data type properties, which relate objects to datatype values E.g. phone, age, etc. <owl:DatatypeProperty rdf:ID="age"> <rdfs:range rdf:resource= "http://www.w3.org/2001/XLMSchema#nonNegativeInteger"/> </owl:DatatypeProperty> OWL RDF/RDFS XML Schema

Relations to other properties Equivalent property <owl:ObjectProperty rdf:ID="lecturesIn"> <owl:equivalentProperty rdf:resource="#teaches"/> </owl:ObjectProperty> Inverse property <owl:ObjectProperty rdf:ID="teaches"> <rdfs:range rdf:resource="#course"/> <rdfs:domain rdf:resource= "#academicStaffMember"/> <owl:inverseOf rdf:resource="#isTaughtBy"/>

Property restriction Value constraints: put constrains on the range of the property when applied to this particular class description. owl:allValuesFrom specifies universal quantification owl:hasValue specifies a specific value owl:someValuesFrom specifies existential quantification Cardinality constraints: the number of value a property can take.

owl:allValuesFrom Define the class of persons whose parents are both physicians. <owl:Restriction> <owl:onProperty rdf:resource="#hasParent" /> <owl:allValuesFrom rdf:resource="#Physician" /> </owl:Restriction> { x | (x, y) ∈ hasParent implies y ∈ Physician } Example: Suppose: David hasParent Bill who is a Physician, and David hasParent Rose who is a Phycisian Conclusion: David belongs to the class defined above. Semantics restriction(p allValuesFrom(r)) : {x | (x,y) ∈ p implies y ∈ r}

allValuesFrom FirstYearCourse is a course that must be taught by professors <owl:Class rdf:about="#firstYearCourse"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#isTaughtBy"/> <owl:allValuesFrom rdf:resource="#Professor"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> { x | (x,y) ∈isTaughtBy implies y ∈ Professor }

owl:someValuesFrom Define the class of persons who has at least one physician parent. <owl:Restriction> <owl:onProperty rdf:resource="#hasParent" /> <owl:someValuesFrom rdf:resource="#Physician" /> </owl:Restriction> { x | ∃ (x, y) ∈ hasParent ∧ y ∈ Physician} Semantics restriction(p someValuesFrom(e)) : {x | ∃ (x,y) ∈ p ∧ y ∈ e}

someValuesFrom AcademicStaff must teach at least one under course. <owl:Class rdf:about="#academicStaffMember"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#teaches"/> <owl:someValuesFrom rdf:resource="#undergraduateCourse"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> { x | ∃ (x, y) ∈ Teaches ∧ y ∈ undergraduateCourse} Example: Suppose: David Teaches 440, and David Teaches 569 Question: Is David an Academic Staff?

owl:hasValue <owl:Class rdf:about="#mathCourse"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#isTaughtBy"/> <owl:hasValue rdf:resource= "#949352"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:onProperty rdf:resource="#hasParent" /> <owl:hasValue rdf:resource="#Bill" /> restriction(p value(i)), for i an individual ID {x | (x, i) ∈ p}

Cardinality restrictions We can specify minimum and maximum number using owl:minCardinality and owl:maxCardinality It is possible to specify a precise number by using the same minimum and maximum number For convenience, OWL offers also owl:cardinality E.g. Every course is taught by at least someone: <owl:Class rdf:about="#course"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#isTaughtBy"/> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger"> 1 </owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class>

Special properties owl:TransitiveProperty (transitive property) E.g. “has better grade than”, “is ancestor of” owl:SymmetricProperty (symmetry) E.g. “has same grade as”, “is sibling of” owl:FunctionalProperty defines a property that has at most one value for each object E.g. “age”, “height”, “directSupervisor” owl:InverseFunctionalProperty defines a property for which two different objects cannot have the same value <owl:ObjectProperty rdf:ID="hasSameGradeAs"> <rdf:type rdf:resource="&owl;TransitiveProperty"/> <rdf:type rdf:resource="&owl;SymmetricProperty"/> <rdfs:domain rdf:resource="#student"/> <rdfs:range rdf:resource="#student"/> </owl:ObjectProperty>

Boolean Combinations: complementOf We can combine classes using Boolean operations (union, intersection, complement) <owl:Class rdf:about="#course"> <rdfs:subClassOf> <owl:Restriction> <owl:complementOf rdf:resource="#staffMember"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class>

Boolean Combinations: unionOf <owl:Class rdf:ID="peopleAtUni"> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#staffMember"/> <owl:Class rdf:about="#student"/> </owl:unionOf> </owl:Class> The new class is not a subclass of the union, but rather equal to the union We have stated an equivalence of classes

Boolean Combinations: intersectionOf <owl:Class rdf:ID="facultyInCS"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#faculty"/> <owl:Restriction> <owl:onProperty rdf:resource="#belongsTo"/> <owl:hasValue rdf:resource= "#CSDepartment"/> </owl:Restriction> </owl:intersectionOf> </owl:Class> Exercise: describe the class of faculty who have joint appointment in CS and ECE.

Nesting of Boolean Operators Administrative staff: staff members who are neither faculty nor technical support staff. <owl:Class rdf:ID="adminStaff"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#staffMember"/> <owl:complementOf> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#faculty"/> <owl:Class rdf:about= "#techSupportStaff"/> </owl:unionOf> </owl:complementOf> </owl:intersectionOf> </owl:Class> staff admin tech faculty

Enumerations with owl:oneOf <owl:oneOf rdf:parseType="Collection"> <owl:Thing rdf:about="#Monday"/> <owl:Thing rdf:about="#Tuesday"/> <owl:Thing rdf:about="#Wednesday"/> <owl:Thing rdf:about="#Thursday"/> <owl:Thing rdf:about="#Friday"/> <owl:Thing rdf:about="#Saturday"/> <owl:Thing rdf:about="#Sunday"/> </owl:oneOf> Now we have talked about three ways to describe a class: Enumeration Set operation Property restriction

Declaring instances Instances of classes are declared as in RDF: <rdf:Description rdf:ID="949352"> <rdf:type rdf:resource= "#academicStaffMember"/> </rdf:Description> Or alternatively, we can have the following simplified notation: <academicStaffMember rdf:ID="949352"> </academicStaffMember>

No Unique-Names Assumption OWL does not adopt the unique-names assumption of database systems If two instances have different names or IDs, it does not imply that they are different individuals Suppose we state that each course is taught by at most one staff member, and that a given course is taught by two staff members An OWL reasoner does not flag an error; Instead it infers that the two resources are equal.

Distinct Objects To ensure that different individuals are indeed recognized as such, we must explicitly assert their inequality: <lecturer rdf:about="949318"> <owl:differentFrom rdf:resource="949352"/> </lecturer> OWL provides a shorthand notation to assert the pairwise inequality of all individuals in a given list <owl:allDifferent> <owl:distinctMembers rdf:parseType="Collection"> <lecturer rdf:about="949318"/> <lecturer rdf:about="949352"/> <lecturer rdf:about="949111"/> </owl:distinctMembers> </owl:allDifferent>

Data Types in OWL XML Schema provides a mechanism to construct user-defined data types E.g., the data type of adultAge includes all integers greater than 18 Such derived data types cannot be used in OWL The OWL reference document lists all the XML Schema data types that can be used These include the most frequently used types such as string, integer, Boolean, time, and date.

An African Wildlife Ontology – Class Hierarchy Animal plant herbivore carnivore tree giraffe lion

An African Wildlife Ontology – Properties <owl:TransitiveProperty rdf:ID="is-part-of"/> <owl:ObjectProperty rdf:ID="eats"> <rdfs:domain rdf:resource="#animal"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="eaten-by"> <owl:inverseOf rdf:resource="#eats"/>

An African Wildlife Ontology –Plants and Trees <owl:Class rdf:ID=“animal“/> <owl:Class rdf:ID="plant"> <rdfs:comment>Plants are disjoint from animals. </rdfs:comment> <owl:disjointWith="#animal"/> </owl:Class> <owl:Class rdf:ID="tree"> <rdfs:comment>Trees are a type of plant. <rdfs:subClassOf rdf:resource="#plant"/>

An African Wildlife Ontology –Branches <owl:Class rdf:ID="branch"> <rdfs:comment>Branches are parts of trees. </rdfs:comment> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#is-part-of"/> <owl:allValuesFrom rdf:resource="#tree"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class>

An African Wildlife Ontology – Leaves <owl:Class rdf:ID="leaf"> <rdfs:comment>Leaves are parts of branches. </rdfs:comment> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#is-part-of"/> <owl:allValuesFrom rdf:resource="#branch"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class>

An African Wildlife Ontology – Carnivores <owl:Class rdf:ID="carnivore"> <rdfs:comment> Carnivores are exactly those animals that eat also animals. </rdfs:comment> <owl:intersectionOf rdf:parsetype="Collection"> <owl:Class rdf:about="#animal"/> <owl:Restriction> <owl:onProperty rdf:resource="#eats"/> <owl:someValuesFrom rdf:resource="#animal"/> </owl:Restriction> </owl:intersectionOf> </owl:Class>

An African Wildlife Ontology –Herbivores <owl:Class rdf:ID="herbivore"> <rdfs:comment> Herbivores are exactly those animals that eat only plants or parts of plants. <owl:intersectionOf rdf:parseType=“Collection”> <owl:Class rdf=about=“#animal”/> <owl:Restriction> <owl:onProperty rdf:resource=“#eats”/> <owl:allValuesFrom> <owl:Class> <owl:unionOf rdf:parseType=“Collection”> <owl:Class rdf:resource=“plant”/> <owl:onProperty rdf;resource=“#is_part_of”/> <owl:allValuesFrom rdf:resource=“#plant”/> </owl:Restriction> </owl:unionOf> </class> </owl:allValuesFrom> </owl:Restrcition> </owl:intersectionOf> </owl:Class>

An African Wildlife Ontology –Giraffes <owl:Class rdf:ID="giraffe"> <rdfs:comment>Giraffes are herbivores, and they eat only leaves. </rdfs:comment> <rdfs:subClassOf rdf:type="#herbivore"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#eats"/> <owl:allValuesFrom rdf:resource="#leaf"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class>

An African Wildlife Ontology –Lions <owl:Class rdf:ID="lion"> <rdfs:comment>Lions are animals (carnivores) that eat only herbivores. </rdfs:comment> <rdfs:subClassOf rdf:type="#carnivore"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#eats"/> <owl:allValuesFrom rdf:resource="#herbivore"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class>

An African Wildlife Ontology –Tasty Plants <owl:Class rdf:ID="tasty-plant"> <rdfs:comment>Plants eaten both by herbivores and carnivores </rdfs:comment> <rdfs:subClassOf rdf:resource=“#plant”/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource=“#eaten_by”/> <owl:someValuesFrom> <owl:Class rdf:about=“#herbivore”/> </owl:someValuefrom> </owl:Restriction> </rdfs:subClassOf> <owl:someValuesFrom> <owl:Class rdf:about=“#carnivore”/> </rdfsSublassOf> </owl:Class>

Closed World Assumption OWL currently adopts the open-world assumption: A statement cannot be assumed true on the basis of a failure to prove it On the huge and only partially knowable WWW, this is a correct assumption Closed-world assumption: a statement is true when its negation cannot be proved tied to the notion of defaults, leads to nonmonotonic behaviour

Summary OWL is the proposed standard for Web ontologies OWL builds upon RDF and RDF Schema: (XML-based) RDF syntax is used Instances are defined using RDF descriptions Most RDFS modeling primitives are used Formal semantics and reasoning support is provided through the mapping of OWL to logics Predicate logic and especially description logics have been used for this purpose While OWL is sufficiently rich to be used in practice, extensions are in the making They will provide further logical features, including rules

Look back at the definition for ontology An ontology is a formal, explicit specification of a shared conceptualization - Gruber Conceptualization refers to an abstract model of phenomena. Explicit means that the type of concepts used, and the constraints on their use are explicitly defined. Formal refers to the fact that the ontology should be machine readable. Shared reflects that ontology should capture consensual knowledge accepted by the communities.