24
This file is licensed under the Creative Commons Attribution-NonCommercial 3.0 (CC BY-NC 3.0 ) Dr. Harald Sack Hasso Plattner Institute for IT Systems Engineering University of Potsdam Spring 2013 Semantic Web Technologies Lecture 2: Semantic Web - Basic Architecture I 04: How to Represent Facts? - RDF(3)

OpenHPI 2.4 - How to Represent Facts - RDF(3)

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: OpenHPI 2.4 - How to Represent Facts - RDF(3)

This file is licensed under the Creative Commons Attribution-NonCommercial 3.0 (CC BY-NC 3.0)

Dr. Harald Sack

Hasso Plattner Institute for IT Systems Engineering

University of Potsdam

Spring 2013

Semantic Web Technologies

Lecture 2: Semantic Web - Basic Architecture I04: How to Represent Facts? - RDF(3)

Page 2: OpenHPI 2.4 - How to Represent Facts - RDF(3)

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2

Lecture 2: Semantic Web - Basic Architecture I

Open HPI - Course: Semantic Web Technologies

Page 3: OpenHPI 2.4 - How to Represent Facts - RDF(3)

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

3

04 How to Represent Facts? - RDF (3)Open HPI - Course: Semantic Web Technologies - Lecture 2: Semantic Web Basic Architecture I

Page 4: OpenHPI 2.4 - How to Represent Facts - RDF(3)

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

4

04 How to Represent Facts? - RDF (3)Open HPI - Course: Semantic Web Technologies - Lecture 2: Semantic Web Basic Architecture I

Blank Nodes and Lists

Page 5: OpenHPI 2.4 - How to Represent Facts - RDF(3)

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

5

Resource Description Framework

Multi Valued Relations and Blank Nodes• Example:

• A lecture takes place twice a week in two different rooms

• How to model this in RDF?

Semantic Web Technologies

http://hpi-web.de/Lecture#hasName

http://hpi-web.de/ws1213#swt

Page 6: OpenHPI 2.4 - How to Represent Facts - RDF(3)

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

5

Resource Description Framework

Multi Valued Relations and Blank Nodes• Example:

• A lecture takes place twice a week in two different rooms

• How to model this in RDF?

Semantic Web Technologies

http://hpi-web.de/Lecture#hasName

http://hpi-web.de/Lecture#hasRoom

http://hpi-web.de/Lecture#hasDate

HS3

Tue 13.30-15.00

http://hpi-web.de/ws1213#swt

Page 7: OpenHPI 2.4 - How to Represent Facts - RDF(3)

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

5

Resource Description Framework

Multi Valued Relations and Blank Nodes• Example:

• A lecture takes place twice a week in two different rooms

• How to model this in RDF?

Semantic Web Technologies

http://hpi-web.de/Lecture#hasName

http://hpi-web.de/Lecture#hasRoom

http://hpi-web.de/Lecture#hasDate

HS3

Tue 13.30-15.00

http://hpi-web.de/Lecture#hasRoom

http://hpi-web.de/Lecture#hasDate

H-1.52

Wed 13.30-15.00

http://hpi-web.de/ws1213#swt

Page 8: OpenHPI 2.4 - How to Represent Facts - RDF(3)

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

5

Resource Description Framework

Multi Valued Relations and Blank Nodes• Example:

• A lecture takes place twice a week in two different rooms

• How to model this in RDF?

Problem: not unique

Semantic Web Technologies

http://hpi-web.de/Lecture#hasName

http://hpi-web.de/Lecture#hasRoom

http://hpi-web.de/Lecture#hasDate

HS3

Tue 13.30-15.00

http://hpi-web.de/Lecture#hasRoom

http://hpi-web.de/Lecture#hasDate

H-1.52

Wed 13.30-15.00

http://hpi-web.de/ws1213#swt

Page 9: OpenHPI 2.4 - How to Represent Facts - RDF(3)

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

6

Resource Description Framework

Multi Valued Relations and Blank Nodes• Example:

• A lecture takes place twice a week in two different rooms

• How to model this in RDF?

hpi-lv:hasRoom

http://hpi-web.de/ws1213#swt

Semantic Web Technologieshpi-lv:hasName

HS3

Tue 13.30-15.00

hpi-lv:hasDate

H-1.52

Wed 13.30-15.00

hpi-lv:hasRoom

hpi-lv:hasDate

hpi-lv:takesPlace

