Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dr. Alexandra I. Cristea OWL.

Similar presentations


Presentation on theme: "Dr. Alexandra I. Cristea OWL."— Presentation transcript:

1 Dr. Alexandra I. Cristea http://www.dcs.warwick.ac.uk/~acristea/ OWL

2 2 What is OWL? OWL became a W3C (World Wide Web Consortium) Recommendation in February 2004. 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 is a web standard OWL has three sublanguages

3 3 What is an Ontology? Ontology is about the exact description of things and their relationships and an inference mechanism for it. For the web, ontology is about the exact description of web information and relationships between web information and reasoning with it. dictionary  taxonomy  ontology

4 4 a philosophical discipline—a branch of philosophy that deals with the nature and the organisation of reality Science of Being (Aristotle, Metaphysics, IV, 1) Tries to answer the questions: What characterizes being? Eventually, what is being? Ontology: Origins and History Ontology in Philosophy

5 5 Ontology in Linguistics “Tank“ ReferentForm Stands for Relates to activates Concept [Ogden, Richards, 1923] ?

6 6 An ontology is an engineering artifact: –It is constituted by a specific vocabulary used to describe a certain reality, plus –a set of explicit assumptions regarding the intended meaning of the vocabulary. Thus, an ontology describes a formal specification of a certain domain: –Shared understanding of a domain of interest –Formal and machine manipulable model of a domain of interest Ontology in Computer Science

7 7 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

8 8 OWL was designed for Processing Information OWL was designed to provide a common way to process the content of web information (instead of displaying it). OWL was designed to be read by computer applications (instead of humans).

9 9 OWL is Different from RDF OWL, RDF similar but OWL –stronger language –greater machine interpretability –larger vocabulary –stronger syntax.

10 10 OWL Sublanguages OWL has three sublanguages: –OWL Lite hierarchy + simple constraints + cardinality {0,1} –OWL DL (includes OWL Lite) complete, decidable ( part of FOL) Type separations (class <> property <> individual) –OWL Full (includes OWL DL) aug. meaning RDF..

11 11 OWL is Written in XML By using XML, OWL information can easily be exchanged between different types of computers using different types of operating system and application languages. Oh yes, there is a namespace: xmlns:owl ="http://www.w3.org/2002/07/owl#"

12 12 (more on) OWL Based on predecessors (DAML+OIL) A Web Language: Based on RDF(S) An Ontology Language: Based on logic

13 13 OWL Ontologies What’s inside an OWL ontology –Classes + class-hierarchy –Properties (Slots) / values –Relations between classes (inheritance, disjoints, equivalents) –Restrictions on properties (type, cardinality) –Characteristics of properties (transitive, …) –Annotations –Individuals Reasoning tasks: classification, consistency checking

14 14 OWL Use Cases At least two different user groups –OWL used as data exchange language (define interfaces of services and agents) –OWL used for terminologies or knowledge models OWL DL is the subset of OWL (Full) that is optimized for reasoning and knowledge modeling

15 15 OWL Example (Airport) Example: http://www.cs.man.ac.uk/~rector/Modules/CS646- 2004/Labs/Thursday/Simple_University-01.owlhttp://www.cs.man.ac.uk/~rector/Modules/CS646- 2004/Labs/Thursday/Simple_University-01.owl Find the error in the OWL Resource: http://www.daml.org/2001/10/html/airport-ont http://www.daml.org/2001/10/html/airport-ont Validators are: –For RDF: http://www.w3.org/RDF/Validatorhttp://www.w3.org/RDF/Validator –For OWL: http://phoebus.cs.man.ac.uk:9999/OWL/Validatorhttp://phoebus.cs.man.ac.uk:9999/OWL/Validator For a tutorial on XML, RDF, SPARQL, OWL see: http://jmvidal.cse.sc.edu/talks/xmlrdfdaml/index.xml?style=Whit e http://jmvidal.cse.sc.edu/talks/xmlrdfdaml/index.xml?style=Whit e Semantic web search engine: http://swoogle.umbc.edu/http://swoogle.umbc.edu/

