RDFS: RDF Schema Definition Classification Example Multi

Classification
One way to make the world more understandable is to classify its
objects, i.e. to put them into classes (the apples, the pears, the cars,
the human beings, the thougts, ...)
RDFS: RDF Schema Definition
•  RDF objects (resources) can be classified by associating them with
classes.
•  An RDF class is a resource of type rdfs:Class
•  A resource O is an instance of a class C if it has type C, i.e. if there
is a triple (O rdf:type C)
G. Falquet
2014
Université*de*Genève*.*G.*Falquet*
RDFS*
1*
Université*de*Genève*.*G.*Falquet*
RDFS*
Example
Multi-classification
Represent ex:doc23.doc and ex:d97.doc are articles
an object may be an instance of several classes
1. define a class Article
2. assign type Article to ex:doc23.doc and ex:d97.doc
rdfs:Class*
rdf:type*
ex:ScientificText*
rdf:type*
ex:Article*
rdf:type*
rdf:type*
rdf:type*
ex:Document*
rdfs:Class*
ex:doc23.doc*
2*
rdf:type*
rdf:type*
ex:Article*
rdf:type*
ex:doc23.doc*
rdf:type*
ex:d97.doc*
Université*de*Genève*.*G.*Falquet*
RDFS*
3*
Université*de*Genève*.*G.*Falquet*
RDFS*
4*
Structuring the classes : subClassOf
Example
every published article is an article and a publication, and an
article is a document
•  To better understand the world, organize the classes in a generic/
specific hierarchy
•  A class C is a subclass of D if every instance of C is also an instance
of D
ex:Document*
ex:Publication*
rdf:type*
Rem.
1.  the sublcass relation is transitive
2.  if A is a subclass of B and B is a subclass of A then A and B are
equivalent
rdf:type*
rdfs:subClassOf*
rdf:type*
ex:Article*
rdfs:subClassOf*
rdfs:subClassOf*
Université*de*Genève*.*G.*Falquet*
RDFS*
5*
Université*de*Genève*.*G.*Falquet*
rdfs:Class*
rdfs:subClassOf*
rdf:type*
ex:PublishedArticle*
rdf:type*
RDFS*
6*
Inferences
The class and instance levels
RDFS**has*predefined*entailment*rules:*
It is generally a good idea to have two separate levels
rdfs:subClassOf*
from%
infer%
P*rdfs:domain*C*.*x*P*y*.*
x*rdf:type*C*
P*rdfs:range*D*.*x*P*y*.*
y*rdf:type*D*
P*rdfs:subPropertyOf*Q*.**
Q*rdfs:subPropertyOf*R*.**
P*rdfs:subPropertyOf*R*.**
*
P*rdfs:subPropertyOf*Q.*x*P*y*.**
x*Q*y*.*
Classes*
rdf:type*
C*rdf:type*rdfs:Class.*D*rdf:type*rdfs:Class.* C*rdfs:subClassOf*E*.**
E*rdf:type*rdfs:Class.*
C*rdfs:subClassOf*D*.*D*rdfs:subClassOf*E*.*
C*rdfs:subClassOf*D.**
x*rdf:type*C.**
Instances*
x*rdf:type*D*.**
*
p*
r*
q*
r*
p*
Université*de*Genève*.*G.*Falquet*
RDFS*
7*
Université*de*Genève*.*G.*Falquet*
RDFS*
8*
A Modeling Question
RDF allows any combination
rdf:type*
Deciding if X should be a class or an instance is a matter of modeling
Université*de*Genève*.*G.*Falquet*
rdfs:subClassOf*
rdfs:Class*
ex:Food rdf:type rdfs:Class
ex:pizza rdf:type ex:Food
ex:kebab rdf:type ex:Food
or
ex:Food rdf:type rdfs:Class
ex:pizza rdfs:subClassOf ex:Food
ex:kebab rdfs:subClassOf ex:Food
rdf:type*
rdfs:subClassOf*
RDFS*
9*
Université*de*Genève*.*G.*Falquet*
rdf:type*
rdf:type*
RDFS*
Predefined classes
Structuring properties
rdfs:Resource
•  Specify the domain and range of a property
rdfs:Class
–  ex:teaches rdfs:domain ex:professor
–  ex:teaches rdfs:range ex:course
rdf:Property
rdfs:Literal the set of literal values, eg. textual strings.
rdf:Statement
rdfs:Container , rdf:Bag , rdf:Seq
10*
•  Specify subproperties
, rdf:Alt
–  ex:motherOf rdfs:subPropertyOf ex:parentOf
Université*de*Genève*.*G.*Falquet*
RDFS*
11*
Université*de*Genève*.*G.*Falquet*
RDFS*
12*
Predefined properties
Example
rdfs:Resource*
rdfs:subClassOf*
rdfs:subClassOf*
rdfs:subClassOf*
rdfs:isDefinedBy "
rdf:value "
rdf:subject "
rdfs:comment "
rdf:predicate "
rdfs:label "
rdf:object "
rdfs:domain "
rdf:type (instance of)"
rdfs:range "
ex:IntellectualWork*
rdf:type*
rdfs:subClassOf*
rdfs:range*
rdfs:domain*
ex:ArZcle*
rdfs:subClassOf "
rdf:type*
rdf:type*
ex:Ztle*
RDFS*
13*
The top level
ex:name*
"Bob*de*Moore"*
"RDF*Model*SemanZcs"*
Université*de*Genève*.*G.*Falquet*
more ...
ex:Researcher*
ex:wriWenBy*
ex:doc3901.txt*
Université*de*Genève*.*G.*Falquet*
ex:Person*
ex:wriWenBy*
rdfs:subClassOf*
rdfs:seeAlso *
rdfs:member "
rdf:Property*
RDFS*
14*
type
Class"
type
type"
Class"
type
Container"
Container"
type
type"
subClassOf"
subClassOf"
Ressource"
subClassOf
subClassOf"
subClassOf
type"
Ressource"
Bag"
subClassOf"
Property"
subClassOf"
Statement"
type"
type"
range"
domain"
Université*de*Genève*.*G.*Falquet*
RDFS*
15*
Université*de*Genève*.*G.*Falquet*
RDFS*
16*