Linked data

22
1 DPO | 13 TU Delft Library / SSC ICT Linked Data – RDF – Ontologies Frits van Latum DPO

description

 

Transcript of Linked data

Page 1: Linked data

1DPO | 13

TU Delft Library / SSC ICTLinked Data – RDF – Ontologies

Frits van Latum

DPO

Page 2: Linked data

2DPO | 13

Linked data

• “a term used to describe a recommended best practice for exposing, sharing, and connecting pieces of data, information, and knowledge on the Semantic Web using URIs and RDF”

Page 3: Linked data

3DPO | 13

… provide useful RDF information …

• “Weaving the Web: The Original Design and Ultimate Destiny of the World Wide Web” is de titel van een boek• HHTP URI:

http://www.amazon.com/Weaving-Web-Original-Ultimate-Destiny/dp/006251587X/sr=8-1/qid=1164804281/ref=sr_1_1/103-9484506-6830220?ie=UTF8&s=books

• de auteur van dit boek is:• HTTP URI: http://purl.org/dc/elements/1.1/creator

• Tim Berners Lee • http://www.w3.org/People/Berners-Lee/card#i

• RDF (afgekort)• amazon:1164804281 dc:creator w3:Berners-Lee

Page 4: Linked data

4DPO | 13

Hoe werkt het?

• http://richard.cyganiak.de/2007/10/lod/• http://www4.wiwiss.fu-berlin.de/bizer/bookmashup/#exam

Page 5: Linked data

5DPO | 13

Linked data

• Tim Berners-Lee• http://www.w3.org/DesignIssues/LinkedData.html• http://www.ted.com/talks/tim_berners_lee_on_the_next_web.html

• W3C Semantic Web Education and Outreach programma• http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/

LinkingOpenData

• Linked Data Community• http://linkeddata.org/• http://semanticweb.org/wiki/Main_Page

Page 6: Linked data

6DPO | 13

Linked Data is gebaseerd op RDF

• RDF = Resource Description Framework • framework voor het beschrijven van web resources

• properties van en relaties tussen resources • ontworpen voor gebruik door software • niet voor menselijke consumptie• wordt genoteerd in XML, N3, etc.• onderdeel van W3C's Semantic Web Activity • W3C Recommendation

Page 7: Linked data

7DPO | 13

RDF statement / triple

• heel simpel “A p B”• “Cock Huizer werkt bij de TU Delft”• alles is een URI, dus:

“https://telefoonboek.tudelft.nl/detail.html?uid=cc9e0f4010e870da

http://xmlns.com/foaf/spec/#term_workplaceHomepage

http://www.tudelft.nl/”• eenvoudiger door gebruik namespaces:

“https://telefoonboek.tudelft.nl/detail.html?uid=cc9e0f4010e870da

foaf:workplaceHomepage

http://www.tudelft.nl/”

Page 8: Linked data

8DPO | 13

RDF statements

• “A p B” B kan een URI zijn maar ook een string (getal, etc.)• Twee statements:

https://telefoonboek.tudelft.nl/detail.html?uid=cc9e0f4010e870da

foaf:workplaceHomepagehttp://www.tudelft.nl/ .

https://telefoonboek.tudelft.nl/detail.html?uid=cc9e0f4010e870da

foaf:name“Cock Huizer” .

• Gecombineerd:https://telefoonboek.tudelft.nl/detail.html?uid=cc9e0f4010e870da

foaf:workplaceHomepage http://www.tudelft.nl/ ;foaf:name “Cock Huizer” .

Page 9: Linked data

9DPO | 13

Notatie in XML

<rdf:Description rdf:about= “http://www.recshop.fake/cd/EmpireBurlesque">  <cd:artist>Bob Dylan</cd:artist>  <cd:country>USA</cd:country>  <cd:company>Columbia</cd:company>  <cd:price>10.90</cd:price>  <cd:year>1985</cd:year>

</rdf:Description>

Page 10: Linked data

10DPO | 13

Notatie in N3

@prefix cd: <http://www.recshop.fake/cd/>.cd:Empire Burlesque

  cd:artist Bob Dylan  cd:country USA  cd:company Columbia  cd:price 10.90  cd:year 1985.

• Hier staan eigenlijk 5 RDF statements• N3 is iets beter geschikt voor menselijke consumptie

Page 11: Linked data