16 16 Scenario Semantic Web for Tourism/Traveling Goal: Find matching holiday destinations for a customer I am looking for a comfortable destination with beach access Tourism Web

17 17 Scenario Architecture A search problem: Match customer’s expectations with potential destinations Required: Web Service that exploits formal information about the available destinations –Accommodation (Hotels, B&B, Camping,...) –Activities (Sightseeing, Sports,...)

18 18 Tourism Semantic Web Open World: –New hotels are being added –New activities are offered Providers publish their services dynamically Standard format / grounding is needed → Tourism Ontology

19 19 Tourism Semantic Web OWL Metadata (Individuals) OWL Metadata (Individuals) OWL Metadata (Individuals) OWL Metadata (Individuals) Tourism Ontology Web Services Destination AccomodationActivity

20 20 OWL Individuals (e.g., “FourSeasons”) Properties – ObjectProperties (references) – DatatypeProperties (simple values) Classes (e.g., “Hotel”)

21 21 Individuals (Instances) Represent objects in the domain Specific things Two names could represent the same “real-world” individual SydneysOlympicBeach BondiBeach Sydney

22 22 Example of Individuals equivalent to:

23 23 ObjectProperties Link two individuals together Relationships (0..n, n..m) Sydney BondiBeach hasPart FourSeasons hasAccomodation

24 24 Example Property

25 25 Property Domain & Range If a relation is: subject_individual  hasProperty  object_individual The domain is the class of the subject individual The range is the class of the object individual (or a datatype if hasProperty is a Datatype Property) DomainClassRangeClass hasProperty

26 26 Properties, Range and Domain Property characteristics –Domain: “left side of relation” (Destination) –Range: “right side” (Accomodation) Sydney BestWestern FourSeasons hasAccomodation Destination Accomodation hasAccomodation

27 27 Example Propery, Domain & Range

28 28 Domains Individuals can only take values of properties that have matching domain –“Only Destinations can have Accommodations” Domain can contain multiple classes Domain can be undefined: Property can be used everywhere

29 29 Property Restriction: Example Cardinality 1... 1

30 30 OWL Extends Other Ontologies extend existing ontology by saying things about terms in it: Animals have exactly two parents, ie: If x is an animal, it has exactly 2 parents (but NOT anything that has 2 parents is an animal). If ontology is already published, you use the full URL.

31 31 Inverse Properties Represent bidirectional relationships Adding a value to one property also adds a value to the inverse property (!) Sydney BondiBeach hasPart isPartOf

32 32 Inverse Property Example

33 33 Transitive Properties If A is related to B and B is related to C then A is also related to C Often used for part-of relationships Sydney BondiBeach hasPart NewSouthWales hasPart hasPart (derived)

34 34 Transitive Property Example

35 35 Sub-properties Example...

36 36 DatatypeProperties Link individuals to primitive values (integers, floats, strings, booleans etc) Often: AnnotationProperties without formal “meaning” Sydney hasSize = 4,500,000 isCapital = true rdfs:comment = “Don’t miss the opera house”

37 37 Classes Sets of individuals with common characteristics Individuals are instances of at least one class City Sydney Beach Cairns BondiBeach CurrawongBeach

38 38 Examples of Classes in OWL

39 39 Superclass Relationships Classes can be organized in a hierarchy Direct instances of subclass are also (indirect) instances of superclasses Cairns Sydney Canberra Coonabarabran

40 40 Example Subclasses … wine vin...

41 41 Class Relationships Classes can overlap arbitrarily City Sydney Cairns BondiBeach RetireeDestination

42 42 Class Disjointness All classes could potentially overlap In many cases we want to make sure they don’t share instances Sydney UrbanAreaRuralArea Sydney Woomera CapeYork disjointWith City Destination

