slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
OWL PowerPoint Presentation


250 Views Download Presentation
Download Presentation


- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. OWL Dr. Alexandra I. Cristea

  2. What is OWL? • W3C Recommendation, February 2004. • web standard • Newest OWL 2 (November 2009) • Web Ontology Language • built on top of RDF • for processing information on the web • designed to be interpreted by computers, not for being read by people • OWL is written in XML

  3. 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 was designed to • provide a common way to process the content of web information (instead of displaying it). • be read by computer applications (instead of humans).

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

  5. What is an Ontology? • formal specification of a certain domain • machine manipulable model • 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

  6. 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 DL is the subset of OWL (Full) that is optimized for reasoning and knowledge modeling • OWL Full(includes OWL DL) • aug. meaning RDF.. • Classes - individuals

  7. 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 =""

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

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

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

  11. OWL Example (Airport) • Example: • Find the error in the OWL Resource: • Validators are: • For RDF: • For OWL: • Semantic web search engine:

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

  13. 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, ...)

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

  15. Tourism Semantic Web OWL Metadata (Individuals) OWL Metadata (Individuals) Tourism Ontology Destination Activity Accomodation OWL Metadata (Individuals) OWL Metadata (Individuals) Web Services

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

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

  18. Example of Individuals <Region rdf:ID="CentralCoastRegion" /> equivalent to: <owl:Thing rdf:ID="CentralCoastRegion" /> <owl:Thing rdf:about="#CentralCoastRegion"> <rdf:type rdf:resource="#Region"/> </owl:Thing>

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

  20. Example Property <owl:ObjectProperty rdf:ID=“hasPart"> <rdfs:domain rdf:resource="#Destination" /> <rdfs:range rdf:resource="#Beaches" /> </owl:ObjectProperty>

  21. hasProperty DomainClass RangeClass hasProperty hasProperty 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 hasPropertyis a Datatype Property)

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

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

  24. Property Restriction: Example Cardinality <owl:Class rdf:ID="Wine"> <rdfs:subClassOf rdf:resource="&food;PotableLiquid"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#madeFromGrape"/> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> ... </owl:Class> <owl:Restriction> <owl:onProperty rdf:resource="#madeFromGrape"/> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality> </owl:Restriction>

  25. OWL Extends Other Ontologies • extend existing ontology by saying things about terms in it: <owl:Class rdf:about="#Animal"> <rdfs:comment> 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). </rdfs:comment> <rdfs:subClassOf> <owl:Restriction owl:cardinality="2"> <owl:onProperty rdf:resource="#hasParent"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> • If ontology is already published, you use the full URL. <owl:Class rdf:about="">

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

  27. Inverse Property Example <owl:ObjectProperty rdf:ID="hasPart"> <rdf:type rdf:resource="&owl;FunctionalProperty" /> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID=“isPartOf"> <owl:inverseOf rdf:resource="#hasPart" /> </owl:ObjectProperty>

  28. hasPart (derived) hasPart hasPart Sydney NewSouthWales BondiBeach 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

  29. Transitive Property Example <owl:ObjectProperty rdf:ID="locatedIn"> <rdf:type rdf:resource="&owl;TransitiveProperty" /> <rdfs:domain rdf:resource="&owl;Thing" /> <rdfs:range rdf:resource="#Region" /> </owl:ObjectProperty> <Region rdf:ID="SantaCruzMountainsRegion"> <locatedIn rdf:resource="#CaliforniaRegion" /> </Region> <Region rdf:ID="CaliforniaRegion"> <locatedIn rdf:resource="#USRegion" /> </Region>

  30. Sub-properties Example <owl:ObjectProperty rdf:ID="hasWineDescriptor"> <rdfs:domain rdf:resource="#Wine" /> <rdfs:range rdf:resource="#WineDescriptor" /> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="hasColor"> <rdfs:subPropertyOf rdf:resource="#hasWineDescriptor" /> <rdfs:range rdf:resource="#WineColor" /> ... </owl:ObjectProperty>

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

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

  33. Examples of Classes in OWL <owl:Class rdf:ID="Winery"/> <owl:Class rdf:ID="Region"/> <owl:Class rdf:ID="ConsumableThing"/>

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

  35. Example Subclasses <owl:Class rdf:ID="PotableLiquid"> <rdfs:subClassOf rdf:resource="#ConsumableThing" /> … </owl:Class> <owl:Class rdf:ID="Wine"> <rdfs:subClassOf rdf:resource="&food;PotableLiquid"/> <rdfs:label xml:lang="en">wine</rdfs:label> <rdfs:label xml:lang="fr">vin</rdfs:label> ... </owl:Class>

  36. RetireeDestination City Cairns BondiBeach Sydney Class Relationships • Classes can overlap arbitrarily

  37. UrbanArea RuralArea City Destination Woomera CapeYork Sydney Sydney Class Disjointness • All classes could potentially overlap • In many cases we want to make sure they don’t share instances disjointWith

  38. Example disjoint <owl:Class rdf:about="#Man"> <owl:disjointWith rdf:resource="#Woman"/> </owl:Class> only in OWL full !

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

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

  41. 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)

  42. 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?

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

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

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

  46. Value constraints <owl:Restriction> <owl:onProperty rdf:resource="#hasParent" /> <owl:allValuesFrom rdf:resource="#Human" /> </owl:Restriction>

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

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

  49. BudgetAccomodation OneStarRating TwoStarRating ThreeStarRating Enumerated Classes • Consist of exactly the listed individuals

  50. Example Description: Enumeration <owl:Class> <owl:oneOf rdf:parseType="Collection"> <owl:Thing rdf:about="#Eurasia"/> <owl:Thing rdf:about="#Africa"/> <owl:Thing rdf:about="#NorthAmerica"/> <owl:Thing rdf:about="#SouthAmerica"/> <owl:Thing rdf:about="#Australia"/> <owl:Thing rdf:about="#Antarctica"/> </owl:oneOf> </owl:Class> Not OWL Lite!