SlideShare une entreprise Scribd logo
1  sur  32
Introductie RDF
Fedict – Brussel – 5 november 2015
| p. 2
 Introductie
 Triples en identifiers
 Vocabularies en schema's
 RDF opslaan en opvragen
 Libraries en tools
 Vragen
Agenda
Introductie
| p. 4
 Geschiedenis
 1995-1998 (Apple, Netscape)
 1999: V1.0 (W3C)
 2014: V1.1
 Oorspronkelijk alleen maar metadata-model
 Later algemeen
 “Statements” over “resources”
 Focus semantic web / bronnen op het www
Resource Description Framework
Triples en identifiers
| p. 6
Graphs
A
C
B
D
E
F
G
X
Y
Y
Z
W
W
| p. 7
 Triple: subject – predicate – object
 <A> <heeft relatie W met> <B>
 <B> <heeft eigenschap Y met waarde> <F>
 <B> <heeft eigenschap Z met waarde> <G>
 Kunnen weer verder wijzen
 Kunnen eigenschappen hebben
 (Meertalige) labels, datums, nummers...
Graphs (2)
| p. 8
 Eenvoudig
 <Julie> <gaat naar> <Parijs>
 Verder uitgewerkt
 <PersoonX> <is een> <Persoon>
 <PersoonX> <heeft als naam> <Julie>
 <PersoonX> <neemt de trein naar> <StadY>
 <StadY> <is een> <Stad>
 <StadY> <heeft als naam> <Parijs>
Triples: voorbeeld
| p. 9
 Parijs: Stad ? Departement ? Persoon ?
 => identifiers
 URI (IRI in RDF 1.1)
 Uniform Resource Identifier
 Kan eruit zien als link naar webpagina (URL)
 Niet verplicht
 mailto:info@fedict.be
 http://id.fedict.be/12345
 Eigen identifiers, of linken naar bestaande
Identifiers
| p. 10
 Geonames.org: referentie naar plaatsnamen
 http://sws.geonames.org/2988507/
 Basis semantisch web / linked (open) data
 Dereferencing: ophalen extra info
 Met RDF die weer linken naar andere resources heeft
 Die weer gedownload kunnen worden etc
Identifiers: gebruik en linken
| p. 11
 Zelf identifier / URI uitvinden
 Of “blank node” gebruiken
 Wel een interne ID, maar geen URI
 Kan dus niet naar verwezen worden van buitenaf
 Aandachtspunt bij samenvoegen bronnen
Wat als er geen identifier bestaat ?
| p. 12
Voorbeeld: stad met naam Parijs
http://sws.geonames.org/2988507/
“Parijs” (NL)
“Parigi” (IT)
Heeft naam
Heeft naam
Stad
Is een
Vocabularies en schema's
| p. 14
 Relaties / classes krijgen ook identifiers
 <heeft naam>, <is een>, …
 => Vocabularies / ontologies
 RDF Schema (RDFS)
 Web Ontology Language (OWL)
 Hergebruik ook hier weer sterk aangeraden !
Identifiers voor relaties, classes...
| p. 15
 Classes en subclasses
 “City” is een subclass van klasse “Place”
 Domain => Range
 “Persoon” = is een inwoner van => “Place”
 Properties en subproperties
 Eigenschappen
 Literals
 Bepaald type (int, date..) of meertalige labels (strings)
RDFS
| p. 16
 Dublin Core Terms: basis-metadata
 Document, titel, auteur, beschrijving...
 DOAP: beschrijving van (software) projecten
 DCAT-AP: metadata open data portalen
 Catalog, Dataset...
 (EU) Core Vocabularies: o.a. services
 SKOS: thesauri
Vocabularies, schema's: voorbeelden
| p. 17
Voorbeeld: stad met naam Parijs (2)
http://sws.geonames.org/2988507/
“Parijs” (NL)
http://schema.org/name
http://schema.org/City
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
RDF opslaan en opvragen
| p. 19
 Semantic Web / Linked Open Data
 De facto standaard
 Graphs
 Minder geschikt voor
 Eenvoudige config files => tekst / INI / properties files
 Document-achtige structuren => XML / HTML
 Grote hoeveelheden tabulaire data => RDBMS
