RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework)...

24
RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

Transcript of RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework)...

Page 1: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

RDF (Resource Description Framework)

Agnieszka Ławrynowicz 2009.09.29

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 2: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

Podstawowe elementy

• Zasoby (ang. resources)– identyfikowane za pomocą URI, ale …URI niekoniecznie

wskazuje zasób– odpowiadają węzłom w grafie– np. http://przyklad.org/#Anna

• Własności (ang. properties)– identyfikowane za pomocą URI– odpowiadają łukom w grafie– relacja binarna między dwoma zasobami– np. http://przyklad.org/#jestWlascicielem

• Literały (ang. literals)– konkretne wartości danych np. „VW Passat", "2009-09-29"

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 3: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

„Trójkowy” model danych

• Zdania w postaci trójek (ang. triples):

<subject, predicate, object>

– Subject: zasób lub węzeł anonimowy (ang. blank node)

– Predicate: własnośd

– Object: zasób, literał lub węzeł anonimowy

• Przykład:

ex:Anna,ex:matka,ex:Marek

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 4: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

Trójka jako graf

• Etykietowane grafy skierowane

– Węzły: zasoby, literały

– Etykiety: własności

– Łuki: zdania

ex:Marekex:Annaex:matka

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 5: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

Zasoby

• Zasobem może byd:– strona WWW (np. http://www.w3.org)

– osoba (np. http://www.cs.put.poznan.pl/alawrynowicz)

– książka (np. isbn:0130273635)

– cokolwiek wskazanego przez URI

• URI jest identifikatorem zasobu, a niekoniecznie wskazuje jego lokalizację w sieci WWW

• Zdania na temat zasobów:http://www.w3.org ma format text/html

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 6: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

Literały

• Proste– np. "napis"

• Typowane– np. "czesc"^^xsd:string, "100"^^xsd:integer– rekomendowane typy danych: typy danych XML Schema– możliwośd rozszerzenia typów

• Tylko jako object trójki.:http://przyklad.org/#Anna>,

<http://przyklad.org/#nazywaSie>,

”Anna Nowak”ˆˆxsd:string

http://przyklad.org/#Annahttp://przyklad.org/#nazywaSie

”Anna Nowak”ˆˆxsd:string

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 7: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

Łączenie trójek

#Anna#nazywaSie

”Anna Nowak”ˆˆxsd:string

#telefon

604254332

#czyta

http://pl.wikipedia.org/wiki/Solaris_(powiesc)

#autorhttp://pl.wikipedia.org/wiki/

Stanislaw_Lem

Sieć semantyczna

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 8: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

Węzły anonimowe

• Węzły anonimowe (ang. blank nodes) nie posiadają URI– nienazwane zasoby– bardziej złożone konstrukcje

• Reprezentacja węzłów anonimowych jest zależna od składni• Przykład:

<#Anna>,<#nazywaSie>, _:imieNazwiskoAnny_:imieNazwiskoAnny,<#imie>,”Anna”ˆˆxsd:string

_:imieNazwiskoAnny,<#nazwisko>,”Nowak”ˆˆxsd:string

#Anna#nazywaSie

”Anna”ˆˆxsd:string

”Nowak”ˆˆxsd:string

#imie

#nazwisko

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 9: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

Reifikacja

• zdania o zdaniach

Marek twierdzi, że Anna nazywa się ”Anna Nowak”

<#mojeZdanie>,rdf:type,rdf:Statement

<#mojeZdanie>,rdf:subject,<#Anna>

<#mojeZdanie>,rdf:predicate,<#nazywaSie>

<#mojeZdanie>,rdf:object,”Anna Nowak”

<#Marek>,<#twierdzi>,<#mojeZdanie>

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 10: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

Słownictwo

• Słownictwo RDF jest zdefiniowane w przestrzeni nazw:http://www.w3.org/1999/02/22-rdf-syntax-ns#

• Klasy:rdf:Property rdf:Statement rdf:XMLLiteral rdf:Seqrdf:Bag

• rdf:Alt rdf:List• Własności:

rdf:type rdf:subject rdf:predicate rdf:object rdf:firstrdf:rest rdf: n rdf:value

• Zasoby:rdf:nil

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 11: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

Kontenery

• Grupowanie wartości własności

”Na wykład uczęszczają Jan, Maria i Marek” Bag

”Dokument1 jest edytowany przez Anię i Karola (w tej kolejności)” Seq

”Kod źródłowy aplikacji może byd znaleziony w

ftp1.example.org, ftp2.example.org, ftp3.example.org” Alt

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 12: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

Przykład – rdf:Bag

”Na wykład uczęszczają Jan, Maria i Marek”

rdf:_2

ex:wyklad

ex:uczeszczanyPrzez rdf:typerdf:Bag

rdf:_1rdf:_3

ex:Marek

ex:Mariaex:Jan

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 13: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

Serializacja RDF do XML

• Dokument RDF może byd reprezentowany w XML za pomocą znacznika rdf:RDF

• Dokument XML w tym przypadku zawiera elementy opatrzone znacznikiem rdf:Description

• Każdy taki znacznik zawiera zdanie na temat zasobu identyfikowane za pomocą trzech sposobów:– atrybutu about – odnoszącego się do istniejącego zasobu– atrybutu typu ID – tworzącego nowy zasób– bez nazwy – tworzącego zasób anonimowy

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 14: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

Serializacja do XML c.d.

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ex="http://przyklad.org#">

<rdf:Description rdf:about="http://przyklad.org/#Anna"> <ex:nazywaSie>Anna Nowak</ex:nazywaSie>

</rdf:Description>

</rdf:RDF>

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 15: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

Serializacja do XML c.d.

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#"xmlns:ex="http://przyklad.org#">

<rdf:Description rdf:about="http://przyklad.org/#Anna"> <ex:nazywaSie rdf:datatype="xsd:string">Anna Nowak</ex:nazywaSie><ex:telefon rdf:datatype="xsd:integer">604254332</ex:telefon><ex:czyta rdf:resource="http://pl.wikipedia.org/wiki/Solaris_(powiesc)"/>

</rdf:Description>

<rdf:Description rdf:about="http://pl.wikipedia.org/wiki/Solaris_(powiesc)"><ex:autor rdf:resource="http://pl.wikipedia.org/wiki/Stanislaw_Lem"/>

</rdf:Description> </rdf:RDF>

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 16: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

Dublin Core Metadata Element Set (DCMES)

• jedno z wczesnych i najbardziej popularnych zastosowao RDF

• metadane służą w szczególności identyfikacji, opisowi i wyszukiwaniu zasobów informacyjnych (fizycznych i elektronicznych)

• cel inicjatywy - sformułowanie minimalnego, standardowego zbioru elementów opisowych, które nawiązywałyby do kart bibliotecznych

• ogólny charakter (niezależny od konkretnej dziedziny), można opisywad dowolne zasoby

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 17: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

Dublin CoreSłownik pojęd– Title

– Creator

– Subject

– Description

– Publisher

– Contributor

– Date

– Type

– Format

– Source

– Language

– Rights

Dublin Core Metadata Initiative (DCMI) -promowanie stosowania standardów metadanych, rozwijanie specjalizowanych słowników pojęd do opisu zasobów

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 18: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

Friend-Of-A-Friend (FOAF)

• Projekt Friend of a Friend (FOAF) zakłada tworzenie sieci stron domowych opisujących ludzi

• Rozproszone plikiRDF/XML opisujące ludzi, kogo znają, projekty w których pracują itp..

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 19: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

FOAF - motywacje

• Wsparcie filtrowania e-maili za pomocą priorytetów dla maili od zaufanych kolegów

• Znajdowanie ludzi o zainteresowaniach podobnych do naszych

• Znajdowanie eksperta w społecznościach zajmujących się jakąś tematyką

• Analiza sieci społecznych

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 20: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

FOAF – przykład

Agnieszka Ławrynowicz

foaf:Person

mailto:[email protected]

foaf:name

rdf:type

foaf:mbox

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 21: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

FOAF – serializacja do XML

<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:foaf="http://xmlns.com/foaf/0.1/">

<foaf:Person>

<foaf:name>Agnieszka Ławrynowicz</foaf:name>

<foaf:mbox rdf:resource="mailto:[email protected]" />

</foaf:Person>

</rdf:RDF>

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 22: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

FOAF – bardziej rozbudowany przykład

Agnieszka Ławrynowicz

foaf:Person

mailto:[email protected]

foaf:name

foaf:mbox

Piotr Płusa

foaf:Person

rdf:type

mailto:[email protected]

foaf:mbox

rdf:type

foaf:name

foaf:knows

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 23: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

FOAF – serializacja do XML

<foaf:Person> <foaf:name>Agnieszka Ławrynowicz</foaf:name> <foaf:mbox rdf:resource="mailto:[email protected]" />

<foaf:knows> <foaf:Person>

<foaf:mbox rdf:resource="mailto:[email protected]" /><foaf:name>Piotr Płusa</foaf:name>

</foaf:Person> </foaf:knows>

</foaf:Person>

RDF, Agnieszka Ławrynowicz, 2009.09.29

Page 24: RDF (Resource Description Framework) · 2009. 9. 29. · RDF (Resource Description Framework) Agnieszka Ławrynowicz 2009.09.29 RDF, Agnieszka Ławrynowicz, 2009.09.29

Friend-Of-A-Friend (FOAF)•Użytkownicy sieci publikują swoje pliki FOAF

• Dane personalne• miejsce pobytu• uczestnictwo w projektach• osoby, które znają

– roboty lub aplikacje zbierają i agregują informacje z wielu źródeł

– zebrane informacje mogą posłużyd np. do odpowiedzi na zapytania:• Który ze znajomych mieszka w mieście

gdzie odbywa się konferencja, w której uczestniczę?

Słownictwo

– Agent

– Person

– name

– nick

– Mbox

– knows

– depiction

– publications

– homepage

– organization

– group

– project

http://xmlns.com/foaf/0.1/

RDF, Agnieszka Ławrynowicz, 2009.09.29