slide1
Download
Skip this Video
Download Presentation
OWL

Loading in 2 Seconds...

play fullscreen
1 / 82

OWL - PowerPoint PPT Presentation


  • 216 Views
  • Uploaded on

OWL. Dr. Alexandra I. Cristea http://www.dcs.warwick.ac.uk/~acristea/. 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' OWL' - deacon


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


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

OWL

Dr. Alexandra I. Cristea

http://www.dcs.warwick.ac.uk/~acristea/

what is owl
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
why owl
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).
owl is different from rdf
OWL is Different from RDF
  • OWL , RDF similar
  • but OWL
    • stronger language
    • greater machine interpretability
    • larger vocabulary
    • stronger syntax.
what is an ontology
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
owl sublanguages
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
owl is written in xml
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#"

more on owl
(more on) OWL
  • Based on predecessors (DAML+OIL)
  • A Web Language: Based on RDF(S)
  • An Ontology Language: Based on logic
owl ontologies
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
owl use cases
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 example airport
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://www.mygrid.org.uk/OWL/Validator
  • Semantic web search engine: http://swoogle.umbc.edu/
scenario
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

scenario architecture
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, ...)
tourism semantic web
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
tourism semantic web1
Tourism Semantic Web

OWL

Metadata

(Individuals)

OWL

Metadata

(Individuals)

Tourism Ontology

Destination

Activity

Accomodation

OWL

Metadata

(Individuals)

OWL

Metadata

(Individuals)

Web Services

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

Sydney

SydneysOlympicBeach

BondiBeach

Individuals (Instances)
  • Represent objects in the domain
  • Specific things
  • Two names could represent the same “real-world” individual
example of individuals
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>

objectproperties

hasPart

hasAccomodation

Sydney

BondiBeach

FourSeasons

ObjectProperties
  • Link two individuals together
  • Relationships (0..n, n..m)
example property
Example Property

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

</owl:ObjectProperty>

property domain range

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)
properties range and domain

hasAccomodation

hasAccomodation

Destination

Accomodation

Sydney

BestWestern

FourSeasons

Properties, Range and Domain
  • Property characteristics
    • Domain: “left side of relation” (Destination)
    • Range: “right side” (Accomodation)
domains
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
property restriction example cardinality
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>

owl extends other ontologies
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">

inverse properties

hasPart

isPartOf

Sydney

BondiBeach

Inverse Properties
  • Represent bidirectional relationships
  • Adding a value to one property also adds a value to the inverse property (!)
inverse property example
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>

transitive properties

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
transitive property example
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>

sub properties example
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>

datatypeproperties

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”

classes

City

Beach

Cairns

Sydney

BondiBeach

CurrawongBeach

Classes
  • Sets of individuals with common characteristics
  • Individuals are instances of at least one class
examples of classes in owl
Examples of Classes in OWL

<owl:Class rdf:ID="Winery"/>

<owl:Class rdf:ID="Region"/>

<owl:Class rdf:ID="ConsumableThing"/>

superclass relationships

Cairns

Canberra

Coonabarabran

Sydney

Superclass Relationships
  • Classes can be organized in a hierarchy
  • Direct instances of subclass are also (indirect) instances of superclasses
example subclasses
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>

class relationships

RetireeDestination

City

Cairns

BondiBeach

Sydney

Class Relationships
  • Classes can overlap arbitrarily
class disjointness

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

example disjoint
Example disjoint

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

</owl:Class>

only in OWL full !

class versus individual instance
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.
class descriptions

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”
class descriptions1
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)
reasoning with classes
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?
restrictions overview
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
cardinality restrictions
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
allvaluesfrom restrictions
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
value constraints
Value constraints

<owl:Restriction>

<owl:onProperty rdf:resource="#hasParent" /> <owl:allValuesFrom rdf:resource="#Human" />

</owl:Restriction>

somevaluesfrom restrictions
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
hasvalue restrictions
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
enumerated classes

BudgetAccomodation

OneStarRating

TwoStarRating

ThreeStarRating

Enumerated Classes
  • Consist of exactly the listed individuals
example description enumeration
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!

logical class definitions
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
unionof

Adventure

Sports

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

BudgetAccomodation

Hotel

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

AccomodationWith3Stars

Hotel

LuxuryHotel

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
complementof

QuietDestination (grayed)

Destination

FamilyDestination

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
class conditions
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.”
class conditions 2

QuietDestination

NationalPark

Class Conditions (2)

(not everything that fulfills theseconditions is a NationalPark)

(everything that fulfills theseconditions is a QuietDestination)

classification

BackpackersDestination

NationalPark

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

(Other BackpackerDestinations)

reasoning with property domain range
Reasoning with Property, 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

putting it all together
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
ontology import
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
tourism semantic web 2
Tourism Semantic Web (2)

OWL

Metadata

(Individuals)

Tourism Ontology

Destination

Activity

Accommodation

Web Services

owl file import
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>

owl file owl body in rdf wrap
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>

owl file in helibunjeejumping
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>

owl file in travel hascontact
OWL File [+++] in travel:hasContact

<travel:Contact rdf:ID="MSBInc">

<travel:hasEmail rdf:datatype="http://www.w3.org/2001/XMLSchema#string">[email protected] </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>

owl lite synopsis

Header Information:

  • Ontology
  • imports
  • Class Intersection:
  • intersectionOf
  • Versioning:
  • versionInfo
  • priorVersion
  • backwardCompatibleWith
  • incompatibleWith
  • DeprecatedClass
  • DeprecatedProperty
  • Annotation Properties:
  • rdfs:label
  • rdfs:comment
  • rdfs:seeAlso
  • rdfs:isDefinedBy
  • AnnotationProperty
  • OntologyProperty
  • Datatypes
  • xsd datatypes
OWL Lite Synopsis
  • Property Characteristics:
  • ObjectProperty
  • DatatypeProperty
  • inverseOf
  • TransitiveProperty
  • SymmetricProperty
  • FunctionalProperty
  • InverseFunctionalProperty
  • Property Restrictions:
  • Restriction
  • onProperty
  • allValuesFrom
  • someValuesFrom
  • Restricted Cardinality:
  • minCardinality (only 0 or 1)
  • maxCardinality (only 0 or 1)
  • cardinality (only 0 or 1)
  • 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
owl dl full
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
problems with rdfs
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
web ontology language requirements
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
from rdf to owl
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
owl language
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 SHIQDescription 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)
owl built in classes
OWL built-in classes
  • owl:FunctionalProperty, owl:InverseFunctionalProperty, owl:SymmetricProperty, owl:TransitiveProperty, owl:DeprecatedClass, owl:DeprecatedProperty
owl built in properties
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
owl class constructors
OWL Class Constructors
  • XMLS datatypes as well as classes in
  • Arbitrarily complex nesting of constructors
owl syntax
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:allValuesFrom>

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

</owl:Restriction>

</owl:intersectionOf>

</owl:Class>

xml schema datatypes in owl
XML Schema Datatypes in OWL
  • OWL supports XML Schemaprimitive datatypes
    • E.g., integer, real, string, …
  • Strict separationbetween “object” classes and datatypes
    • Disjoint interpretation domain for datatypes
    • Disjoint “object” and datatype properties
why separate classes and datatypes
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
owl query language owl ql
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.
owl conclusion
OWL Conclusion
  • We have learned:
    • OWL definition
    • OWL comparison with RDF
    • OWL classes and properties
    • Usage scenarios
ad