hpi-lv:takesPlace

Page 10: OpenHPI 2.4 - How to Represent Facts - RDF(3)

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

7

Resource Description Framework

Blank Nodes• Blank Nodes (Bnodes) can be introduced to represend multi valued

relationships

• Blank Nodes can be introduced for resources that don‘t need a name(auxiliary nodes)

hpi-lv:hasRoom

http://hpi-web.de/ws1213#swt

Semantic Web Technologies

hpi-lv:hasName

HS3

Tue 13.30-15.00

hpi-lv:hasDate

hpi-lv:takesPlace

Page 11: OpenHPI 2.4 - How to Represent Facts - RDF(3)

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

8

Resource Description Framework

Anonymous Blank Nodes

hpi-lv:hasRoom

http://hpi-web.de/ws1213#swt

Semantic Web Technologies

hpi-lv:hasName

HS3

Tue 13.30-15.00

hpi-lv:hasDate

hpi-lv:takesPlace

<xml version=“1.0“ encoding=“utf-8“><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#“ xmlns:hpi-lv=“http://hpi-web.de/Lecture#“ >

<rdf:Description rdf:about=“http://hpi-web.de/ws1213#swt“> <hpi-lv:takesPlace rdf:parseType=“Resource“/> <hpi-lv:hasDate>Die, 13.30-15.00</hpi-lv:hasDate> <hpi-lv:hasRoom>HS3</hpi-lv:hasRoom> </hpi-lv:takesPlace> </rdf:Description>

Page 12: OpenHPI 2.4 - How to Represent Facts - RDF(3)

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

9

Resource Description Framework

Anonymous Blank Nodes

hpi-lv:hasRoom

http://hpi-web.de/ws1213#swt

Semantic Web Technologies

hpi-lv:hasName

HS3

Tue 13.30-15.00

hpi-lv:hasDate

hpi-lv:takesPlace

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix hpi-lv: <http://hpi-web.de/Lecture#> .

<http://hpi-web.de/ws1213#swt> hpi-lv:takesPlace [ hpi-lv:hasDate “Tue 13.30-15.00“; hpi-lv:hasRoom “HS3“ ] .

Page 13: OpenHPI 2.4 - How to Represent Facts - RDF(3)

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

10

Resource Description Framework

Dereferencable Blank Nodes

hpi-lv:hasRoom

http://hpi-web.de/ws1213#swt

Semantic Web Technologies

hpi-lv:hasName

HS3

Tue 13.30-15.00

hpi-lv:hasDate

ID1

hpi-lv:takesPlace

<rdf:Description rdf:about=“http://hpi-web.de/ws1213#swt“> <hpi-lv:takesPlace rdf:nodeID=“ID1“/> <rdf:Description>

<rdf:Description rdf:nodeID=“ID1“> <hpi-lv:hasDate>Tue 13.30-15.00</hpi-lv:hasDate> <hi-lv:hasRoom>HS3<hpi-lv:hasRoom> </rdf:Description></rdf:RDF>

Page 14: OpenHPI 2.4 - How to Represent Facts - RDF(3)

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

11

Resource Description Framework

Dereferencable Blank Nodes

hpi-lv:hasRoom

http://hpi-web.de/ws1213#swt

Semantic Web Technologies

hpi-lv:hasName

HS3

Tue 13.30-15.00

hpi-lv:hasDate

ID1

hpi-lv:takesPlace

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix hpi-lv: <http://hpi-web.de/Lecture#> .

<http://hpi-web.de/ws1213#swt> hpi-lv:takesPlace _:ID1 .

_:ID1 hpi-lv:hasDate “Tue 13.30-15.00“; hpi-lv:hasRoom “HS3“ .

Page 15: OpenHPI 2.4 - How to Represent Facts - RDF(3)

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

12

Resource Description Framework

Lists• General Data structure to enumerate any resoures or literals

• Only shortcuts, no additional semantic expressivity

• Distinguish between

• Container open list, i.e. extension (new entries) possible

• Collectionsclosed list, i.e. no extension possible

Page 16: OpenHPI 2.4 - How to Represent Facts - RDF(3)

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

13

Resource Description Framework

RDF Container

rdf:type

rdf:Seq

hpi-lv:hasParticipants

http://hpi-web.de/SchmidtJoseph

http://hpi-web.de/SchulzeEgon

http://hpi-web.de/MuellerFranz

http://hpi-web.de/BurgerAntonrdf:_1

