1 / 88


OWL. Dr. Alexandra I. Cristea http://www.dcs.warwick.ac.uk/~acristea/. What is OWL?. OWL became a W3C (World Wide Web Consortium) Recommendation in February 2004. OWL stands for W eb O ntology L anguage OWL is built on top of RDF OWL is 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 http://www.dcs.warwick.ac.uk/~acristea/

  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. 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. Ontology: Origins and History Ontology in Philosophy 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?

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

  6. Ontology in Computer Science • 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

  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. 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. OWL is Different from RDF • OWL , RDF similar • but OWL • stronger language • greater machine interpretability • larger vocabulary • stronger syntax.

  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. 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. (more on) OWL • Based on predecessors (DAML+OIL) • A Web Language: Based on RDF(S) • An Ontology Language: Based on logic

  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. 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. OWL Example (Airport) • Example: http://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 • Validators are: • For RDF: http://www.w3.org/RDF/Validator • For OWL: http://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=White • Semantic web search engine: http://swoogle.umbc.edu/

  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. 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. 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. Tourism Semantic Web OWL Metadata (Individuals) OWL Metadata (Individuals) Tourism Ontology Destination Activity Accomodation OWL Metadata (Individuals) OWL Metadata (Individuals) Web Services

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

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

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

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

  24. Example Property <owl:ObjectProperty rdf:ID="course"> <rdfs:domain rdf:resource="#Meal" /> <rdfs:range rdf:resource="#MealCourse" /> </owl:ObjectProperty>

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

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

  27. Example Propery, Domain & Range <owl:ObjectProperty rdf:ID="madeFromGrape"> <rdfs:domain rdf:resource="#Wine"/> <rdfs:range rdf:resource="#WineGrape"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="course"> <rdfs:domain rdf:resource="#Meal" /> <rdfs:range rdf:resource="#MealCourse" /> </owl:ObjectProperty>

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

  30. 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="http://www.sample.com/ontologies/zoo#Animal">

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

  32. Inverse Property Example <owl:ObjectProperty rdf:ID="hasMaker"> <rdf:type rdf:resource="&owl;FunctionalProperty" /> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="producesWine"> <owl:inverseOf rdf:resource="#hasMaker" /> </owl:ObjectProperty>

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

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

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

  36. 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”

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

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

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

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

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

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

  43. Example disjoint <owl:Class rdf:about="#Man"> <owl:disjointWith rdf:resource="#Woman"/> </owl:Class>

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

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

More Related