26
RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. [email protected]

RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. [email protected]

  • View
    215

  • Download
    2

Embed Size (px)

Citation preview

Page 1: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

RDF, RDFS

making the Web a better place

Ir. Richard Vdovjak, [email protected]

Page 2: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

When the Keywords fall short

Consider the following query: Give me pictures of Niagara Falls taken from the

Falls Avenue in Niagara Falls, Canada with a tele-lens.

the subject that is photographed the vantage point of the photographer the “tool” which is used

Page 3: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

When the Keywords fall short

This is what we are after:

Page 4: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

When the Keywords fall short This is what we

get:

Page 5: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

When the Keywords fall short Or this:

Page 6: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

So, what do we need to improve on that? A tool for specifying (rich) metadata

(not just keywords). the metadata should include

different taxonomies/ontologies of classes and resources that belong to those classes, e.g. a geographical ontology, ontology of lenses etc.

properties within the classes of a certain ontology but also among different “neighboring” ontologies

To insure scalability the rule “anything can say anything about anything” applies

Page 7: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

Resource Description Framework (RDF)

A foundation of processing metadata Issued by the W3C consortium www.w3.org While relying on XML for serialization, RDF focuses on

semantics The formal semantics of RDF is defined see

RDF Model Theory The aim is to make the Web “machine-understandable” not

only machine readable an open-world framework that allows anyone to make

simple assertions about anything it does not guarantee nor assumes consistency of these

assertions distributed by its nature as is the WWW fully extensible

Page 8: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

RDF in XML serialization

“Ora Lassila” is the creator of the resource http://www.w3.org/Home/Lassila.

<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://description.org/schema/"> <rdf:Description about="http://www.w3.org/Home/Lassila">

<s:Creator>Ora Lassila</s:Creator> </rdf:Description> </rdf:RDF>

Page 9: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

RDF Data Model (A kind of) Directed Labeled

Graph edges represent properties nodes represent

resources (ellipses) literals (rectangles) are shared

there may be multiple edges between two nodes

there may be multiple edges with the same label pointing to different nodes

the graph can contain cycles the graph is not necessarily

connected

28

Pic1 Person1

filmFrame age

createdBy

depicting

Person2depicting

subject objectpredicate

Page 10: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

RDF Data Model as Triplets

Definition: An RDF model M is a finite set of triplets (also called

statements) of the form:M R x U x (R L)

Where U is the set of (references to)resource identifiers or URIsL is the set of literals (string like elements) which denote

the actual content (data)B is the set of blank nodes (nodes that don’t have a

label)R= U B is the set of all resources (both blank and

labeled)

subject objectpredicate

Page 11: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

RDF Data Model as Triplets

Example: [Pic1, filmFrame, “28”] [Pic1, depicting, Person1] [Pic1, createdBy, Person1] [Pic1, depicting, Person2] [Person1, age, “28”]

28

Pic1 Person1

filmFrame age

createdBy

depicting

Person2depicting

Page 12: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

RDF Data Model

Implications: properties have always labels (URIs),

i.e., there are no “blank” properties literal nodes cannot have properties

(they can stand only as property values) it is possible to make statements about

properties, but beware a statement about one property propagates to all properties with the same label in the model. In fact all properties with the same label are treated as one resource!

Page 13: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

RDF Data Model as Triplets

Example: [Pic1, filmFrame, “28”] [Pic1, depicting, Person1] [Pic1, createdBy, Person1] [Pic1, depicting, Person2] [Person1, age, “28”]

28

Pic1 Person1

filmFrame age

createdBy

depicting

Person2depicting

[depicting, how, “nicely”] depicting nicelyhow nicely

howhow

Any ideas?

Page 14: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

RDF Data Model as Triplets

Solution: [Pic1, depicting, b1] [b1, how, “nicely”] [b1, whom, Person1] [Pic1, createdBy, Person1] [Pic1, depicting, b2] [b2, whom, Person2]

Pic1 Person1createdBy

depicting

Person2depicting

b1

b2

whom

whom

nicelyhow

Page 15: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

RDF built-in resource and properties rdf:Property

a resource that represents (a type of) all properties rdf:type

a property which says that a resources is an “instance” of another resource, e.g. [john, rdf:type, Person]

DefinitionA model M is RDF-closed iff [xxx,yyy,zzz] M, [yyy, rdf:type, rdf:Property]

Page 16: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

Adding Gadgets: Containers

rdf:Bag - a set with duplicates or an unordered list rdf:Seq - a sequence or an ordered list rdf:Alt -a list of “equivalent” alternatives rdf:li - a container membership property [container,

lists, X]

Committee

rdf:Bag

