Title: Resource Description Framework Schema RDFS
1Resource Description Framework Schema (RDFS)
- Dario Aganovic
- Industrial PhD-student
- NPI Production Kista, Ericsson AB
- and
- Production Engineering Department
- Kungl Tekniska Högskolan
- Semantic Web PhD-Course
- Linköping, 2002-03-20
2RDF
- Foundation for processing metadata on the www. A
metadata model. - Three object types resource, property, and
statement. - RDF XML syntax
- Application domain independent
Resource
Property
Property Value
Statement
Subject
Predicate
Object
3Why RDFS?
- Semantics of a certain application domain needs
to be represented. - Properties should be re-used globally. Their
domain and range need therefore to be clearly
specified. - Classes of resources that properties connect need
to be specified in class and subclass
hierarchies. - RDFS provides means to do that.
4The Data Integrity Problem
ltrdfDescription rdfabout"http//www.epolitix.co
m/austin-mitchell"gt ltepxNamegtAustin
Mitchelllt/epxNamegt
ltepxCandidateFor
rdfresource"http//www.pa.press.net/constituenci
es/281" /gt ltepxMemberOfgtLabour
Partylt/epxMemberOfgt ltepxDOBgt19
September, 1934lt/epxDOBgt lt/rdfDescriptiongt
5The Data Integrity Problem
ltrdfDescription rdfabout"http//www.pa.press.ne
t/constituencies/281"gt ltepxNamegtGreat
Grimsbylt/epxNamegt ltepxMainIndustrygtFis
hinglt/epxMainIndustrygt ltepxDOBgt19
September, 1934lt/epxDOBgt lt/rdfDescriptiongt
6Validation of Statements
- Is the object suitable for the predicate?
- Is the predicate suitable for the subject?
epxCandidateFor,
http//www.epolitix.com/austin-mitchell,
http//www.microsoft.com/
epxDOB, http//www.pa.press.net/constituencies
/281, "19 September, 1934"
7Typing Resources
- How do we know that this is a consistuency?
ltrdfDescription rdfabout"http//www.pa.press.ne
t/constituencies/281"gt ltepxNamegtGreat
Grimsbylt/epxNamegt ltepxMainIndustrygtFis
hinglt/epxMainIndustrygt lt/rdfDescriptiongt
- We need to type this resource as a consistuency.
8Resource Type Consistuency
ltrdfRDF xmlnsrdf"http//www.w3.org/1999/0
2/22-rdf-syntax-ns" xmlnsepx"http//www.e
Politix.com/2001/03/rdf-schema" gt
ltrdfDescription rdfabout"http//www.pa.press.ne
t/constituencies/281"gt ltrdftype
resource"http//www.ePolitix.com/2
001/03/rdf-schemaConstituency" /gt
ltepxNamegtGreat Grimsbylt/epxNamegt
ltepxMainIndustrygtFishinglt/epxMainIndustrygt
lt/rdfDescriptiongt lt/rdfRDFgt
9Specifying property values linking a predicate
to an apropriate object
10Specifying property values linking a predicate
to an apropriate object
11Specifying property values linking a predicate
to an apropriate object
12RDFS Namespace
Prefix for RDF schema namespace. Namespace URI
http//www.w3.org/2000/01/rdf-schema
13rdfsrange
An instance of ConstraintProperty that is used to
indicate the class(es) that the values of a
property must be members of. The value of a
range property is always a Class. Range
constraints are only applied to properties. A
property can have at most one range property. It
is possible for it to have no range, in which
case the class of the property value is
unconstrained.
14Validation of Statements
- Is the object suitable for the predicate?
- Is the predicate suitable for the subject?
epxCandidateFor,
http//www.epolitix.com/austin-mitchell,
http//www.microsoft.com/
epxDOB, http//www.pa.press.net/constituencies
/281, "19 September, 1934"
15Specifying resource properties linking
predicates to apropriate subjects
Constrain the property CandidateFor to only apply
to resources of type Person
rdfProperty rdfabout"http//www.ePolitix.co
m/2001/03/rdf-schemaCandidateFor"gt
ltrdfsdomain rdfresource"http//www.S
chemas.org/2001/01/rdf-schemaPerson" /gt
ltrdfsrange rdfresource"http/
/www.ePolitix.com/2001/03/rdf-schemaConstituency"
/gt lt/rdfPropertygt
16rdfsdomain
An instance of ConstraintProperty that is used to
indicate the class(es) on whose members a
property can be used. A property may have zero,
one, or more than one class as its domain. If
there is no domain property, it may be used with
any resource. If there is exactly one domain
property, it may only be used on instances of
that class (which is the value of the domain
property). If there is more than one domain
property, the constrained property can be used
with instances of any of the classes (that are
values of those domain properties).
rdfProperty rdfabout"http//www.ePolitix.co
m/2001/03/rdf-schemaCandidateFor"gt
ltrdfsdomain rdfresource"http//www.S
chemas.org/2001/01/rdf-schemaPerson" /gt
ltrdfsrange rdfresource"http/
/www.ePolitix.com/2001/03/rdf-schemaConstituency"
/gt lt/rdfPropertygt
17rdfsConstraintProperty
- This resource defines a subclass of
rdfProperty, all of whose instances are
properties used to specify constraints. This
class is a subclass of rdfsConstraintResource
and corresponds to the subset of that class
representing properties. Both rdfsdomain and
rdfsrange are instances of rdfsConstraintPropert
y.
18Re-use of properties Fake school elections
(RDF-statements)
ltrdfDescription rdfabout"http//www.GrangeHill.
edu/mark-birbeck"gt ltrdftype
resource"http//www.Schemas.org/2001/01/rdf-schem
aPerson" /gt ltghNamegtMark
Birbecklt/ghNamegt ltepxCandidateFor
rdfresource"http//www.pa.press.net/const
ituencies/281" /gt ltghBorngt28 September,
1964lt/ghBorngt lt/rdfDescriptiongt
19Re-use of properties Event web-site (a RDFS
fragment)
ltrdfProperty rdfabout"http//www.ePolitix.com/2
001/03/rdf-schemaRegion"gt
ltrdfsdomain rdfresource"http//www.W
hatsOnWhere.com/2001/01/rdf-schemaEvent" /gt
lt/rdfPropertygt
20Multiple Types
ltrdfDescription rdfabout"http//www.epoli
tix.com/austin-mitchell" xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns"
xmlnss"http//www.Schemas.org/2001/01/rdf-schema
" xmlnsepx"http//www.ePolitix.com/2001/0
3/rdf-schema" gt ltrdftype
resource"http//www.Schemas.org/2001/01/rdf-schem
aPerson" /gt ltsNamegtAustin
Mitchelllt/sNamegt ltsDOBgt19 September,
1934lt/sDOBgt ltrdftype
resource"http//www.ePolitix.com/2001/03/rdf-sche
maCandidate" /gt ltepxCandidateFor
rdfresource"http//www.pa.pr
ess.net/constituencies/281" /gt
ltepxMemberOfgtLabour Partylt/epxMemberOfgt
lt/rdfDescriptiongt
21Multiple Types
22Classes in RDFS
- No methods. Only properties
- Property-centric. In OOP a class is a set of
methods and properties whilst in RDF a property
is defined as being applicable to a class. - A property exists independantly of relationship
between two certain classes.
23rdfsClass
ltrdfsClass rdfabout"http//www.Schemas.o
rg/2001/01/rdf-schemaPerson"
xmlnsrdfs"http//www.w3.org/2000/01/rdf-schema"
/gt
This corresponds to the generic concept of a Type
or Category, similar to the notion of a Class in
object-oriented programming languages such as
Java. When a schema defines a new class, the
resource representing that class must have an
rdftype property whose value is the resource
rdfsClass. RDF classes can be defined to
represent almost anything, such as Web pages,
people, document types, databases or abstract
concepts.
24Creating Subclasses
25Creating Subclasses RDFS Class Definition
ltrdfRDF xmlnsrdf"http//www.w3.org/1999/0
2/22-rdf-syntax-ns" xmlnsrdfs"http//www.
w3.org/2000/01/rdf-schema" gt
ltrdfsClass rdfabout"http//www.Schemas.org
/2001/01/rdf-schemaPerson" /gt
ltrdfsClass
rdfabout"http//www.ePolitix.com/2001/03/rdf-sch
emaPolitician"gt
ltrdfssubClassOf
rdfresource"http//www.Schemas.org/2001/01/rdf-s
chemaPerson" /gt
lt/rdfsClassgt ltrdfsClass
rdfabout"http//www.ePolitix.com/2001/03/rd
f-schemaCandidate"gt
ltrdfssubClassOf
rdfresource"http//www.ePolitix.com/2001/03/rdf-
schemaPolitician" /gt
lt/rdfsClassgt lt/rdfRDFgt
26rdfssubClassOf
This property specifies a subset/superset
relation between classes. The rdfssubClassOf
property is transitive. If class A is a subclass
of some broader class B, and B is a subclass of
C, then A is also implicitly a subclass of C.
Consequently, resources that are instances of
class A will also be instances of C, since A is
a sub-set of both B and C. Only instances of
rdfsClass can have the rdfssubClassOf property
and the property value is always of rdftype
rdfsClass. A class may be a subclass of more
than one class.
27Creating Subclasses
28Using Subclasses RDFS Property Definition
ltrdfRDFgt ltrdfProperty
rdfabout"http//www.Schemas.org/2001/01/rdf-sche
maName"gt ltrdfsdomain
rdfresource"http//www.Schemas.org/2001/01/rdf-s
chemaPerson" /gt ltrdfsrange
rdfresource"http//www.w3.org/2000/01/rdf-schema
Literal" /gt lt/rdfPropertygt
ltrdfProperty rdfabout"http//www.Schemas.org/20
01/01/rdf-schemaDOB"gt
ltrdfsdomain rdfresource"http//www.Schemas.org/
2001/01/rdf-schemaPerson" /gt
ltrdfsrange rdfresource"http//www.w3.org/2000/0
1/rdf-schemaLiteral" /gt lt/rdfPropertygt
lt/rdfRDFgt
ltrdfProperty rdfID"MemberOf"gt
ltrdfsdomain rdfresource"Politician" /gt
ltrdfsrange rdfresource"PoliticalParty" /gt
lt/rdfPropertygt
ltrdfProperty rdfID"CandidateFor"gt
ltrdfsdomain rdfresource"Candidate" /gt
ltrdfsrange rdfresource"Constituency" /gt
lt/rdfPropertygt
29Using Subclasses RDF-statements
ltrdfDescription rdfabout"http//www.epoli
tix.com/austin-mitchell"
xmlnsrdf"http//www.w3.org/1999/02/22-rdf-syntax
-ns" xmlnss"http//www.Schemas.org/2001/0
1/rdf-schema" xmlnsepx"http//www.ePoliti
x.com/2001/03/rdf-schema" gt ltrdftype
resource"http//www.ePolitix.com/2001/03/rdf-sche
maCandidate" /gt ltsNamegtAustin
Mitchelllt/sNamegt ltsDOBgt19 September,
1934lt/sDOBgt ltepxCandidateFor
rdfresource"http//www.pa.press.net/constituenci
es/281" /gt ltepxMemberOf rdfresource"http/
/www.ePolitix.com/partieslabour"
/gt lt/rdfDescriptiongt
30Using Subclasses
ltrdfDescription rdfabout"http//www.epoli
tix.com/austin-mitchell"
xmlnsrdf"http//www.w3.org/1999/02/22-rdf-syntax
-ns" xmlnss"http//www.Schemas.org/2001/0
1/rdf-schema" xmlnsepx"http//www.ePoliti
x.com/2001/03/rdf-schema" gt ltrdftype
resource"http//www.ePolitix.com/2001/03/rdf-sche
maCandidate" /gt ltsNamegtAustin
Mitchelllt/sNamegt ltsDOBgt19 September,
1934lt/sDOBgt ltepxCandidateFor
rdfresource"http//www.pa.press.net/constituenci
es/281" /gt ltepxMemberOf rdfresource"http/
/www.ePolitix.com/partieslabour"
/gt lt/rdfDescriptiongt
ltrdfRDFgt ltrdfProperty
rdfabout"http//www.Schemas.org/2001/01/rdf-sche
maName"gt ltrdfsdomain
rdfresource"http//www.Schemas.org/2001/01/rdf-s
chemaPerson" /gt ltrdfsrange
rdfresource"http//www.w3.org/2000/01/rdf-schema
Literal" /gt lt/rdfPropertygt
ltrdfProperty rdfabout"http//www.Schemas.org/20
01/01/rdf-schemaDOB"gt
ltrdfsdomain rdfresource"http//www.Schemas.org/
2001/01/rdf-schemaPerson" /gt
ltrdfsrange rdfresource"http//www.w3.org/2000/0
1/rdf-schemaLiteral" /gt lt/rdfPropertygt
lt/rdfRDFgt
ltrdfProperty rdfID"MemberOf"gt
ltrdfsdomain rdfresource"Politician" /gt
ltrdfsrange rdfresource"PoliticalParty" /gt
lt/rdfPropertygt
ltrdfProperty rdfID"CandidateFor"gt
ltrdfsdomain rdfresource"Candidate" /gt
ltrdfsrange rdfresource"Constituency" /gt
lt/rdfPropertygt
31Multiple Inheritance
ltrdfRDF xmlnsrdf"http//www.w3.org/1999/02/22
-rdf-syntax-ns" xmlnsrdfs"http//www.w3.org/2
000/01/rdf-schema" gt ltrdfsClass
rdfabout"http//www.ePolitix.com/2001/03/r
df-schemaDefendingCandidate"gt
ltrdfssubClassOf
rdfresource"http//www.ePolitix.com/2001/03/rdf-
schemaCandidate"/gt
ltrdfssubClassOf
rdfresourcehttp//www.ePolitix.com/2001/03/rdf-s
chemaElectedRepresentative /gt lt/rdfsClassgt
lt/rdfRDFgt
32Multiple Instantiation
ltrdfDescription rdfabout"http//www.epoli
tix.com/austin-mitchell"gt ltrdftype
resource"http//www.ePolitix.com/2001/03/r
df-schemaCandidate" /gt ltsNamegtAustin
Mitchelllt/sNamegt ltepxMemberOfgtLabour
Partylt/epxMemberOfgt ltsDOBgt19
September, 1934lt/sDOBgt ltrdftype
resource"http//www.Schemas.org/2001/01/rdf-
schemaHusband" /gt ltsWife
rdfresource" http//www.epolitix.com/linda-mcdou
gall" /gt lt/rdfDescriptiongt
33Multiple Instantiation
34Subproperties
ltrdfProperty rdfID"MemberOfOrganisation"gt
ltrdfsdomain rdfresource"Person" /gt
ltrdfsrange rdfresource"Organisation" /gt
lt/rdfPropertygt
ltrdfProperty rdfID"MemberOfParty"gt
ltrdfssubPropertyOf rdfresource
"MemberOfOrganisation" /gt lt/rdfPropertygt
35rdfssubPropertyOf
The property rdfssubPropertyOf is an
instance of rdfProperty that is used to specify
that one property is a specialization of another.
A property may be a specialization of zero, one
or more properties. If some property P2 is a
subPropertyOf another more general property P1,
and if a resource A has a P2 property with a
value B, this implies that the resource A also
has a P1 property with value B.
36Other RDFS Elements
- rdfResource
- rdfslabel
- rdfscomment
- rdfsseeAlso
- rdfsisDefinedBy
- rdfStatement
- rdfsubject
- rdfpredicate
- rdfobject
- rdfscontainer
- rdfbag
- rdfseq
- rdfalt
All Elements are Defined in http//www.w3.org/TR/
rdf-schema/
37RDFS Class Hierarchy
38RDFS Constraints
39RDFS vs UML
40RDFS Extension DAMLOIL
- An ontology language built on top of RDFS
- Basic ontological primitives and mechanisms from
RDFS. - DAMLOIL is a set of RDF-statements.
- DAMLOIL adds expressive power and well-defined
semantics. - The purpose is to eliminate RDFSs expressive
inadequacy in order to support inferencing on
RDF-models.
41And now, more about expressiveness in general,
and KIF in particular