43 43 Example disjoint

44 44 Class versus Individual (Instance) Levels of representation: –In certain contexts a class can be considered an instance of something else. –Grape, set of all grape varietals. CabernetSauvingonGrape is an instance of this class, but could be considered a class, the set of all actual Cabernet Sauvignon grapes. Subclass vs. instance: easy to confuse instance-of relationship with subclass relationship! –CabernetSauvignonGrape as individual & instance of Grape, or subclass of Grape. –But: Grape class is the set of all grape varietals, any subclass should be a subset. –CabernetSauvignonGrape is an instance of Grape, It does not describe a subset of Grape varietals, it is a grape varietal.

45 45 Class Descriptions Classes can be described by their logical characteristics Descriptions are “anonymous classes” Things with three star accommodation Things with sightseeing opportunities RetireeDestination Sydney SanJose BlueMountains

46 46 Class Descriptions Define the “meaning” of classes Anonymous class expressions are used –“All national parks have campgrounds.” –“A backpackers destination is a destination that has budget accommodation and offers sports or adventure activities.” Expressions mostly restrict property values (OWL Restrictions)

47 47 Class Descriptions: Why? Based on OWL’s Description Logic support Formalize intentions and modeling decisions (comparable to test cases) Make sure that individuals fulfill conditions Tool-supported reasoning

48 48 Reasoning with Classes Tool support for 3 types of reasoning exists: –Consistency checking: Can a class have any instances? –Classification: Is A a subclass of B? –Instance classification: Which classes does an individual belong to?

49 49 Restrictions (Overview) Define a condition for property values – allValuesFrom – someValuesFrom – hasValue – minCardinality – maxCardinality – cardinality An anonymous class consisting of all individuals that fulfill the condition

50 50 Cardinality Restrictions Meaning: The property must have at least/at most/exactly x values is the shortcut for and Example: A FamilyDestination is a Destination that has at least one Accomodation and at least 2 Activities

51 51 allValuesFrom Restrictions Meaning: All values of the property must be of a certain type Warning: Also individuals with no values fulfill this condition (trivial satisfaction) Example: Hiking is a Sport that is only possible in NationalParks

52 52 Value constraints

53 53 someValuesFrom Restrictions Meaning: At least one value of the property must be of a certain type Others may exist as well Example: A NationalPark is a RuralArea that has at least one Campground and offers at least one Hiking opportunity

54 54 hasValue Restrictions Meaning: At least one of the values of the property is a certain value Similar to someValuesFrom but with Individuals and primitive values Example: A PartOfSydney is a Destination where one of the values of the isPartOf property is Sydney

55 55 Enumerated Classes Consist of exactly the listed individuals OneStarRating TwoStarRating ThreeStarRating BudgetAccomodation

56 56 Example Description: Enumeration

57 57 Logical Class Definitions Define classes out of other classes – unionOf (or) – intersectionOf (and) – complementOf (not) Allow arbitrary nesting of class descriptions (A and (B or C) and not D)

58 58 unionOf The class of individuals that belong to class A or class B (or both) Example: Adventure or Sports activities AdventureSports

59 59 intersectionOf The class of individuals that belong to both class A and class B Example: A BudgetHotelDestination is a destination with accomodation that is a budget accomodation and a hotel BudgetAccomodation Hotel

60 60 Implicit intersectionOf When a class is defined by more than one class description, then it consists of the intersection of the descriptions Example: A luxury hotel is a hotel that is also an accommodation with 3 stars AccomodationWith3Stars Hotel LuxuryHotel

61 61 complementOf The class of all individuals that do not belong to a certain class Example: A quiet destination is a destination that is not a family destination Destination FamilyDestination QuietDestination (grayed)

