Docstoc

OWL

Document Sample
OWL Powered By Docstoc
					OWL
          Dr. Alexandra I. Cristea
 http://www.dcs.warwick.ac.uk/~acristea/
What is OWL?
•   W3C Recommendation, February 2004.
    –   web standard
•   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



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



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




                                       4
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

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




                                                                            6
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#"


                                             7
(more on) OWL
• Based on predecessors (DAML+OIL)

• A Web Language: Based on RDF(S)
• An Ontology Language: Based on logic




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




                                                     10
   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/
• Semantic web search engine:
  http://swoogle.umbc.edu/

                                                          11
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



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




                                                 13
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



                                          14
Tourism Semantic Web

       OWL                                       OWL
     Metadata        Tourism Ontology          Metadata
   (Individuals)                             (Individuals)
                        Destination


                   Activity   Accomodation

       OWL                                       OWL
     Metadata                                  Metadata
   (Individuals)                             (Individuals)


                     Web Services

                                                             15
OWL

 • Individuals (e.g., ―FourSeasons‖)
 • Properties
   – ObjectProperties (references)
   – DatatypeProperties (simple values)
 • Classes (e.g., ―Hotel‖)



                                          16
Individuals (Instances)
• Represent objects in the domain
• Specific things
• Two names could represent the same
  ―real-world‖ individual

            Sydney

                     SydneysOlympicBeach
     BondiBeach

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


                                              18
ObjectProperties
• Link two individuals together
• Relationships (0..n, n..m)


                            BondiBeach

    Sydney

                                  FourSeasons



                                                19
   Example Property

<owl:ObjectProperty rdf:ID=―hasPart">
  <rdfs:domain rdf:resource="#Destination" />
  <rdfs:range rdf:resource="#Beaches" />
</owl:ObjectProperty>




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


         DomainClass                             RangeClass




                                                              21
Properties, Range and Domain
• Property characteristics
  – Domain: ―left side of relation‖ (Destination)
  – Range: ―right side‖ (Accomodation)

                                 Accomodation
  Destination

                                    BestWestern

   Sydney

                                    FourSeasons


                                                    22
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




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


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



                                                                             25
Inverse Properties
• Represent bidirectional relationships
• Adding a value to one property also
  adds a value to the inverse property (!)


                            BondiBeach

     Sydney




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




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


                     Sydney


                                      BondiBeach
             hasPart (derived)

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

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


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



                                                     31
Classes
• Sets of individuals with common
  characteristics
• Individuals are instances of at least one
  class
                                         Beach
   City


            Sydney          BondiBeach

          Cairns           CurrawongBeach


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




                                        33
Superclass Relationships
• Classes can be organized in a hierarchy
• Direct instances of subclass are also
  (indirect) instances of superclasses


                      Cairns

                               Sydney
                               Canberra


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


                                                          35
Class Relationships
• Classes can overlap arbitrarily


                            RetireeDestination
   City

          Cairns
                             BondiBeach
                   Sydney




                                                 36
Class Disjointness
• All classes could potentially overlap
• In many cases we want to make sure
  they don’t share instances
                     disjointWith


         UrbanArea                         RuralArea



           Sydney                   Woomera
           Sydney
                                    CapeYork

  City                                         Destination
                                                             37
  Example disjoint

<owl:Class rdf:about="#Man"> <owl:disjointWith
  rdf:resource="#Woman"/>
</owl:Class>




only in OWL full !


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

                                                                 39
Class Descriptions
• Classes can be described by their
  logical characteristics
• Descriptions are ―anonymous classes‖
 Things with three star accommodation
                                         RetireeDestination


     SanJose
                       Sydney
                                        BlueMountains


                       Things with sightseeing opportunities

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


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



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




                                                44
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




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




                                                 46
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




                                                 47
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




                                           48
Enumerated Classes
  • Consist of exactly the listed individuals

         OneStarRating
                                 ThreeStarRating
              TwoStarRating




  BudgetAccomodation

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


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

• >>> OWL DL


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




                                              52
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




                                            53
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
       Hotel          AccomodationWith3Stars




        LuxuryHotel

                                                  54
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
                  QuietDestination (grayed)
    Destination

                      FamilyDestination




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


                                              56
Class Conditions (2)

  NationalPark

                    (not everything that fulfills these
                    conditions is a NationalPark)




 QuietDestination

                    (everything that fulfills these
                    conditions is a QuietDestination)

                                                          57