Wanneer RDF (of niet)
| p. 20
 RDF als
 RDF/XML
 RDFa (in HTML)
 N3 / N-Triples / Turtle
 JSON-LD
 Equivalent
 Keuze hangt vooral af van beschikbare tools
 Performantie / capaciteit
Meerdere notaties / formaten
| p. 21
RDF/XML vs N-Triples
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:schema="http://schema.org/">
<rdf:Description rdf:about="http://sws.geonames.org/2988507/">
<schema:name xml:lang="en">Paris</schema:name>
<schema:name xml:lang=”it”>Parigi</schema:name>
</rdf:Description>
</rdf:RDF>
<http://sws.geonames.org/2988507/> <http://schema.org/name> "Parigi"@it .
<http://sws.geonames.org/2988507/> <http://schema.org/name> "Paris"@en .
| p. 22
N-Triples vs Notation3 (N3)
@prefix schema: <http://schema.org/> .
<http://sws.geonames.org/2988507/> schema:name "Paris"@en, "Parigi"@it .
<http://sws.geonames.org/2988507/> <http://schema.org/name> "Parigi"@it .
<http://sws.geonames.org/2988507/> <http://schema.org/name> "Paris"@en .
| p. 23
JSON-LD
{
"@context": {
"schema": "http://schema.org/",
},
"@id": "http://sws.geonames.org/2988507/",
"schema:name": [
{
"@language": "it",
"@value": "Parigi"
},
{
"@language": "en",
"@value": "Paris"
}
]
}
| p. 24
 Kan in klassieke RDBMS (MySQL, PostgreSQL)
 Performantie-issues
 “Hybride” databases
 OpenLink Virtuoso
 Oracle Spatial and Graph
 Gespecialiseerde “stores”
 Jena TDB / Sesame SDB
 StarDog
Opslag / triple stores
| p. 25
 SPARQL
 Lijkt wat op SQL
 SELECT … WHERE / FILTER... ORDER BY …
 Kan externe informatie ophalen (FROM)
 SPARQL Update
 (Linked Data Fragments)
 Of via product-specifieke API
 Vaak handiger / performanter, maar weinig “portable”
Queries / Updates
Libraries en tools
| p. 27
 RDFLib (Python)
 https://pypi.python.org/pypi/rdflib
 Redland RDF (PHP, Python, C, Ruby)
 http://librdf.org
 Apache Jena (Java)
 https://jena.apache.org
 RDF4j / Sesame (Java)
 http://rdf4j.org
Libraries
| p. 28
 iMinds RML (RDF Mapping Language)
 RDBMS, JSON files… mappen naar RDF
 http://rml.io
 En nog veel meer
 http://www.w3.org/wiki/ConverterToRdf
Conversietools
| p. 29
 W3C RDF Validator
 http://www.w3.org/RDF/Validator/
 Omzetten RDF/XML <=> JSON-LD <=> …
 http://rdf-translator.appspot.com
Online tools
| p. 30
 Herbruikbare taxonomies / schema's …
 http://publications.europa.eu/mdr/authority/
 http://schema.org/docs/schemas.html
 http://lov.okfn.org/dataset/lov/
 Documentatie
 https://code.google.com/p/tdwg-rdf/wiki/Beginners
 http://www.w3.org/TR/rdf-primer/
Linken
Vragen ?
Bedankt !
Bart Hanssens / Fedict
WTC III, Simon Bolivarlaan 30
1000 Brussel, België
@BartHanssens
bart.hanssens [at] fedict.be | www.fedict.belgium.be

Contenu connexe

Similaire à Introductie RDF

Flagis linked open_data_bart_delathouwer
Flagis linked open_data_bart_delathouwerFlagis linked open_data_bart_delathouwer
Flagis linked open_data_bart_delathouwerFlagis VZW
 
Linked Open Netwerken
Linked Open NetwerkenLinked Open Netwerken
Linked Open NetwerkenEnno Meijers
 
Haalbaarheidsstudie MMLAB en MICT
Haalbaarheidsstudie MMLAB en MICTHaalbaarheidsstudie MMLAB en MICT
Haalbaarheidsstudie MMLAB en MICTFARO
 