62 62 Class Conditions Necessary Conditions: (Primitive / partial classes) “If we know that something is a X, then it must fulfill the conditions...” Necessary & Sufficient Conditions: (Defined / complete classes) “If something fulfills the conditions..., then it is an X.”

63 63 Class Conditions (2) QuietDestination NationalPark (not everything that fulfills these conditions is a NationalPark) (everything that fulfills these conditions is a QuietDestination)

64 64 Classification NationalPark BackpackersDestination A RuralArea is a Destination A Campground is BudgetAccomodation Hiking is a Sport Therefore: Every NationalPark is a Backpackers-Destination (Other BackpackerDestinations)

65 65 Reasoning with Propery, Domain & Range

66 66 Visualization with OWLViz

67 67 Putting it All Together Ontology has been developed Published on a dedicated web address Ontology provides standard terminology Other ontologies can extend it Users can instantiate the ontology to provide instances –specific hotels –specific activities

68 68 Ontology Import Adds all classes, properties and individuals from an external OWL ontology into your project Allows to create individuals, subclasses, or to further restrict imported classes Can be used to instantiate an ontology for the Semantic Web

69 69 Tourism Semantic Web (2) OWL Metadata (Individuals) Tourism Ontology Web Services Destination AccommodationActivity

70 70 OWL File <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:travel="http://protege.stanford.edu/plugins/ owl/owl-library/travel.owl#" xml:base="http://protege.stanford.edu/plugins/owl/owl- library/heli-bunjee.owl"> [...]

71 71 OWL File: [...] OWL body in RDF wrap <owl:imports rdf:resource="http://protege.stanford.edu/ plugins/owl/owl-library/travel.owl"/> <rdfs:subClassOf rdf:resource="http://protege.stanford. edu/plugins/owl/owl-library/travel.owl#BunjeeJumping"/> [***]

72 72 OWL File [***] in HeliBunjeeJumping [ +++ ] Manic super bunjee now offers nerve wrecking jumps from 300 feet right out of a helicopter. Satisfaction guaranteed.

73 73 OWL File [+++] in travel:hasContact msb@manicsuperbunjee. com Sydney Queen Victoria St 1240

74 74 OWL Lite Synopsis RDF Schema Features: Class (Thing, Nothing) rdfs:subClassOf rdf:Property rdfs:subPropertyOf rdfs:domain rdfs:range Individual (In)Equality: equivalentClass equivalentProperty sameAs differentFrom AllDifferent distinctMembers Property Characteristics: ObjectProperty DatatypeProperty inverseOf TransitiveProperty SymmetricProperty FunctionalProperty InverseFunctionalProperty Property Restrictions: Restriction onProperty allValuesFrom someValuesFrom Restricted Cardinality: minCardinality (only 0 or 1)minCardinality maxCardinality (only 0 or 1)maxCardinality cardinality (only 0 or 1)cardinality Header Information: Ontology imports Class Intersection: intersectionOf Versioning: versionInfo priorVersion backwardCompatibleW ithbackwardCompatibleW ith incompatibleWith DeprecatedClass DeprecatedProperty Annotation Properties: rdfs:label rdfs:comment rdfs:seeAlso rdfs:isDefinedBy AnnotationProperty OntologyProperty Datatypes xsd datatypes

75 75 OWL DL + Full Class Axioms: oneOf, dataRange disjointWith equivalentClass (applied to class expressions)equivalentClass rdfs:subClassOf (applied to class expressions)rdfs:subClassOf Boolean Combinations of Class Expressions: unionOf complementOf intersectionOf Arbitrary Cardinality: minCardinality maxCardinality cardinality Filler Information: hasValue

76 76 Problems with RDFS RDFS too weak to describe resources in sufficient detail –No localised range and domain constraints Can’t say that the range of hasChild is person when applied to persons and elephant when applied to elephants –No existence/cardinality constraints Can’t say that all instances of person have a mother that is also a person, or that persons have exactly 2 parents –No transitive, inverse or symmetrical properties Can’t say that isPartOf is a transitive property, that hasPart is the inverse of isPartOf or that touches is symmetrical Difficult to provide reasoning support –No “native” reasoners for non-standard semantics –May be possible to reason via FO axiomatisation