http://hpi-web.de/ws1213#swt

rdf:_2

rdf:_3

rdf:_4

@prefix hpi-lv: <http://hpi-web.de/Lecture#> .@prefix rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

Page 17: OpenHPI 2.4 - How to Represent Facts - RDF(3)

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

14

Resource Description Framework

RDF Container

@prefix hpi-lv: <http://hpi-web.de/Lecture#> .@prefix rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

<rdf:Description rdf:about=“http://hpi-web.de/ws1213#swt“> <lv:hasParticipants> <rdf:Seq> <rdf:li rdf:resource=“http://hpi-web.de/BurgerAnton“ /> <rdf:li rdf:resource=“http://hpi-web.de/MuellerFranz“ /> <rdf:li rdf:resource=“http://hpi-web.de/SchmidtJoseph“ /> <rdf:li rdf:resource=“http://hpi-web.de/SchulzeEgon“ /> </rdf:Seq> </lv:hasParticipants> </rdf:Description>

Page 18: OpenHPI 2.4 - How to Represent Facts - RDF(3)

RDF-Container• the root node of the container is

assigned a container-typ via rdf:type

• rdf:Bagunordered set of elements,there is no given order of elements

• rdf:Seqordered set of elements,

• rdf:Altdefines alternatives of elements only one element of the given alternatives is relevant for the application

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

15

Resource Description Framework

Page 19: OpenHPI 2.4 - How to Represent Facts - RDF(3)

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

16

Resource Description Framework

RDF Container

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix lv: <http://hpi-web.de/Lecture#> .@base <http://hpi-web.de/>

:swt lv:hasParticipants [ a rdf:Seq; rdf:_1 <BurgerAnton>; rdf:_2 <MuellerFranz>; rdf:_3 <SchmidtJoseph>; rdf:_4 <SchulzeEgon> . ] .

Page 20: OpenHPI 2.4 - How to Represent Facts - RDF(3)

RDF-Collection

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

17

Resource Description Framework

rdf:nil

lv:hasParticipants rdf:first

rdf:rest

http://hpi-web.de/SchmidtJoseph

http://hpi-web.de/SchulzeEgon

http://hpi-web.de/MuellerFranz

http://hpi-web.de/BurgerAnton

List is splitted recursively in Head (first) and Tail (rest).

http://hpi-web.de/ws1213#swt

rdf:rest

rdf:rest

rdf:rest

rdf:first

rdf:first

rdf:first

@prefix hpi-lv: <http://hpi-web.de/Lecture#> .@prefix rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

Page 21: OpenHPI 2.4 - How to Represent Facts - RDF(3)

RDF-Collection

<rdf:Description rdf:about=“http://hpi-web.de/ws1213#swt“> <lv:hasParticipant rdf:parseType=“Collection“> <rdf:Description rdf:about=“http://hpi-web.de/BurgerAnton“ /> <rdf:Description rdf:about=“http://hpi-web.de/MuellerFranz“ /> <rdf:Description rdf:about=“http://hpi-web.de/SchmidtJoseph“ /> <rdf:Description rdf:rabout=“http://hpi-web.de/SchulzeEgon“ /> </lv:hasParticipant> </rdf:Description>

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

18

Resource Description Framework

Page 22: OpenHPI 2.4 - How to Represent Facts - RDF(3)

RDF-Collection

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

19

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix lv: <http://hpi-web.de/Lecture#> .@base <http://hpi-web.de/>

:swt lv:hasParticipant [ rdf:first <BurgerAnton>; rdf:rest [ rdf:first <MuellerFranz>; rdf:rest [ rdf:first <SchmidtJoseph>; rdf:rest [ rdf:first <SchulzeEgon>; rdf:rest rdf:nil .] ] ] ] .

Resource Description Framework

Page 23: OpenHPI 2.4 - How to Represent Facts - RDF(3)

RDF-Collection

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

20

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix lv: <http://hpi-web.de/Lecture#> .@base <http://hpi-web.de/>

:swt lv:hasParticipant ( <BurgerAnton> <MuellerFranz> <SchmidtJoseph> <SchulzeEgon>) .

Resource Description Framework

Page 24: OpenHPI 2.4 - How to Represent Facts - RDF(3)

Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

21

05 How to Represent Facts? - RDF (4)Open HPI - Course: Semantic Web Technologies - Lecture 2: Semantic Web Basic Architecture I

Reification