The DataTank, RML and Domain Modelling
The DataTank, RML and Domain ModellingThe DataTank, RML and Domain Modelling
The DataTank, RML and Domain ModellingLaurens De Vocht
 
Presentatie Inleiding en ontwerpen voor het semantische web (Leo Meerman)
Presentatie Inleiding en ontwerpen voor het semantische web (Leo Meerman)Presentatie Inleiding en ontwerpen voor het semantische web (Leo Meerman)
Presentatie Inleiding en ontwerpen voor het semantische web (Leo Meerman)GO opleidingen
 
Onder de motorkap van Web 3.0
Onder de motorkap van Web 3.0Onder de motorkap van Web 3.0
Onder de motorkap van Web 3.0Freek Bijl
 
Metadata, standaarden, interoperabiliteit, semantisch web en linked data
Metadata, standaarden, interoperabiliteit, semantisch web en linked dataMetadata, standaarden, interoperabiliteit, semantisch web en linked data
Metadata, standaarden, interoperabiliteit, semantisch web en linked dataEric Sieverts
 

Similaire à Introductie RDF (9)

Flagis linked open_data_bart_delathouwer
Flagis linked open_data_bart_delathouwerFlagis linked open_data_bart_delathouwer
Flagis linked open_data_bart_delathouwer
 
Rda UGent20110929
Rda UGent20110929Rda UGent20110929
Rda UGent20110929
 
20191114 ECP Jaarcongres 2019 - PLDN en Linked Data Intro
20191114 ECP Jaarcongres 2019 -  PLDN en Linked Data Intro20191114 ECP Jaarcongres 2019 -  PLDN en Linked Data Intro
20191114 ECP Jaarcongres 2019 - PLDN en Linked Data Intro
 
Linked Open Netwerken
Linked Open NetwerkenLinked Open Netwerken
Linked Open Netwerken
 
Haalbaarheidsstudie MMLAB en MICT
Haalbaarheidsstudie MMLAB en MICTHaalbaarheidsstudie MMLAB en MICT
Haalbaarheidsstudie MMLAB en MICT
 
The DataTank, RML and Domain Modelling
The DataTank, RML and Domain ModellingThe DataTank, RML and Domain Modelling
The DataTank, RML and Domain Modelling
 
Presentatie Inleiding en ontwerpen voor het semantische web (Leo Meerman)
Presentatie Inleiding en ontwerpen voor het semantische web (Leo Meerman)Presentatie Inleiding en ontwerpen voor het semantische web (Leo Meerman)
Presentatie Inleiding en ontwerpen voor het semantische web (Leo Meerman)
 
Onder de motorkap van Web 3.0
Onder de motorkap van Web 3.0Onder de motorkap van Web 3.0
Onder de motorkap van Web 3.0
 
Metadata, standaarden, interoperabiliteit, semantisch web en linked data
Metadata, standaarden, interoperabiliteit, semantisch web en linked dataMetadata, standaarden, interoperabiliteit, semantisch web en linked data
Metadata, standaarden, interoperabiliteit, semantisch web en linked data
 

Plus de Bart Hanssens

OpenFed, a Drupal distribution
OpenFed, a Drupal distributionOpenFed, a Drupal distribution
OpenFed, a Drupal distributionBart Hanssens
 
Open Summer of Code in Belgium
Open Summer of Code in BelgiumOpen Summer of Code in Belgium
Open Summer of Code in BelgiumBart Hanssens
 
Open Belgium 2022: Prepare To Code
Open Belgium 2022: Prepare To CodeOpen Belgium 2022: Prepare To Code
Open Belgium 2022: Prepare To CodeBart Hanssens
 
Werkgroep metadata: INSPIRE - DCAT-AP mapping
Werkgroep metadata: INSPIRE - DCAT-AP mappingWerkgroep metadata: INSPIRE - DCAT-AP mapping
Werkgroep metadata: INSPIRE - DCAT-AP mappingBart Hanssens
 
Quarkus, Jib én OpenJ9
Quarkus, Jib én OpenJ9Quarkus, Jib én OpenJ9
Quarkus, Jib én OpenJ9Bart Hanssens
 