77 77 Web Ontology Language Requirements Desirable features identified for Web Ontology Language: Extends existing Web standards –Such as XML, RDF, RDFS Easy to understand and use –Should be based on familiar KR idioms Formally specified Of “adequate” expressive power Possible to provide automated reasoning support

78 78 From RDF to OWL Two languages developed to satisfy above requirements –OIL: developed by group of (largely) European researchers (several from EU OntoKnowledge project) –DAML-ONT: developed by group of (largely) US researchers (in DARPA DAML programme) Efforts merged to produce DAML+OIL –Development was carried out by “Joint EU/US Committee on Agent Markup Languages” –Extends (“DL subset” of) RDF DAML+OIL submitted to W3C as basis for standardisation –Web-Ontology (WebOnt) Working Group formed –WebOnt group developed OWL language based on DAML+OIL –OWL language now a W3C Proposed Recommendation

79 79 OWL Language Three species of OWL –OWL full is union of OWL syntax and RDF –OWL DL restricted to FOL fragment (¼ DAML+OIL) –OWL Lite is “easier to implement” subset of OWL DL Semantic layering –OWL DL ¼ OWL full within DL fragment –DL semantics officially definitive OWL DL based on SHIQ Description Logic –In fact it is equivalent to SHOIN (D n ) DL OWL DL Benefits from many years of DL research –Well defined semantics –Formal properties well understood (complexity, decidability) –Known reasoning algorithms –Implemented systems (highly optimised)

80 80 OWL built-in classes owl:FunctionalProperty, owl:InverseFunctionalProperty, owl:SymmetricProperty, owl:TransitiveProperty, owl:DeprecatedClass, owl:DeprecatedProperty

81 81 OWL built in properties owl:equivalentClass, owl:disjointWith, owl:equivalentProperty, owl:inverseOf, owl:sameAs, owl:differentFrom, owl:complementOf, owl:unionOf, owl:intersectionOf, owl:oneOf, owl:allValuesFrom, owl:onProperty, owl:someValuesFrom, owl:hasValue, owl:minCardinality, owl:maxCardinality, owl:cardinality, owl:distinctMembers annotation properties: owl:versionInfo, rdfs:label, rdfs:comment, rdfs:seeAlso, rdfs:isDefinedBy ontology properties: owl:imports, owl:priorVersion, owl:backwardCompatibleWith, owl:incompatibleWith

82 82 OWL Class Constructors XMLS datatypes as well as classes in Arbitrarily complex nesting of constructors

83 83 OWL Syntax E.g., Person hasChild.Doctor hasChild.Doctor:

84 84 OWL Axioms

85 85 XML Schema Datatypes in OWL OWL supports XML Schema primitive datatypes –E.g., integer, real, string, … Strict separation between “object” classes and datatypes –Disjoint interpretation domain for datatypes –Disjoint “object” and datatype properties

86 86 Why Separate Classes and Datatypes? Philosophical reasons: –Datatypes structured by built-in predicates –Not appropriate to form new datatypes using ontology language Practical reasons: –Ontology language remains simple and compact –Semantic integrity of ontology language not compromised –Implementability not compromised — can use hybrid reasoner

87 87 OWL query language: OWL-QL OWL Query Language (OWL-QL) is an updated version of the DAML Query Language (DQL).OWL Query Language (OWL-QL) It is intended to be a candidate standard language and protocol for query- answering dialogues among Semantic Web computational agents.

88 88 OWL Conclusion We have learned: –OWL definition –OWL comparison with RDF –OWL classes and properties –Usage scenarios


Download ppt "Dr. Alexandra I. Cristea OWL."

Similar presentations


Ads by Google