11DPO | 13

RDF is a graph

bron: http://www.rdfabout.com/

Page 12: Linked data

12DPO | 13

RDF = simpele tabel in een database

object relation subject

vincent_donofrio starred_in law_&_order_ci

vincent_donofrio has_name “Vincent D’Onofrio”

law_&_order_ci is_a tv_show

the_thirteenth_floor similar_plot_as the_matrix

Page 13: Linked data

13DPO | 13

So far so good?

• RDF als triple concept is niet nieuw, maar

• standaardisering gaat verder: RDFS, OWL• er zijn tools

• parsers, converters• triple stores en query taal: SPARQL • viewers en editors• reasoners

• “anyone can say anything about everything”

Page 14: Linked data

14DPO | 13

RDF/OWL schema’s: Use Case• A foaf:made D

• foaf:made is een relatie binnen de FOAF standaard• D foaf:maker A

• foaf:maker ook

• Kunnen we ergens vastleggen dat die twee iets met elkaar te maken hebben?

• Ja, door het opnemen van triples• foaf:made owl:inverseOf foaf:maker• foaf:maker owl:inverseOf foaf:made

• Zodat reasoner software de set van triples kan uitbreiden

Page 15: Linked data

15DPO | 13

RDFS standaard• rdfs:Class resources worden gegroepeerd in classes• classes zijn ook resources

• rdf:type een resource hoort tot een class• x:Person rdf:type rdfs:Class.• x:Adam rdf:type x:Person.• x:Adam a x:Person. (rdf:type wordt afgekort tot a)

• rdfs:subClassOf• rdfs:range • rdfs:domain• enz.• Zie: http://www.w3.org/TR/rdf-schema/

Page 16: Linked data

16DPO | 13

RDFS voorbeeld@prefix : <http://www.example.org/sample.rdfs#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.

:Dog rdfs:subClassOf :Animal. :Person rdfs:subClassOf :Animal. :hasChild rdfs:range :Animal; rdfs:domain :Animal. :hasSon rdfs:subPropertyOf :hasChild.

:Max a :Dog. :Abel a :Person. :Adam a :Person; :hasSon :Abel.

Page 17: Linked data

17DPO | 13

RDFS

• RDFS (en OWL) worden gedefinieerd in termen van afleidbaarheid (inference)

• als je bijvoorbeeld de volgende triples tegenkomt::Person rdfs:subClassOf :Animal.:Abel a :Person.

• dan is het volgende triple afleidbaar::Abel a :Animal.

Page 18: Linked data

18DPO | 13

RDFS

• en met:• :hasChild rdfs:range :Animal;• rdfs:domain :Animal.• :hasSon rdfs:subPropertyOf :hasChild. • :Adam a :Person; • :hasSon :Abel.

• kun je afleiden:• :Abel a :Animal.

Page 19: Linked data

19DPO | 13

RDFS en OWL

• OWL is Web Ontology Language• Een ontologie beschrijft kennis (in een bepaald domein)

• concepten• relaties tussen concepten• eigenschappen van concepten en relaties

• OWL is een taal waarin ontologieën kunnen worden uitgedrukt• OWL heeft 3 varianten: OWL-Lite, OWL-DL en OWL-Full

• oplopende “expressiviteit”• oplopende moeilijkheidsgraad om reasoners te maken

• OWL DL is ongeveer hetzelfde als RDFS

Page 20: Linked data

20DPO | 13

SPARQL RDF query language

• uitgangspunt: set van RDF triples van de vorm A p B• query: alle onderdelen van triples kunnen variabel zijn

• voorbeeld:• welke relaties heeft fvanlatum met wie of wat

foaf:fvanlatum ?relation ?object• voorbeeld:

• neefjes en nichtjes?SELECT ?z

WHERE

foaf:fvanlatum x:parent ?x

?x x:sibling ?y

?y x:has_child ?z

Page 21: Linked data

21DPO | 13

Demo

• protégé• voor Protégé zie: http://protege.stanford.edu/

• gebruikte voorbeeld: • presentatie: http://www.cs.man.ac.uk/~stevensr/family/p4-

slides.ppt • bestanden:

http://www.cs.man.ac.uk/~stevensr/family/ontologies.zip

Page 22: Linked data

22DPO | 13

Toepassingen

• 3TU Datacenter• Repository

• TBM Ontology