1 / 82


OWL. Dr. Alexandra I. Cristea What is OWL?. W3C Recommendation, February 2004. web standard Newest OWL 2 (November 2009) W eb O ntology L anguage built on top of RDF for processing information on the web

Download Presentation


An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.


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!

More Related