Open Data at the Federal Level 2021
Open Data at the Federal Level 2021Open Data at the Federal Level 2021
Open Data at the Federal Level 2021Bart Hanssens
 
Open Data workshop Agoria ICT
Open Data workshop Agoria ICTOpen Data workshop Agoria ICT
Open Data workshop Agoria ICTBart Hanssens
 
Atelier Open Data / Agoria ICT
Atelier Open Data / Agoria ICTAtelier Open Data / Agoria ICT
Atelier Open Data / Agoria ICTBart Hanssens
 
Open Source and Open Data
Open Source and Open DataOpen Source and Open Data
Open Source and Open DataBart Hanssens
 
Open Community Projects
Open Community ProjectsOpen Community Projects
Open Community ProjectsBart Hanssens
 
From webform to API using microframeworks
From webform to API using microframeworksFrom webform to API using microframeworks
From webform to API using microframeworksBart Hanssens
 
Linked Data: Introductie
Linked Data: IntroductieLinked Data: Introductie
Linked Data: IntroductieBart Hanssens
 
Open data, what's cooking at the federal level 2020
Open data, what's cooking at the federal level 2020Open data, what's cooking at the federal level 2020
Open data, what's cooking at the federal level 2020Bart Hanssens
 
BOSA DG DT: opendata et intégrateur de services
BOSA DG DT: opendata et intégrateur de servicesBOSA DG DT: opendata et intégrateur de services
BOSA DG DT: opendata et intégrateur de servicesBart Hanssens
 
Local and Regional digital transformation in Belgium
Local and Regional digital transformation in BelgiumLocal and Regional digital transformation in Belgium
Local and Regional digital transformation in BelgiumBart Hanssens
 
Voordeel halen uit zoekmachines en semantic web
Voordeel halen uit zoekmachines en semantic webVoordeel halen uit zoekmachines en semantic web
Voordeel halen uit zoekmachines en semantic webBart Hanssens
 

Plus de Bart Hanssens (20)

OpenFed, a Drupal distribution
OpenFed, a Drupal distributionOpenFed, a Drupal distribution
OpenFed, a Drupal distribution
 
Open Summer of Code in Belgium
Open Summer of Code in BelgiumOpen Summer of Code in Belgium
Open Summer of Code in Belgium
 
Open Belgium 2022: Prepare To Code
Open Belgium 2022: Prepare To CodeOpen Belgium 2022: Prepare To Code
Open Belgium 2022: Prepare To Code
 
Werkgroep metadata: INSPIRE - DCAT-AP mapping
Werkgroep metadata: INSPIRE - DCAT-AP mappingWerkgroep metadata: INSPIRE - DCAT-AP mapping
Werkgroep metadata: INSPIRE - DCAT-AP mapping
 
Overzicht DCAT-AP
Overzicht DCAT-APOverzicht DCAT-AP
Overzicht DCAT-AP
 
Quarkus, Jib én OpenJ9
Quarkus, Jib én OpenJ9Quarkus, Jib én OpenJ9
Quarkus, Jib én OpenJ9
 
Open Data at the Federal Level 2021
Open Data at the Federal Level 2021Open Data at the Federal Level 2021
Open Data at the Federal Level 2021
 
Open Data workshop Agoria ICT
Open Data workshop Agoria ICTOpen Data workshop Agoria ICT
Open Data workshop Agoria ICT
 
Atelier Open Data / Agoria ICT
Atelier Open Data / Agoria ICTAtelier Open Data / Agoria ICT
Atelier Open Data / Agoria ICT
 
Open Source and Open Data
Open Source and Open DataOpen Source and Open Data
Open Source and Open Data
 
Données ouvertes
Données ouvertesDonnées ouvertes
Données ouvertes
 
Open Data
Open DataOpen Data
Open Data
 
Open Community Projects
Open Community ProjectsOpen Community Projects
Open Community Projects
 
From webform to API using microframeworks
From webform to API using microframeworksFrom webform to API using microframeworks
From webform to API using microframeworks
 
Linked Data: Introductie
Linked Data: IntroductieLinked Data: Introductie
Linked Data: Introductie
 