rdf:type John

Jessierdf:li

rdf:li

Document

approved

Joseph

rdf:li

John

Jessieapproved

approved

Document

Joseph

approved

The same?

Page 17: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

Adding Gadgets Reification or statements about statements

rdf:Statement rdf:subject rdf:object rdf:predicate

Beware you can make assertions about the statement resource (i.e. not really about the property)

Pic1 Person1depicting

rdf:Statement

rdf:subject rdf:object

rdf:predicate

rdf:typeS

nicelyhow

Page 18: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

RDFSchema: adding more structure A modeling language on top of RDF

(expressed in RDF) Introduces the following modeling primitives:

rdf:Propetyrdfs:Class

rdf:type rdf:subClassOf rdf:subPropertyOfrdfs:Literal

rdf:range

rdf:domain

rdfs:Resourcerdfs:subClassOf

rdf:type

Page 19: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

RDFSchema: Classes resources may be divided into groups called classes

Definition The extent of a class is the set of all resources that are linked to that class by the rdf:type property.

two classes with the same extent are not necessarily the same, i.e. they might have different properties classes can be subsumed by other classes with the transitive rdfs:subClassOf property a class can be an instance of itself (!)

this blurs the clean distinction of the schema and their instances known from databases in some cases it actually reflects the real-world, e.g. “Tulip” can be both a class (subclass of say “Flower”) and also its own instance when we are not

interested in particularities of the instance, e.g. the picture depicts a tulip.

Page 20: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

RDFSchema: Properties properties are linked to classes by specifying their rdfs:domain and rdfs:range,. i.e., they are defined externally wrt classes (they are

first-class citizens)Definition The set D(R) of a property p is defined as the intersection of extents of all classes c indicated by [p,rdfs:domain (rdfs:range),c]Definition The extent of a property p is the set E of all triplets [x, p, y], where xD and y R

If a property has more than one rdfs:domain (rdfs:range), objects(subjects) using this property are instances of all classes stated in the rdfs:domain (rdfs:range) .

properties can be (also) subsumed with the transitive rdfs:subPropertyOf property

Page 21: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

RDFSchema:RDFS-ClosureDefinition

A model M is RDFS-closed if the following holds: 1. [x,y,z] M, [y, rdf:type, rdf:Property]2. [x,y,z], [y, rdfs:domain,u] M, [x, rdf:type, u]3. [x,y,z], [y, rdfs:range,u] M, [z, rdf:type, u]4. [x,y,z] M, [x, rdf:type, rdfs:Resource]5. [x,y,z] M where z U, [z, rdf:type, rdfs:Resource]6. [x,rdfs:subPropertyOf,y] and [y,rdfs:subPropertyOf,z] M

[x,rdfs:subPropertyOf,z]7. [x,y,z] and [y,rdfs:subPropertyOf,u] M [x,y z]8. [x, xrdf:type, rdfs:Class] M [x,rdfs:subClassOf, rdfs:Resource]9. [x,rdfs:subClassOf,y] and [y,rdfs:subClassOf,z] M

[x,rdfs:subClassOf,z]

10. [x,rdfs:subClassOf,y] and [a,rdf:type,x] M [a,rdf:type,y]

These can be also considered as inference rules, i.e. how to derive an RDFS-closed graph

Page 22: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

RDFSchema: Example

Page 23: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

RDF(S) Applications (Web) metadata

CC/PP Composite Capabilities/Preferences Profiles

P3P Platform for Privacy Preferences Data integration (programmable mediators)

foundation for higher ontology languages OIL, OWL

RDF(S) query languages Web needs not only the metadata but also a

means to reason about them. RQL, RDQL, etc.

Page 24: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

RDF(S) Pitfalls Unrefined Datatypes

XML data type system can be adopted Reification needs an external interpretation

it is application dependent, i.e. there might be differences in interpretations

More expressive power? price to pay in terms of performance, scalability sometimes not needed

There are not so many RDF metadata available on the Web

this is not a shortcoming of RDF(S) triplets can be harvested from X-link but mainly generated from the DB backends

Page 25: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

RDF(S) Pitfalls 2, The Designation Problem

Correspondence between URIs and real-world objects

how do we assure that two (distributed) sites when referring to the same real-world object are using the same URI?

if they don’t how do we reconcile (not express) two different URIs pointing to one object?

Given reconciliation? By whom? a “Web URI

Institution”? Value based decision?

two URIs having the same value do not have to be the same real-life objects...

Source 1 Source 2

John 1234

John

Page 26: RDF, RDFS making the Web a better place Ir. Richard Vdovjak, MTD. richardv@win.tue.nl

The End of Part 1

Let’s have a break!