Classification
  NationalPark             • A RuralArea is a
                             Destination
                           • A Campground is
                             BudgetAccomodation
                           • Hiking is a Sport
                           • Therefore:
                             Every NationalPark is a
                             Backpackers-Destination


  BackpackersDestination




                           (Other BackpackerDestinations)

                                                        58
Reasoning with Propery, Domain &
Range
<owl:ObjectProperty rdf:ID="madeFromGrape">
 <rdfs:domain rdf:resource="#Wine"/>
 <rdfs:range rdf:resource="#WineGrape"/>
</owl:ObjectProperty>

<owl:Thing rdf:ID="LindemansBin65Chardonnay">
  <madeFromGrape
  rdf:resource="#ChardonnayGrape" />
</owl:Thing>
=> LindemansBin65Chardonnay is a wine
                                              59
Visualization with OWLViz




                            60
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

                                             61
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



                                              62
Tourism Semantic Web (2)

             OWL
           Metadata       Tourism Ontology
         (Individuals)
                             Destination


                         Activity Accommodation




                           Web Services

                                                  63
OWL File & import
<?xml version="1.0"?>
<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">

[. . .]
</rdf:RDF>




                                                         64
OWL File: [. . .] OWL body in RDF wrap
 <owl:Ontology rdf:about="">
    <owl:imports rdf:resource="http://protege.stanford.edu/
                      plugins/owl/owl-library/travel.owl"/>
  </owl:Ontology>

  <owl:Class rdf:ID="HeliBunjeeJumping">
    <rdfs:subClassOf rdf:resource="http://protege.stanford.
    edu/plugins/owl/owl-library/travel.owl#BunjeeJumping"/>
  </owl:Class>

  <HeliBunjeeJumping rdf:ID="ManicSuperBunjee">

   [***]

</HeliBunjeeJumping>



                                                        65
OWL File [***] in HeliBunjeeJumping
 <travel:isPossibleIn>
    <rdf:Description rdf:about="http://protege.stanford.edu/plugins/owl/owl-
          library/travel.owl#Sydney">
      <travel:hasActivity rdf:resource="#ManicSuperBunjee"/>
    </rdf:Description>
   </travel:isPossibleIn>
   <travel:hasContact>
    [ +++ ]
   </travel:hasContact>
   <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Manic
super bunjee now offers nerve wrecking jumps from 300 feet right out of a helicopter.
Satisfaction guaranteed.</rdfs:comment>




                                                                                    66
OWL File [+++] in travel:hasContact

    <travel:Contact rdf:ID="MSBInc">
     <travel:hasEmail
rdf:datatype="http://www.w3.org/2001/XMLSchema#string">msb@manicsuperbunjee.
com
     </travel:hasEmail>
     <travel:hasCity
rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Sydney</travel:hasCity>
     <travel:hasStreet
rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Queen Victoria
St</travel:hasStreet>
     <travel:hasZipCode
rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1240</travel:hasZipCode>
    </travel:Contact>



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

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


                                                 69
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

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

                                                                          72
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(Dn) 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)                       73
OWL built-in classes
• owl:FunctionalProperty,
  owl:InverseFunctionalProperty,
  owl:SymmetricProperty,
  owl:TransitiveProperty,
  owl:DeprecatedClass,
  owl:DeprecatedProperty




                                   74
  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

                                                    75
OWL Class Constructors




• XMLS datatypes as well as classes in
• Arbitrarily complex nesting of constructors


                                                76
OWL Syntax
E.g., Person hasChild.(Doctor hasChild.Doctor):
<owl:Class>
  <owl:intersectionOf rdf:parseType="collection">
    <owl:Class rdf:about="#Person"/>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#hasChild"/>
      <owl:toClass>
        <owl:unionOf rdf:parseType="collection">
          <owl:Class rdf:about="#Doctor"/>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#hasChild"/>
            <owl:hasClass rdf:resource="#Doctor"/>
          </owl:Restriction>
        </owl:unionOf>
      </owl:toClass>
    </owl:Restriction>
  </owl:intersectionOf>
</owl:Class>

                                                         77
OWL Axioms




             78
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




                                                   79
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


                                                              80
OWL query language: OWL-QL
• OWL Query Language (OWL-QL) is an
  updated version of the DAML Query
  Language (DQL).

• It is intended to be a candidate standard
  language and protocol for query-
  answering dialogues among Semantic
  Web computational agents.


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




                                 82

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:42
posted:4/13/2011
language:English
pages:82