Title: Semantic Web
1Semantic Web
http//www.srdc.metu.edu.tr/ibrahim/courses/cse53
7
2Semantic Web Initiative
- Originally Tim Berners-Lee's attempt to answer
the question What is the full potential of the
(World Wide) Web? - The semantic web is an extension of the current
web in which information is given well-defined
meaning, better enabling computers and people to
work in cooperation - T. Berners-Lee, J. Hendler, O. Lassila, The
Semantic Web, Scientific American, May 2001.
3Describing Metadata
- Metadata is structured data about data
- To fully exploit the opportunities brought by Web
- Metadata of the resources need to be made
explicit to make it automatically processable - Search engines or software agents can easily
extract and aggregate information from different
sites
4Metadata vs Ontology
- A well-defined metadata description language
enables to automatically process a description to
extract its metadata - However to interpret the metadata automatically
through a program or a software agent its meaning
(semantics) must also be known - Meaning of data is given through domain specific
ontologies
5In short
- The semantic web is based on machine-processable
semantics of data. - Its backbone technology are Ontologies.
- It is based on new web languages such as XML,
RDF, and OWL, and tools that make use of these
languages. - It repairs obvious problems of the current web.
6Some History
- "I think there's a world market for about 5
computers. Thomas J. Watson, Chairman of the
Board, IBM (around 1948) - There is no reason for any individuals to have a
computer in their home.Ken Olsen, President,
Chairman and Founder of DEC, 1977 - 640K ought to be enough for anybody. Bill
Gates, 1981 (Bill Gates denies having ever said
that) - ... Until someone finds a way for applications
to understand each other, the effect of Web
services technology will be fairly limited. When
I pass customer data across the Web in a
certain format using a Web Services interface,
the receiving program has to know what that
format is. You have to agree on what the
business objects look like. And no one has come
up with a feasible way to work that out yet --
not Oracle, and not its competitors...Oracle
Chairman and CEO Larry Ellison, (around 2003)
7Ontology
8What is an Ontology?
An explicit formal specification of the terms in
the domain and relations among them. - Noy
and McGuinness, Ontology Development 101
- The word ontology comes from the Greek ontos
(being) and logos (word) - An ontology describes objects and concepts as
classes - These classes are arranged in a hierarchy, and
then class attributes and relationships are
described with properties
9An Ontology Provides
- A common vocabulary An ontology describes
consensual knowledge, that is, it describes
meaning which has been accepted by a group not by
a single individual - Ability to define relationships among classes,
properties and instances - Automated Processing
- Querying
- Reasoning
- the enabling technology for the semantic web.
10Ontology Languages
- RDF Resource Description Framework
- DAMLOIL Extends RDF with more sophisticated
class and property definitions (by DARPA and
On-To-Knowledge project (European Commission,
IST-1999-10132)) - DAML Darpa Agent Markup Language
- OIL Ontology Inference Layer
- OWL Web Ontology Language by W3C
- (Based on DAMLOIL)
- DAML-S by DAML Services Coalition (for Web
Services) - OWL-S OWL for Web Services by W3C
11RDF Resource Description Language
12Resource Description Framework
- RDF is a W3C recommendation
- It provides syntax and schema to express meta
data describing resources on the Web, enables
meta data interoperability - RDF Model and Syntax specification gives us
recognisable metadata by defining the XML tags to
express RDF constructs in XML. - RDF Schemas gives us a mechanism for defining
shared vocabularies. Unlike the tree/forest-type
hierarchy model of XML documents, RDF-Schema
models a directed graph which is more suitable
for expressing relationships
13RDF Schema
- Provides an XML vocabulary to
- express classes and their (subclass)
relationships. - define properties and associate them with
classes. - Facilitates
- inferencing on data, and
- enhanced searching.
14An Simple RDF Description Example
lt?xml version 1.0?gt ltrdfRDF
xmlnsrdfhttp//www.w3.org/1999/rdf-syntax-ns
xmlnsshttp//description.org/schema/gt
ltrdf Description about http//www.TaxHeaven.c
om/ TaxPreparationServicegt
ltsPaymentMethodgt CreditCardlt/sPaymentMethodgt
lt/rdfDescriptiongt lt/rdfRDFgt
15RDF Schema is about creating Taxonomies!
NaturallyOccurringWaterSource
BodyOfWater
Stream
Ocean
River
Tributary
Brook
Lake
Sea
Properties length Literal emptiesInto
BodyOfWater
Rivulet
16What inferences can be made on this RDF/XML,
given the taxonomy on the last slide?
What inferences can be made with this data?
lt?xml version"1.0"?gt ltRiver rdfID"Yangtze"
xmlnsrdf"http//www.w3.org/1999/02/22-rd
f-syntax-ns" xmlns"http//www.geodes
y.org/water/naturally-occurring"gt
ltlengthgt6300 kilometerslt/lengthgt
ltemptiesInto rdfresource"http//www.china.org/ge
ographyEastChinaSea"/gt lt/Rivergt
Yangtze.rdf
Inferences are made by examining a taxonomy that
contains River. See next slide.
17NaturallyOccurringWaterSource
BodyOfWater
Stream
Ocean
River
Tributary
Brook
Lake
Sea
Properties length Literal emptiesInto
BodyOfWater
Inference Engine
Rivulet
lt?xml version"1.0"?gt ltRiver rdfID"Yangtze"
xmlnsrdf"http//www.w3.org/1999/02/22-rd
f-syntax-ns" xmlns"http//www.geodes
y.org/water/naturally-occurring"gt
ltlengthgt6300 kilometerslt/lengthgt
ltemptiesInto rdfresource"http//www.china.org/ge
ographyEastChinaSea"/gt lt/Rivergt
Yangtze.rdf
Inferences - Yangtze is a Stream - Yangtze
is an NaturallyOcurringWaterSource -
http//www.china.org/geographyEastChinaSea is a
BodyOfWater
18How does a taxonomy facilitate searching?
NaturallyOccurringWaterSource
BodyOfWater
Stream
Ocean
River
Tributary
Brook
Lake
Sea
Properties length Literal emptiesInto
BodyOfWater
Rivulet
The taxonomy shows that when searching for
"streams", any RDF/XML that uses the class Brook,
Rivulet, River, or Tributary are relevant. See
next slide.
19NaturallyOccurringWaterSource
BodyOfWater
Stream
Ocean
River
Tributary
Brook
Lake
Sea
Properties length Literal emptiesInto
BodyOfWater
Search Engine
Rivulet
"Show me all documents that contain info about
Streams"
lt?xml version"1.0"?gt ltRiver rdfID"Yangtze"
xmlnsrdf"http//www.w3.org/1999/02/22-rd
f-syntax-ns" xmlns"http//www.geodes
y.org/water/naturally-occurring"gt
ltlengthgt6300 kilometerslt/lengthgt
ltemptiesInto rdfresource"http//www.china.org/ge
ographyEastChinaSea"/gt lt/Rivergt
Yangtze.rdf
Results - Yangtze is a Stream, so this
document is relevant to the query.
20Everything about RDF Schemas!
- RDF Schemas is all about defining taxonomies
(class hierarchies). - As we've seen, a taxonomy can be used to make
inferences and to facilitate searching. - That's all there is to RDF Schemas!
- The rest is just syntax
- The previous slide showed the taxonomy in a
graphical form. Obviously, we need to express
the taxonomy in a form that is machine-processable
. RDF Schemas provides an XML vocabulary to
express taxonomies.
21RDF Core Classes
- For convenience, namespace prefix rdf is used
for RDF Syntax, rdfs for RDF Schemas. - rdfsResource - All things being described by RDF
expressions are resources and are considered to
be instances of the top-level/root class
rdfsResource - rdfsClass - represents the generic concept of a
type or category and can be defined to represent
almost everything, e.g. Web pages, people,
document types - rdfProperty - represents the subset of RDF
resources that are properties
22RDF Core Properties
- rdfssubClassOf - This property specifies a
subset / superset relation between classes - rdfssubPropertyOf - is an instance of
rdfProperty that is used to specify that one
property is a specialization of another - rdfs range - is used to define that the values
of a property are instances of one or more stated
classes - rdfs domain - is used to state that any resource
that has a given property is an instance of one
or more classes
23Example Classes and Subclass property
Resource
Person
Man
Woman
- ltrdfsClass rdfIDPerson "gt
- ltrdfssubClassOf
- rdfsresource"http//www.w3.org/rdfschemaRes
ource"/gt - lt/rdfsClassgt
- ltrdfsClass rdfIDWoman"gt
- ltrdfssubClassOf rdfsresourcePerson"/gt
- lt/rdfsClassgt
24RDF Property Example
integer
Woman
Man
- ltrdfProperty rdfIDhasAge"gt
- ltrdfsdomain rdfresourceWoman"/gt
- ltrdfsrange rdfresourcexsdInteger"/gt
- lt/rdfPropertygt
- ltrdfProperty rdfIDhasHusband"gt
- ltrdfsdomain rdfresourceWoman"/gt
- ltrdfsrange rdfresourceMan"/gt
- lt/rdfPropertygt
25An Example Class Instance in RDF
35
Susan
Robert
- ltWoman rdfIDSusan"gt
- lthasAgegt35lt/hasAgegt
- lthasHusband resourceRobert/gt
- lt/Womangt
- ltMan rdfIDRobert/gt
26An Example RDF definition
lt?xml version"1.0" encoding"UTF-8" ?gt ltrdfRDF
xmlnsrdf"http//www.w3.org/TR/WD-rdf-syntax"
xmlnsrds"http//www.w3.org/TR
/WD-rdf-schema"
xmlnsMESChain"http//www.srdc.metu.edu.tr/sc/com
mon.schema.rdf"gt ltrdfDescription
ID"Product"gt ltrdftype resource"http//www.w
3.org/TR/WD-rdf-schemaClass"/gt
ltrdssubClassOf resource"http//www.w3.org/TR/WD-
rdf-schemaResource"/gt ltrdslabelgtProductlt/rds
labelgt ltrdscommentgtAll kinds of trade
Productslt/rdscommentgt lt/rdfDescriptiongt
ltrdfDescription ID"Sub_Part_Required"gt
ltrdftype resource"http//www.w3.org/TR/WD-rdf-sy
ntaxProperty"/gt ltrdslabelgtSub Part
Oflt/rdslabelgt ltrdsdomain resource"Product"/
gt ltrdsrange resource"Product"/gt
ltrdscommentgtCritical sub components of an
aggregated productlt/rdscommentgt
lt/rdfDescriptiongt lt/rdfRDFgt
27An Example RDF definition - Contd
ltrdfDescription ID"computer"gt ltrdftype
resource"http//www.w3.org/TR/WD-rdf-schemaClass
"/gt ltrdssubClassOf resource"Product"/gt
ltMESChainAdded_Value resource"printer"/gt
ltMESChainAdded_Value resource"scanner"/gt
ltMESChainSub_Part_Required resource"main.board"/
gt ltMESChainSub_Part_Optional
resource"hard.disk"/gt ltMESChainSub_Part_O
ptional resource"cdrom"/gt
ltMESChainSub_Part_Optional resource"mouse"/gt
ltrdslabelgtComputerlt/rdslabelgt
ltrdscommentgtAll kinds of Computerslt/rdscommentgt
lt/rdfDescriptiongt
28Dublin Core
- dublincore.org
- One of the first usages of RDF in real life
- Dublin Core is an initiative to provide
standardized (thus interoperable) resource
descriptions on the Web - Internationally recognised model for metadata for
resource discovery - Basis of most developments elsewhere
- 16 core elements
29Core Elements in Dublin Core
- Title Creator Subject
- Description Publisher Contributor
- Date Type Format
- Identifier Language Relation
- Source Coverage Rights
30A Sample Definition using DC
ltrdfDescription about"http//www.srdc.metu.edu.
tr/sc/D2/D2.catalog.xml"gt ltdcTitlegtD2's
Electronic Cataloglt/dcTitlegt
ltdcSubjectgtDistributorlt/dcSubjectgt
ltdcTypegtElectronic_Cataloglt/dcTypegt
ltdcFormatgtCBL 1.2 - catalog.dtdlt/dcFormatgt
ltdcIdentifiergt"www.srdc.metu.edu.tr/sc/D2/D2.cata
log.rdf"lt/dcIdentifiergt ltdcDategt1999-02-02lt/
dcDategt ltdcCreatorgtDistributor
D2lt/dcCreatorgt ltdcPublishergtDistributor
D2lt/dcPublishergt ltdcDescriptiongtThis
resource contains the electronic catalog of
distributor D2 in XML conforming to CBL 1.2
lt/dcDescriptiongt lt/rdfDescriptiongt
31Advantages of RDF
- RDF fixes the syntax and structure of describing
metadata through RDF Syntax - It allows meaning to be defined and associated
with data through RDF Schema - RDF Schema facilities defining domain specific
ontologies
32Limitations of RDF
- Although you can express a lot with RDF Schemas,
it lacks some very desirable expressiveness, such
as - Two classes, same concept - people use different
words to represent the same thing. It would be
very useful to be able to state "this class is
equivalent to this second class". - One person may create an ontology with a class
called "Airplane". Another person may create an
ontology with a class called "Plane". It would
be useful to be able to indicate that the two
classes are equivalent. - Cardinality constraints - often it is necessary
to indicate the allowable number of occurrences
of a property - Ex We would like to be able to express that a
person has only and only "one" age.
33RDF Schemas Building Block to More Expressive
Ontology Languages
34RDF Schema vs XML Schema
- XML Schemas is all about syntax.
- RDF Schema is all about semantics.
- An XML Schema tool is intended to validate that
an XML instance conforms to the syntax specified
by the XML Schema. - An RDF Schema tool is intended to provide
additional facts to supplement the facts in
RDF/XML instances. - XML Schemas is prescriptive - an XML Schema
prescribes what an element may contain, and the
order the child elements may occur. - RDF Schemas is descriptive - an RDF Schema simply
describes classes and properties.
35RDF Some References
- RDF Schema Resource Description Framework Schema
Specification, W3C Proposed Recommendation, 1999,
http//www.w3.org/TR/PR-rdf-schema. - RDF Syntax Resource Description Framework Model
and Syntax Specification,W3C Recommendation,
1999, http//www.w3.org/TR/REC-rdf-syntax - Costello, R. L., Jacobs, D.B., Inferring and
Discovering Relationships using RDF Schemas,
lsdis.cs.uga.edu/cartic/reading/rdf_inference/
rdfs.ppt - The Dublin Core Metadata Initiative,
http//dublincore.org/
36Web Ontology Language OWL
37OWL RDF Schema more
- All of the elements/attributes provided by RDF
and RDF Schema can be used when creating an OWL
document - OWL classes permit much greater expressiveness
than RDF Schema classes - Consequently, OWL has created its own Class,
owlClass
38RDF Schema Features used in OWL
- rdfsClass
- rdfProperty
- rdfssubClassOf
- rdfssubPropertyOf
- rdfsdomain
- rdfsrange
39Defining Property Characteristics
- RDF Schema provides three ways to characterize a
property - range use this to indicate the range of values
for a property. - domain use this to associate a property with a
class. - subPropertyOf use this to specialize a property
- OWL documents also use rdfsrange, rdfsdomain,
and rdfssubPropertyOf - OWL has many more property types that are useful
in inferencing!
40Ontology Languages and OWL
OIL Ontology Inference Layer (European
Commission Project)
DAMLDarpa Agent Markup Language
DAMLOIL
RDF (Resource Description Framework)
OWL Web Ontology Language (Being Standardized
by W3C)
41OWL provides three decreasingly expressive
sublanguages
- OWL Full is meant for users who want maximum
expressiveness with no computational guarantees - It is unlikely that any reasoning software will
be able to support complete reasoning for OWL
Full - OWL DL supports those users who want the maximum
expressiveness while retaining computational
completeness (all conclusions are guaranteed to
be computable) and decidability (all computations
will finish in finite time) - OWL Lite supports those users primarily needing a
classification hierarchy and simple constraints
42OWL Lite Features
- (In)Equality
- equivalentClass
- equivalentProperty
- sameAs
- differentFrom
- AllDifferent
- distinctMembers
- Property Characteristics
- ObjectProperty
- DatatypeProperty
- inverseOf
- TransitiveProperty
- SymmetricProperty
- FunctionalProperty
- InverseFunctionalProperty
43OWL Lite Features
- Property Type Restrictions
- Restriction
- onProperty
- allValuesFrom
- someValuesFrom
- Class Intersection
- intersectionOf
44OWL Full Language constructs that are in addition
to those of OWL Lite
- Class Axioms
- oneOf, dataRange
- disjointWith
- equivalentClass(applied to class expressions)
- rdfssubClassOf(applied to class expressions)
- Boolean Combinations of Class Expressions
- unionOf
- intersectionOf
- complementOf
- Arbitrary Cardinality
- minCardinality
- maxCardinality
- cardinality
- Filler Information
- hasValue
45OWL Classes
- Ministry of Interior has defined ontologies for
their information in OWL - For example
ltowlClass rdfIDCrimes"gt lt/owlClassgt
ltowlClass rdfIDRobbery"gt
ltrdfssubClassOf rdfresource"Crimes"/gt lt/owlCl
assgt
ltowlClass rdfIDTerrorism"gt
ltrdfssubClassOf rdfresource"Crimes"/gt lt/owlCl
assgt
46OWL Properties
description
- ltowlDatatypeProperty rdfIDdescription"gt
- ltrdfsdomain rdfresource"Crime"/gt
- ltrdfsrange rdfresourcehttp//www.w3
- .org/2001/XMLSchemaLiteral"/gt
- lt/owlDatatypeProperty gt
- ltowlObjectProperty rdfIDsuspect"gt
- ltrdfsdomain rdfresource"Robbery"/gt
- ltrdfsrange rdfresourceThiefgt
- lt/owlObjectProperty gt
- ltowlObjectProperty rdfIDdriver"gt
- ltrdfsdomain rdfresource"Speeding"/gt
- ltrdfsrange rdfresourceSpeeder"/gt
- lt/owlObjectProperty gt
driver
47An Example (From Ref 3)
- Finger prints from a robbery scene identified
John Smith as the suspect - Here is the police report on the robbery
ltRobbery rdfID"report-2004-07-27-xyz"gt
ltdescriptiongt...lt/descriptiongt ltsuspectgt
ltThief rdfabout"http//www.ministryOfInterior.go
v/criminalsJohn_Smith"/gt lt/suspectgt lt/Robberygt
48An Example (Continued)
- Later in the day a police gives a person a
ticket for speeding - The driver's license showed the name John Doe
- Here is the police report on the speeder
ltSpeeding rdfID"report-2004-07-27-abc"gt
ltdescriptiongt...lt/descriptiongt ltdrivergt
ltSpeeder rdfabout"http//www.ministryOfInterio
r/criminalsJohn_Doe"/gt lt/drivergt lt/Speedinggt
49Any Relationship between the Thief and the
Speeder?
Ministry of Interior keeps the OWL descriptions
of their files
ltCriminals rdfabout" http//www.ministryOfInter
ior/criminalsJohn_Doe "gt ltowlsameAs
rdfresource" http//www.ministryOfInterior.gov/
criminalsJohn_Smith "/gt lt/Criminalsgt
50An Example OWL Reasoning (Continued)
Inference The Thief and the Speeder are one and
the same!
- OWL provides a property (owlsameAs) for
indicating that two resources (e.g., two people)
are the same
51Multiple Inheritance
- ltowlClass rdfIDSpeeder"gt
- ltrdfssubClassOf rdfresource"Criminals"
/gt - ltrdfssubClassOf rdfresourcePerson/gt
- lt/owlClassgt
Criminals
Person
Speeder
52Enumeration
- A class description of the "enumeration" kind is
defined with the owloneOf property - The value of this built-in OWL property must be a
list of individuals that are the instances of the
class - This enables a class to be described by
exhaustively enumerating its instances - ltowlClass rdfID"ProductAvailability"/gt
- ltowloneOf rdfparseType"Collection"gt
- ltowlThing rdfIDInStock"/gt
- lt owlThing rdfIDOutOfStock"/gt
- lt owlThing rdfIDSpecialOrder"/gt
- lt/owloneOfgt
- lt/owlClassgt
53Boolean Combination of Class Expressions
- ltowlClass rdfabout"Person"gt
- ltowlunionOf rdfparseType"owlCollection"gt
- ltowlClass rdfabout"Man"/gt
- ltowlClass rdfabout"Woman"/gt
- lt/owlunionOfgt
- lt/owlClassgt
-
54Boolean Combination of Class Expressions
- ltowlClass rdfabout"PrerequisiteCourses"gt
- ltowlintersectionOf rdfparseType"Collection"gt
- ltowlClassgt
- ltowloneOf rdfparseType"Collection"gt
- ltowlThing rdfabout"Ceng351" /gt
- ltowlThing rdfabout"Ceng352" /gt
- lt/owloneOfgt lt/owlClassgt
- ltowlClassgt
- ltowloneOf rdfparseType"Collection"gt
- ltowlThing rdfabout"Ceng351" /gt
- ltowlThing rdfabout"Ceng520" /gt
- lt/owloneOfgt lt/owlClassgt lt/owlintersectionO
fgt - lt/owlClassgt
55Boolean Combination of Class Expressions
- ltowlClass rdfID"Car"gt
- ltrdfscommentgtno car is a personlt/rdfscommentgt
- ltrdfssubClassOfgt
- ltowlClassgt
- ltowlcomplementOf rdfresource"Person"/gt
- lt/owlClassgt
- lt/rdfssubClassOfgt
- lt/owlClassgt
- ltowlClass rdfIDVegetablesgt
- ltowlcomplementOfgt
- ltowlClass rdfresource"Meat"/gt
- lt/owlcomplementOfgt
- lt/owlClassgt
56Class Axioms
- ltowlClass rdfIDSpeeder"gt
- ltrdfssubClassOf rdfresource"Criminals"
/gt - ltrdfssubClassOf rdfresourcePerson/gt
- ltowldisjointWith rdfresourceTerrorists/
gt - lt/owlClassgt
- ltowlClass rdfIDGraduateCourses"gt
- ltowlequivalentClassgt
- ltowlClassgt
- ltowloneOf rdfparseType"Collection"gt
- ltCourse rdfabout"Ceng520"/gt
- ltCourse rdfabout"Ceng532"/gt
- ltCourse rdfabout"Ceng540"/gt
- lt/owloneOfgt lt/owlClassgt lt/owlequivalentClassgt
- lt/owlClassgt
57Property Restrictions
- ltowlClass rdfID"Person"gt
- ltrdfssubClassOfgt
- ltowlRestrictiongt
- ltowlonProperty rdfresource"hasPare
nt"/gt - ltowlallValuesFrom rdfresource"Pers
on"/gt - lt/owlRestrictiongt lt/rdfssubClassOfgt
lt/owlClassgt - All values of the property are members of the
class extension - owlallValuesFrom constraint demands that all
values of property P should be of type T.
58Property Restrictions
- The following example defines a class of
individuals who have at least one parent who is a
physician - ltowlClass rdfIDDoctorChildren"gt
- ltrdfssubClassOf rdfresourcePersongt
- ltrdfssubClassOfgt
- ltowlRestrictiongt
- ltowlonProperty rdfresource"hasParent"/gt
- ltowlsomeValuesFrom rdfresource"Phys
ician"/gt - lt/owlRestrictiongt
- lt/rdfssubClassOfgt
- lt/owlClassgt
59Property Restrictions
- The following example describes the class of
individuals who have the individual referred to
as Bush as their parent - ltowlClass rdfIDBushChildren"gt
- ltrdfssubClassOf rdfresourcePersongt
- ltrdfssubClassOfgt
- ltowlRestrictiongt
- ltowlonProperty rdfresource"hasParent"/gt
- ltowlhasValue rdfresource"Bush"/gt
- lt/owlRestrictiongt
- lt/rdfssubClassOfgt
- lt/owlClassgt
60Property Restrictions
- ltowlClass rdfID"Person"gt
- ltrdfssubClassOfgt
- ltowlRestrictiongt
- ltowlonProperty rdfresource"hasPare
nt"/gt - ltowlallValuesFrom rdfresource"Pers
on"/gt - lt/owlRestrictiongt
- lt/rdfssubClassOfgt
- ltrdfssubClassOfgt
- ltowlRestrictiongt
- ltowlonProperty rdfresource"hasParent"/gt
- ltowlminCardinality rdfdatatype"xsdnonNegati
veInteger"gt 0 lt/owlminCardinalitygt - ltowlmaxCardinality rdfdatatype"xsdnonNegati
veInteger"gt 2 lt/owlmaxCardinalitygt - lt/owlRestrictiongt
- lt/rdfssubClassOfgt
- lt/owlClassgt
61owlinverseOf
- Relating properties
- Self explanatory!
- ltowlObjectProperty rdfID"hasChild"gt
- ltowlinverseOf rdfresource"hasParent"/gt
- lt/owlObjectPropertygt
- If A is parent of B, then B is child of A.
-
62Global Cardinality Constraints on Properties
- owlFunctionalProperty For each instance there
is at most one value for the property - ltowlFunctionalProperty rdfID"hasAge"gt
- ltrdfsdomain rdfresource"Person" /gt
- ltrdfsrange rdfresource"xsdnonNegativeIntege
r" /gt - lt/owlFunctionalPropertygt
- There can only be one age of a person (at a
given time) - Note that many people may have the same age!
63Global Cardinality Constraints on Properties
- owlInverseFunctionalPropertyThe object of a
property statement uniquely determines the
subject - ltowlInverseFunctionalProperty
rdfID"biologicalMotherOf"gt ltrdfsdomain
rdfresource"Woman"/gt - ltrdfsrange rdfresource"Human"/gt
lt/owlInverseFunctionalPropertygt - There can only be one biological mother of a
human being - Note that a mother can have several children!
64Logical Characteristics of Properties
- Self explanatory!
- ltowlSymmetricProperty rdfID"friendOf"gt
- ltrdfsdomain rdfresource"Human"/gt
- ltrdfsrange rdfresource"Human"/gt
- lt/owlSymmetricPropertygt
- If person A is a friend of person B, then
(consequently) person B is a friend of person A.
65Logical Characteristics of Properties
- When a property P is defined as transitive
property, this means that - if a pair (x,y) is an instance of P, and
- the pair (y,z) is also instance of P, then
- we can infer the the pair (x,z) is also an
instance of P - ltowlTransitiveProperty rdfID"subRegionOf"gt
- ltrdfsdomain rdfresource"Region"/gt
- ltrdfsrange rdfresource"Region"/gt
- lt/owlTransitivePropertygt
- Or it can equivalently be written as
- ltowlObjectProperty rdfID"subRegionOf"gt
- ltrdftype rdfresource"owlTransitiveProperty"/
gt - ltrdfsdomain rdfresource"Region"/gt
- ltrdfsrange rdfresource"Region"/gt
- lt/owlObjectPropertygt
66An Example
Since subRegionOf is a transitive property, from
this information an OWL reasoner should be able
to derive that Izmir is a sub region of Turkey
ltowlClass rdfIDRegion"gt lt/owlClassgt
ltRegion rdfIDTurkey/gt
ltRegion rdfIDEgegt lt subRegionOf
rdfresource"Turkey"/gt lt/Regiongt
ltRegion rdfIDIzmirgt lt subRegionOf
rdfresource"Ege"/gt lt/Regiongt
67Individual Identity
- The built-in OWL owldifferentFrom property links
an individual to an individual - An owldifferentFrom statement indicates that two
URI references refer to different individuals - ltowlClass rdfabout"Person"gt
- lt/owlClassgt
- ltPerson rdfIDBill_Clintongt
- ltowldifferentFrom rdfresourceW_Bush/gt
- lt/Persongt
68Individual Identity
- For ontologies in which the unique-names
assumption holds, the use of owldifferentFrom is
likely to lead to a large number of statements,
as all individuals have to be declared pairwise
disjoint - For such situations OWL provides a special idiom
in the form of the construct owlAllDifferent - owlAllDifferent is a special built-in OWL
class, for which the property owldistinctMembers
is defined, which links an instance of
owlAllDifferent to a list of individuals - ltowlAllDifferentgt
- ltowldistinctMembers rdfparseType"Collection"gt
- ltPerson rdfabout"Bill_Clinton"/gt
- ltPerson rdfabout"W_Bush"/gt
- ltPerson rdfabout"A_Lincoln"/gt
lt/owldistinctMembersgt - lt/owlAllDifferentgt
69OWL Summary
- OWL is an Ontology Specification Language
- It is build on RDF with DAMLOIL experience
- OWL has more expressive power than RDF such as
- Boolean Combinations of Class Expressions
(unionOf, intersectionOf, complementOf, ) - Several Types of Properties (Transitive,
Functional, Symmetric, ) - Equivalence or disjointness of classes
70OWL References (I)
- OWL Web Ontology Language Reference
http//www.w3.org/TR/owl-ref/ - Costello, R. L., Jacobs, D. B., OWL Web Ontology
Language, www.racai.ro/EUROLAN-2003/html/presentat
ions/JamesHendler/owl/OWL.ppt - Costello, R. L., Jacobs, D. B., A Quick
Introduction to OWL Web Ontology Language,
www.daml.org/meetings/2003/05/SWMU/briefings/
08_Tutorial_D.ppt
71OWL References (II)
- Antoniou, G., Harmalen, F., Web Ontology
Language OWL, in Handbook on Ontologies,
Springer, 2004 - Horrocks, I., DAMLOIL A Description Logic for
the Semantic Web, IEEE Data Engineering
Bulletin, Vol. 25, No. 1, March 2000 - McGuinness, D., Harmelen, F.,OWL Web Ontology
Language Overview, http//www.w3.org/TR/owl-featur
es/ - Smith, M., Welty, C., McGuinnes, D., OWL Web
Ontology Language Guide, http//www.w3.org/TR/owl-
guide/
72Semantic Web Services
73General Vision - 1
74The General Vision - 2
- Serious Problems in information
- finding
- extracting
- representing
- interpreting
- and maintaining
WWW
URI, HTML, HTTP
Static
75 The General Vision - 3
76 The General Vision - 4
77Remember that...
- Web Services are self-contained, self-describing,
modular applications that can be published,
located, and invoked across the Web - Dynamic service invocation is possible through
- Web Services Description Language (WSDL)
- Simple Object Access Protocol (SOAP)
78Triangle Architecture for Web Services
79WS as Programming Technology
80Main Limitation of Web Services
- Web Services are promising
- They can be accessed and executed over the web
- However
- Service descriptions (in UDDI) are based on
structurednatural language descriptions. - WSDL is syntactical in nature and provides only
technical information - Therefore
- Human programmer needs to be kept in the loop
- Scalability and economy of web services are a
concern
81Semantic Web Services
- Semantic Web Services combine Semantic Web and
Web Service Technology. - Automatization of Web Service Discovery,
Combination and Invocation makes the technology
scalable. - This combination opens the way to make web
service technology scalable and mature. - SWS is a pre-requisite to enable fully open,
flexible, and dynamic eWork and eCommerce a
reality.
82Semantic Web Services
- Self-contained, self-describing, semantically
marked-up software resources that can be
published, discovered, composed and executed
across the Web in a task driven automatic way
Arroyo et al. 2004
83Semantic Web Services
- In order to exploit services in their full
potential their properties must be defined such
as - The methods of charging and payment
- The channels by which the service is requested
and provided - Constraints on temporal and spatial aspects
- Availability
- Service quality
- Security, trust and rights attached to a service
- This in turn is possible only by describing the
semantics of Web services through ontology
languages
84WSDL does not describe Web service semantics
Semantic description of the properties of a
service in DAML-S
Web Service Description
defines
uses
Web Service
Service Consumer
85Taxonomies are not enough to define service
semanticsAn Example Taxonomy UNSPSC
43.00.00.00.00 Communications and
Computer Equipment and Peripherals and Components
and Supplies
43.16.17.00.00 Business Transaction and
Personal Business Software
43.16.17.02.00 Tax Preparation Software
86An Example Ontology for Travel Domain
TravelService
Entertainment Service
Accommodation Service
Transportation Service
AirTransportation
ReserveAFlight
BuyATicket
87Properties of ReserveAFlight Generic Service
How to relate MyService to a generic service
class?
MyService
88Ontology Languages
- Have formal specification that enables querying
- Provide the means to define sophisticated class
properties - Therefore, DAML and OWL are extended for Web
Services - DAML-S by DAML Services Coalition (for Web
Services) - OWL-S OWL for Web Services by W3C
89DAML-S SemanticWebService Model
describedByHow it works
90DAML-S ServiceProfile Class
- Some of the properties of ServiceProfile class
are - parameter property
- For example, a subproperty is input, another
output - serviceParameters, subproperties of which may be
max response time, geographicRadius, - serviceType, high level classification of service
such as B2B or B2C - serviceCategory, refers to an ontology of
services, it is necessary to define domain
specific ontologies - And more
91Questions