JavaVMs en GraalVM
JavaVMs en GraalVMJavaVMs en GraalVM
JavaVMs en GraalVM
 
Open data, what's cooking at the federal level 2020
Open data, what's cooking at the federal level 2020Open data, what's cooking at the federal level 2020
Open data, what's cooking at the federal level 2020
 
BOSA DG DT: opendata et intégrateur de services
BOSA DG DT: opendata et intégrateur de servicesBOSA DG DT: opendata et intégrateur de services
BOSA DG DT: opendata et intégrateur de services
 
Local and Regional digital transformation in Belgium
Local and Regional digital transformation in BelgiumLocal and Regional digital transformation in Belgium
Local and Regional digital transformation in Belgium
 
Voordeel halen uit zoekmachines en semantic web
Voordeel halen uit zoekmachines en semantic webVoordeel halen uit zoekmachines en semantic web
Voordeel halen uit zoekmachines en semantic web
 

Introductie RDF

  • 1. Introductie RDF Fedict – Brussel – 5 november 2015
  • 2. | p. 2  Introductie  Triples en identifiers  Vocabularies en schema's  RDF opslaan en opvragen  Libraries en tools  Vragen Agenda
  • 4. | p. 4  Geschiedenis  1995-1998 (Apple, Netscape)  1999: V1.0 (W3C)  2014: V1.1  Oorspronkelijk alleen maar metadata-model  Later algemeen  “Statements” over “resources”  Focus semantic web / bronnen op het www Resource Description Framework
  • 7. | p. 7  Triple: subject – predicate – object  <A> <heeft relatie W met> <B>  <B> <heeft eigenschap Y met waarde> <F>  <B> <heeft eigenschap Z met waarde> <G>  Kunnen weer verder wijzen  Kunnen eigenschappen hebben  (Meertalige) labels, datums, nummers... Graphs (2)
  • 8. | p. 8  Eenvoudig  <Julie> <gaat naar> <Parijs>  Verder uitgewerkt  <PersoonX> <is een> <Persoon>  <PersoonX> <heeft als naam> <Julie>  <PersoonX> <neemt de trein naar> <StadY>  <StadY> <is een> <Stad>  <StadY> <heeft als naam> <Parijs> Triples: voorbeeld
  • 9. | p. 9  Parijs: Stad ? Departement ? Persoon ?  => identifiers  URI (IRI in RDF 1.1)  Uniform Resource Identifier  Kan eruit zien als link naar webpagina (URL)  Niet verplicht  mailto:info@fedict.be  http://id.fedict.be/12345  Eigen identifiers, of linken naar bestaande Identifiers
  • 10. | p. 10  Geonames.org: referentie naar plaatsnamen  http://sws.geonames.org/2988507/  Basis semantisch web / linked (open) data  Dereferencing: ophalen extra info  Met RDF die weer linken naar andere resources heeft  Die weer gedownload kunnen worden etc Identifiers: gebruik en linken
  • 11. | p. 11  Zelf identifier / URI uitvinden  Of “blank node” gebruiken  Wel een interne ID, maar geen URI  Kan dus niet naar verwezen worden van buitenaf  Aandachtspunt bij samenvoegen bronnen Wat als er geen identifier bestaat ?
  • 12. | p. 12 Voorbeeld: stad met naam Parijs http://sws.geonames.org/2988507/ “Parijs” (NL) “Parigi” (IT) Heeft naam Heeft naam Stad Is een
  • 14. | p. 14  Relaties / classes krijgen ook identifiers  <heeft naam>, <is een>, …  => Vocabularies / ontologies  RDF Schema (RDFS)  Web Ontology Language (OWL)  Hergebruik ook hier weer sterk aangeraden ! Identifiers voor relaties, classes...
  • 15. | p. 15  Classes en subclasses  “City” is een subclass van klasse “Place”  Domain => Range  “Persoon” = is een inwoner van => “Place”  Properties en subproperties  Eigenschappen  Literals  Bepaald type (int, date..) of meertalige labels (strings) RDFS
  • 16. | p. 16  Dublin Core Terms: basis-metadata  Document, titel, auteur, beschrijving...  DOAP: beschrijving van (software) projecten  DCAT-AP: metadata open data portalen  Catalog, Dataset...  (EU) Core Vocabularies: o.a. services  SKOS: thesauri Vocabularies, schema's: voorbeelden
  • 17. | p. 17 Voorbeeld: stad met naam Parijs (2) http://sws.geonames.org/2988507/ “Parijs” (NL) http://schema.org/name http://schema.org/City http://www.w3.org/1999/02/22-rdf-syntax-ns#type
  • 18. RDF opslaan en opvragen
  • 19. | p. 19  Semantic Web / Linked Open Data  De facto standaard  Graphs  Minder geschikt voor  Eenvoudige config files => tekst / INI / properties files  Document-achtige structuren => XML / HTML  Grote hoeveelheden tabulaire data => RDBMS Wanneer RDF (of niet)
  • 20. | p. 20  RDF als  RDF/XML  RDFa (in HTML)  N3 / N-Triples / Turtle  JSON-LD  Equivalent  Keuze hangt vooral af van beschikbare tools  Performantie / capaciteit Meerdere notaties / formaten
  • 21. | p. 21 RDF/XML vs N-Triples <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:schema="http://schema.org/"> <rdf:Description rdf:about="http://sws.geonames.org/2988507/"> <schema:name xml:lang="en">Paris</schema:name> <schema:name xml:lang=”it”>Parigi</schema:name> </rdf:Description> </rdf:RDF> <http://sws.geonames.org/2988507/> <http://schema.org/name> "Parigi"@it . <http://sws.geonames.org/2988507/> <http://schema.org/name> "Paris"@en .
  • 22. | p. 22 N-Triples vs Notation3 (N3) @prefix schema: <http://schema.org/> . <http://sws.geonames.org/2988507/> schema:name "Paris"@en, "Parigi"@it . <http://sws.geonames.org/2988507/> <http://schema.org/name> "Parigi"@it . <http://sws.geonames.org/2988507/> <http://schema.org/name> "Paris"@en .
  • 23. | p. 23 JSON-LD { "@context": { "schema": "http://schema.org/", }, "@id": "http://sws.geonames.org/2988507/", "schema:name": [ { "@language": "it", "@value": "Parigi" }, { "@language": "en", "@value": "Paris" } ] }
  • 24. | p. 24  Kan in klassieke RDBMS (MySQL, PostgreSQL)  Performantie-issues  “Hybride” databases  OpenLink Virtuoso  Oracle Spatial and Graph  Gespecialiseerde “stores”  Jena TDB / Sesame SDB  StarDog Opslag / triple stores
  • 25. | p. 25  SPARQL  Lijkt wat op SQL  SELECT … WHERE / FILTER... ORDER BY …  Kan externe informatie ophalen (FROM)  SPARQL Update  (Linked Data Fragments)  Of via product-specifieke API  Vaak handiger / performanter, maar weinig “portable” Queries / Updates
  • 27. | p. 27  RDFLib (Python)  https://pypi.python.org/pypi/rdflib  Redland RDF (PHP, Python, C, Ruby)  http://librdf.org  Apache Jena (Java)  https://jena.apache.org  RDF4j / Sesame (Java)  http://rdf4j.org Libraries
  • 28. | p. 28  iMinds RML (RDF Mapping Language)  RDBMS, JSON files… mappen naar RDF  http://rml.io  En nog veel meer  http://www.w3.org/wiki/ConverterToRdf Conversietools
  • 29. | p. 29  W3C RDF Validator  http://www.w3.org/RDF/Validator/  Omzetten RDF/XML <=> JSON-LD <=> …  http://rdf-translator.appspot.com Online tools
  • 30. | p. 30  Herbruikbare taxonomies / schema's …  http://publications.europa.eu/mdr/authority/  http://schema.org/docs/schemas.html  http://lov.okfn.org/dataset/lov/  Documentatie  https://code.google.com/p/tdwg-rdf/wiki/Beginners  http://www.w3.org/TR/rdf-primer/ Linken
  • 32. Bedankt ! Bart Hanssens / Fedict WTC III, Simon Bolivarlaan 30 1000 Brussel, België @BartHanssens bart.hanssens [at] fedict.be | www.fedict.belgium.be