Title: The OWL ontology language
1The OWL ontology language
2Overview
- The OWL ontology language
- Lite, DL, Full
- RDFS, RDF
- XML, XML namespaces
3Not yet a semantic web
- Still at RD level
- W3C
- CIRCA (Conceptual Information Retrieval and
Communication Architecture) - CYC (Cycorp, www.cyc.com)
- Development of base technology
- Editors
- Translators
- Reasoners
4Problems with semantic web
- Limited precision and recall of search engines
- Maintaining reputable and reliable directories of
services - Complexity in exchanges, message types and roles
played by agents - Semantic heterogeneity
5Ontology languages
- UML
- Rich representational system, widely used, well
suited to represent ontology elements - Unable to specify instances, not intended for
public use or to be combined into larger
ontologies. - RDF
- Can represent instances, XML-based, has fine
level of granularity - No convenient mechanism to represent ontology as
engineered object, limited use of properties - OWL
6OWL
- Family of formalisms to represent ontologies
- Endorsed by W3C
- Three versions
- Lite
- DL
- Full
- Built on top of RDFS
- Not intended to be written by humans
7XML
- Mark up language to store and transport data
- Similar to HTML but tags have to be defined
- Based on tree structure
- Entities declaration
- Defines abbreviations for terms used in attribute
values - Namespaces
- Method to avoid name conflicts, used in element
(tag) names - Datatypes
8XML tree structure
ltbookstoregt ltbook category"COOKING"gt lttitle
lang"en"gtEveryday Italianlt/titlegt
ltauthorgtGiada De Laurentiislt/authorgt
ltyeargt2005lt/yeargt ltpricegt30.00lt/pricegt
lt/bookgt ltbook category"CHILDREN"gt lttitle
lang"en"gtHarry Potterlt/titlegt ltauthorgtJ K.
Rowlinglt/authorgt ltyeargt2005lt/yeargt
ltpricegt29.99lt/pricegt lt/bookgt lt/bookstoregt
9Elements and attributes
- As element
- ltpersongt
- ltsexgtfemalelt/sexgt
- ltfirstnamegtAnnalt/firstnamegt
- ltlastnamegtSmithlt/lastnamegt
- lt/persongt
- As attribute
- ltperson sex"female"gt
- ltfirstnamegtAnnalt/firstnamegt
- ltlastnamegtSmithlt/lastnamegt
- lt/persongt
10Entities
- Can be used for abbreviating references to URIs
- lt!ENTITY name full URI"gt
- Referenced in attributes by enclosing them
within and - lt!ENTITY pizza
- "http//www.co-ode.org/ontologies/pizza/pizza.owl
" gt -
- ltOWLClass URI"pizzaFourSeasons"/gt
- ltOWLClass URI"pizzaParmense"/gt
11Namespaces
ltrootgt lthtable xmlnsh"http//www.w3.org/TR/html
4/"gt lthtrgt lthtdgtAppleslt/htdgt
lthtdgtBananaslt/htdgt lt/htrgt lt/htablegt ltftable
xmlnsf"http//www.w3schools.com/furniture"gt
ltfnamegtCoffee Tablelt/fnamegt ltfwidthgt80lt/fwidt
hgt ltflengthgt120lt/flengthgt lt/ftablegt lt/rootgt
ltrootgt lttablegt lttrgt lttdgtAppleslt/tdgt
lttdgtBananaslt/tdgt lt/trgt lt/tablegt lttablegt
ltnamegtCoffee Tablelt/namegt ltwidthgt80lt/widthgt
ltlengthgt120lt/lengthgt lt/tablegt lt/rootgt
12Datatypes
- Defined as part of XML Schema
- lt!ENTITY xsd "http//www.w3.org/2001/XMLSchema"
gt -
- ltowlDatatypeProperty rdfID"dayOfYear"gt
- ltrdfsdomain rdfresource"DateTimeDescripti
on" /gt - ltrdfsrange rdfresource"xsdnonNegativeInt
eger" /gt - lt/owlDatatypePropertygt
13RDF
- Resource Description Framework
- Designed to be read and understood by computers
- Provides a framework for describing web resources
in statements of the form - Subject, predicate, object or
- Resource, property, value
14RDF example
ltrdfRDF xmlnsrdf"http//www.w3.org/1999/02/22-r
df-syntax-ns" xmlnscd"http//www.recshop.fake/
cd"gt ltrdfDescription rdfabout"http//www.rec
shop.fake/cd/Empire Burlesque"gt
ltcdtitlegtEmpire Burlesquelt/cdtitlegt
ltcdartistgtBob Dylanlt/cdartistgt ltcdcountrygtUSAlt/
cdcountrygt ltcdcompanygtColumbialt/cdcompanygt
ltcdpricegt10.90lt/cdpricegt ltcdyeargt1985lt/cdyea
rgt lt/rdfDescriptiongt . lt/rdfRDFgt
15Another example
lt?xml version"1.0"?gt ltrdfRDF
xmlnsrdf"http//www.w3.org/1999/02/22-rdf-syntax
-ns" xmlnslib"http//purl.org/lib/elements
/1.1/"gt ltrdfDescription about"http//www.cs
.rpi.edu/puninj/XMLJ/"gt ltlibcreatorgtJohn
Puninlt/libcreatorgt ltlibtitlegtProgramming
XML in Javalt/libtitlegt ltlibdategt2001-04-1
0lt/libdategt lt/rdfDescriptiongt
ltrdfDescription about"http//www.cs.rpi.edu/pun
inj/XGMML/"gt ltlibcreatorgtJohn
Puninlt/libcreatorgt ltlibtitlegtExtensible
Graph Markup and Modeling Languagelt/libtitlegt
ltlibdategt2001-04-04lt/libdategt
lt/rdfDescriptiongt lt/rdfRDFgt
16RDFS
- Resource Description Framework Schema
- Built on top of RDF
- Provides a framework for describing application
specific classes and properties - Resources can be defined as instances of classes
or subclasses of classes - Allows the description of class hierarchies as
well as their individuals
17Combining RDF and RDFS
ltrdfRDF xmlnsrdf "http//www.w3.org/1999/02/22-
rdf-syntax-ns" xmlnsrdfs"http//www.w3.org/200
0/01/rdf-schema" xmlbase "http//www.animals.f
ake/animals"gt ltrdfDescription rdfID"animal"gt
ltrdftype rdfresource"http//www.w3.org/200
0/01/rdf-schemaClass"/gt lt/rdfDescriptiongt ltrdf
Description rdfID"horse"gt ltrdftype
rdfresource"http//www.w3.org/2000/01/rdf-schema
Class"/gt ltrdfssubClassOf rdfresource"animal
"/gt lt/rdfDescriptiongt lt/rdfRDFgt
18Simplifying with RDFS
ltrdfRDF xmlnsrdf "http//www.w3.org/1999/02/22
-rdf-syntax-ns" xmlnsrdfs"http//www.w3.org/20
00/01/rdf-schema" xmlbase "http//www.animals.
fake/animals"gt ltrdfsClass rdfID"animal"
/gt ltrdfsClass rdfID"horse"gt
ltrdfssubClassOf rdfresource"animal"/gt lt/rdfsC
lassgt lt/rdfRDFgt
19So far
- XML
- Tree structure (elements and attributes)
- Entity declarations
- Namespaces
- Datatypes
- RFD
- Statements of the form subject, predicate, object
- RDFS
- Framework for describing hierarchies of classes
and properties
20OWL
- RDF RDFS do not provide a mechanism for
specifying restrictions - Lite class hierarchies, simple restrictions
- DL all inferences can be computed and will
finish in finite time - Full classes can be treated both as classes and
as individuals
21Classes and subclasses
ltrdfRDF xmlnsrdf "http//www.w3.org/1999/02/22
-rdf-syntax-ns" xmlnsrdfs"http//www.w3.org/20
00/01/rdf-schema xmlnsowl"http//www.w3.org/20
02/07/owl"gt xmlbase "http//www.animals.fake/a
nimals"gt ltowlClass rdfID"animal"
/gt ltowlClass rdfID"horse"gt ltrdfssubClassOf
rdfresource"animal"/gt lt/owlClassgt lt/rdfRDFgt
22More OWL, less RDF
ltOntology xmlnsrdf "http//www.w3.org/1999/02/2
2-rdf-syntax-ns" xmlnsrdfs"http//www.w3.org/2
000/01/rdf-schema xmlnsowl"http//www.w3.org/2
002/07/owl"gt xmlbase "http//www.animals.fake/
animals"gt ltDeclarationgt ltOWLClass
URI"animalsanimal"/gt lt/Declarationgt ltSubClassO
fgt ltOWLClass URI"animalshorse"/gt
ltOWLClass URI"animalsanimal"/gt lt/SubClassOfgt
23Another example
ltowlClass rdfabout"Pizza"gt
ltrdfslabelgtPizzalt/rdfslabelgt
ltrdfssubClassOf rdfresource"Food"/gt
ltowldisjointWith rdfresource"PizzaBase"/gt
ltowldisjointWith rdfresource"PizzaTopping"
/gt lt/owlClassgt ltowlClass
rdfabout"PizzaBase"gt
ltrdfslabelgtBaseDaPizzalt/rdfslabelgt
ltrdfssubClassOf rdfresource"Food"/gt lt/owlClas
sgt ltowlClass rdfabout"PizzaTopping"gt
ltrdfssubClassOf rdfresource"Food"/gt lt/owlClas
sgt
24Individuals
ltowlClass rdfabout"Country"gt
ltrdfssubClassOf rdfresource"owlThing"/gt lt/owl
Classgt ltCountry rdfabout"Italy"/gt
25Properties
ltowlObjectProperty rdfabout"hasIngredient"gt
ltrdftype rdfresource"owlTransitivePrope
rty"/gt ltowlinverseOf rdfresource"isIng
redientOf"/gt lt/owlObjectPropertygt ltowlObjectPro
perty rdfabout"hasBase"gt ltrdftype
rdfresource"owlFunctionalProperty"/gt
ltrdftype rdfresource"owlInverseFunctionalProp
erty"/gt ltrdfssubPropertyOf
rdfresource"hasIngredient"/gt
ltowlinverseOf rdfresource"isBaseOf"/gt
lt/owlObjectPropertygt ltowlDatatypeProperty
rdfabout"diameter"gt ltrdftype
rdfresource"owlFunctionalProperty"/gt lt/owlDat
atypePropertygt
26Domains and ranges
ltowlObjectProperty rdfabout"hasTopping"gt
ltrdfsdomain rdfresource"Pizza"/gt
ltrdfsrange rdfresource"PizzaTopping"/gt
ltrdfssubPropertyOf rdfresource"hasIngredient"
/gt ltowlinverseOf rdfresource"isTopping
Of"/gt lt/owlObjectPropertygt ltowlDatatypeProperty
rdfabout"diameter"gt ltrdftype
rdfresource"owlFunctionalProperty"/gt
ltrdfsdomain rdfresource"PizzaBase"/gt
ltrdfsrange rdfresource"xsdnonNegativeInteger"
/gt lt/owlDatatypePropertygt
27Existential restrictions
ltowlClass rdfabout"Pizza"gt
ltrdfslabelgtPizzalt/rdfslabelgt
ltrdfssubClassOf rdfresource"Food"/gt
ltrdfssubClassOfgt ltowlRestrictiongt
ltowlonProperty rdfresource"hasBa
se"/gt ltowlsomeValuesFrom
rdfresource"PizzaBase"/gt
lt/owlRestrictiongt lt/rdfssubClassOfgt
ltowldisjointWith rdfresource"PizzaBase"/gt
ltowldisjointWith rdfresource"PizzaTopp
ing"/gt lt/owlClassgt
28Existential restrictions
ltowlClass rdfabout"CheeseyPizza"gt
ltowlequivalentClassgt
ltowlRestrictiongt ltowlonProperty
rdfresource"hasTopping"/gt
ltowlsomeValuesFrom rdfresource"CheeseTopping"/
gt lt/owlRestrictiongt
lt/owlequivalentClassgt ltrdfssubClassOf
rdfresource"Pizza"/gt lt/owlClassgt
29An alternative syntax
Instant a owlClass
rdfssubClassOf TemporalEntity . Interval
a owlClass rdfssubClassOf
TemporalEntity . TemporalEntity a
owlClass rdfssubClassOf TemporalThing
owlequivalentClass a
owlClass owlunionOf
(Instant Interval) .
30Universal restrictions
ltowlClass rdfabout"VegetarianPizza"gt
ltowlequivalentClassgt
ltowlRestrictiongt
ltowlonProperty rdfresource"hasTopping"/gt
ltowlallValuesFromgt
ltowlClassgt
ltowlunionOf rdfparseType"Collection"
gt
ltrdfDescription rdfabout"VegetableTopping"/gt
ltrdfDescription rdfabout"CheeseTopping"/gt
lt/owlunionOfgt
lt/owlClassgt
lt/owlallValuesFromgt
lt/owlRestrictiongt lt/owlequivalentClassgt
ltrdfssubClassOf rdfresource"Pizza"/gt lt
/owlClassgt
31Closure axiom
ltowlClass rdfabout"MargheritaPizza"gt
ltrdfssubClassOf rdfresource"NamedPizza"/gt
ltrdfssubClassOfgt
ltowlRestrictiongt ltowlonProperty
rdfresource"hasTopping"/gt
ltowlallValuesFromgt
ltowlClassgt ltowlunionOf
rdfparseType"Collection"gt
ltrdfDescription rdfabout"MozzarellaToppi
ng"/gt
ltrdfDescription rdfabout"TomatoTopping"/gt
lt/owlunionOfgt
lt/owlClassgt
lt/owlallValuesFromgt
lt/owlRestrictiongt lt/rdfssubClassOfgt lt/ow
lClassgt
32Cardinality restrictions
ltowlClass rdfabout"DoubleVeggyPizza"gt
ltowlequivalentClassgt ltowlClassgt
ltowlintersectionOf
rdfparseType"Collection"gt
ltowlRestrictiongt
ltowlonProperty rdfresource"hasTopping"/gt
ltowl11onClass
rdfresource"VegetableTopping"/gt
ltowlminCardinality rdfdatatype"xsdno
nNegativeInteger"gt2lt/owlminCardinalitygt
lt/owlRestrictiongt
lt/owlintersectionOfgt
lt/owlClassgt lt/owlequivalentClassgt
ltrdfssubClassOf rdfresource"VegetarianPi
zza"/gt lt/owlClassgt
33Data restrictions
ltowlClass rdfabout"LargePizzaBase"gt
ltowlequivalentClassgt
ltowlRestrictiongt ltowlonProperty
rdfresource"diameter"/gt
ltowlsomeValuesFromgt
ltrdfDescriptiongt
ltrdftype rdfresource"owlDataRange"/gt
ltowl11minInclusive
rdfdatatype"xsdint"gt12lt/owl11minInclusivegt
ltowl11onDataRange
rdfresource"xsdint"/gt
lt/rdfDescriptiongt
lt/owlsomeValuesFromgt
lt/owlRestrictiongt lt/owlequivalentClassgt
ltrdfssubClassOf rdfresource"PizzaBase"
/gt lt/owlClassgt
34Key points
- OWL is built on top of RDFS, RDF and XML
- XML encodes namespaces and data types
- RDF and RDFS encode hierarchies
- OWL (DL) encodes restrictions
35Further reading
- Colomb, R. 2007. Ontology and the semantic web.
IOS Press. - Lee W. L. 2005. Owl Representing Information
Using the Web Ontology Language. Trafford. - XML tutorial
- http//www.w3schools.com/xml/default.asp
- RDF tutorial
- http//www.w3schools.com/rdf/default.asp
- OWL guide
- http//www.w3.org/TR/owl-guide/