SlideShare a Scribd company logo
1 of 23
Introduction to the
RDF Data Model
Sources:
Ian Davis (Talis),
Prof. Praveen Rao (UMKC),
http://rdfabout.com/

1
Introduction
•

RDF stands for Resource Description Framework

•
•

•
•

Companies developing RDF storage solutions
AllegroGraph, Virtuoso, BigOWLIM, Garlik 4store/5store, Mulgara, etc.

Companies managing data using RDF model

•
•

•

W3C spec: http://www.w3.org/RDF/

1st spec in 1999, current standard from 2004

•

•

Is a data model (like XML)

BBC, Google, Yahoo!, Best Buy, Newsweek, Pfizer, etc.
http://data.nytimes.com/home/about.html

To allow anyone to say anything about anything
2
The Relational Model

3
RDF Data Model
• RDF represents data as (s,p,o) triples
•
•

s means subject, p means predicate or property, o means object
Can represent any assertion

•

•

An assertion may or may not be a fact

Together, triples form a directed, labeled graph

4
Example

5
Example
• Relationship between entities/resources

6
Global Naming
•
•
•

•
•

URIs (!= URLs) provide the ability to identify things globally
and uniquely
RDF names things/resources with URIs
Can name infinite number of things using URIs

•

Can use the fragment identifier ‘#’

Create different URIs for different things
If two users refer to the same URI, then they are talking
about the same thing

7
RDF Graphs
• Can have named things, literals (text or numeric
values), named relations/properties, unnamed things…

8
RDF Graphs

• Subjects can be URIs or unnamed
(a.k.a blank nodes)

• Predicates are URIs
• Objects can be URIs, literals, or unnamed
9
Merging RDF Graphs
• Graphs from different sources can be merged
• Nodes with the same URI are considered identical
• Blank nodes can be kept separate
• Any RDF graph can be merged with any other RDF graph
• Any number of RDF graphs can be merged

10
Example (1/2)

11
Example (2/2)

12
RDF vs. RDBMS

• Relational (RDBMS) model
•
•
•
•

Separate databases with own schemas
Table row: assertion that relation is true for values in row
SELECT query: filter on assertions for given conditions
A relation is true (row exists) or false

• RDF model
•
•
•

(Semantic) Web: a single giant graph database
s, p, o identified uniquely with URIs across the web

A relation is true (triple exists) or is unknown

• RDF more like OO model than RDBMS
13
RDF vs. RDBMS example
foaf:name (predicate/property)
subject

object

_:personA

“John”

_:personB

“Jane”

_:personC

“Fred”

RDF triples expressed as binary relations in RDBMS

14
RDF vs XML
• Not another XML format
• XML means
•
•

Angle-brackets-slashes notation (think HTML)

Data model: tree (DAG) with different nodes
(elements, attributes)

• RDF means
•
•

Notation: RDF/XML, Turtle, N-triples etc.

Data model: directed graph, uses URIs

15
RDF Formats
• All are plain-text serialization formats
• RDF/XML: XML notation
• Notation3 (N3): superset of TTL, beyond RDF
• Turtle (TTL): subset of N3, used only for RDF
• N-Triples (NT), N-Quads (NQ): subset of TTL and N3
•
•

Simpler/minimal
Easier to parse/generate

16
Turtle

• Terse RDF Triple Language (TTL)
• Triples are terminated with a full stop
• URIs are enclosed in angle brackets (< and >)
• Literals are enclosed by double quotes
• <http://example.com/thing>
<http://example.com/relation> “Hello World" .

• Use @PREFIX to shorten URIs
•
•

@PREFIX ex: <http://example.com/> .
ex:thing ex:relation “Hello World" .
17
Turtle: Same Subject
@PREFIX ex: <http://example.com/> .
ex:thing ex:relation "Some Text" .
ex:thing ex:otherrelation ex:otherthing .

@PREFIX ex: <http://example.com/> .
ex:thing ex:relation "Some Text" ;
ex:otherrelation ex:otherthing .
18
Turtle: Same Subject-Predicate
@PREFIX ex: <http://example.com/> .
ex:thing ex:relation "Some Text" .
ex:thing ex:relation ex:otherthing .

@PREFIX ex: <http://example.com/> .
ex:thing ex:relation "Some Text" ,
ex:otherthing .

19
Turtle: Blank Node
@PREFIX ex: <http://example.com/> .
ex:thing ex:relation _:a .
_:a ex:property "foo" .
_:a ex:property "bar” .

• Use _: followed by a label
• ‘a’ is the label – valid only within that particular RDF
document

• If _a: appears in a different document, it would refer
to a different node
20
Turtle: Literals
• Literals can have a language
@PREFIX ex: <http://example.com/> .
ex:thing ex:relation "Hello"@en .
ex:thing ex:relation "Bonjour"@fr .

• Literals can have a datatype
@PREFIX ex: <http://example.com/> .
ex:thing ex:relation "49"^^<http://www.w3.org/2001/XMLSchema#int> .

• But not both!
21
Vendor 1:

Vendors example

vendor1:productX

dc:title "Cool-O-Matic" .

vendor1:productX

retail:price

vendor1:productX

vendor1:partno

vendor1:productY

dc:title "Fluffertron" .

vendor1:productY

retail:price

vendor1:productY

vendor1:partno

"$50.75" .
"TTK583" .

"$26.50" .
"AAL132" .

Vendor 2:
vendor2:product1

dc:title "Can Closer" .

vendor2:product2

dc:title "Dust Unbuster" .

Reviewer 1:
vendor1:productX

dc:description "This product is good buy!" .

Reviewer 2:
vendor2:product2 dc:description "Who needs something to unbust dust?
A dust buster would be a better idea,
and I wish they posted the price." .
vendor2:product2 review:rating review:Excellent .

22
Links
• Government (US, UK), Wikipedia, World Bank, U.S.
Census, U.S. SEC, NYTimes, etc.

•
•
•

http://www.w3.org/wiki/DataSetRDFDumps
http://data.nytimes.com/
http://data.gov.uk/

• http://librdf.org/parse
• http://www.rdfabout.com/demo/validator/

23

More Related Content

What's hot

SWT Lecture Session 6 - RDFS semantics, inference techniques, sesame rdfs
SWT Lecture Session 6 - RDFS semantics, inference techniques, sesame rdfsSWT Lecture Session 6 - RDFS semantics, inference techniques, sesame rdfs
SWT Lecture Session 6 - RDFS semantics, inference techniques, sesame rdfs
Mariano Rodriguez-Muro
 
Semantic Pipes and Semantic Mashups
Semantic Pipes and Semantic MashupsSemantic Pipes and Semantic Mashups
Semantic Pipes and Semantic Mashups
giurca
 

What's hot (20)

SWT Lecture Session 8 - Rules
SWT Lecture Session 8 - RulesSWT Lecture Session 8 - Rules
SWT Lecture Session 8 - Rules
 
Understanding RDF: the Resource Description Framework in Context (1999)
Understanding RDF: the Resource Description Framework in Context  (1999)Understanding RDF: the Resource Description Framework in Context  (1999)
Understanding RDF: the Resource Description Framework in Context (1999)
 
20110728 datalift-rpi-troy
20110728 datalift-rpi-troy20110728 datalift-rpi-troy
20110728 datalift-rpi-troy
 
Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDF
 
DLF 2015 Presentation, "RDF in the Real World."
DLF 2015 Presentation, "RDF in the Real World." DLF 2015 Presentation, "RDF in the Real World."
DLF 2015 Presentation, "RDF in the Real World."
 
Fedora Migration Considerations
Fedora Migration ConsiderationsFedora Migration Considerations
Fedora Migration Considerations
 
Hack U Barcelona 2011
Hack U Barcelona 2011Hack U Barcelona 2011
Hack U Barcelona 2011
 
Datalift a-catalyser-for-the-web-of-data-fosdem-05-02-2011
Datalift a-catalyser-for-the-web-of-data-fosdem-05-02-2011Datalift a-catalyser-for-the-web-of-data-fosdem-05-02-2011
Datalift a-catalyser-for-the-web-of-data-fosdem-05-02-2011
 
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked DataAn introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
 
5 rdfs
5 rdfs5 rdfs
5 rdfs
 
Another RDF Encoding Form
Another RDF Encoding FormAnother RDF Encoding Form
Another RDF Encoding Form
 
FedX - Optimization Techniques for Federated Query Processing on Linked Data
FedX - Optimization Techniques for Federated Query Processing on Linked DataFedX - Optimization Techniques for Federated Query Processing on Linked Data
FedX - Optimization Techniques for Federated Query Processing on Linked Data
 
An Introduction to RDF and the Web of Data
An Introduction to RDF and the Web of DataAn Introduction to RDF and the Web of Data
An Introduction to RDF and the Web of Data
 
SWT Lecture Session 3 - SPARQL
SWT Lecture Session 3 - SPARQLSWT Lecture Session 3 - SPARQL
SWT Lecture Session 3 - SPARQL
 
SWT Lecture Session 6 - RDFS semantics, inference techniques, sesame rdfs
SWT Lecture Session 6 - RDFS semantics, inference techniques, sesame rdfsSWT Lecture Session 6 - RDFS semantics, inference techniques, sesame rdfs
SWT Lecture Session 6 - RDFS semantics, inference techniques, sesame rdfs
 
VALA Tech Camp 2017: Intro to Wikidata & SPARQL
VALA Tech Camp 2017: Intro to Wikidata & SPARQLVALA Tech Camp 2017: Intro to Wikidata & SPARQL
VALA Tech Camp 2017: Intro to Wikidata & SPARQL
 
Name That Graph !
Name That Graph !Name That Graph !
Name That Graph !
 
Rdf In A Nutshell V1
Rdf In A Nutshell V1Rdf In A Nutshell V1
Rdf In A Nutshell V1
 
Semantic Pipes and Semantic Mashups
Semantic Pipes and Semantic MashupsSemantic Pipes and Semantic Mashups
Semantic Pipes and Semantic Mashups
 
Federated SPARQL query processing over the Web of Data
Federated SPARQL query processing over the Web of DataFederated SPARQL query processing over the Web of Data
Federated SPARQL query processing over the Web of Data
 

Similar to Introduction to RDF Data Model

It's not rocket surgery - Linked In: ALA 2011
It's not rocket surgery - Linked In: ALA 2011It's not rocket surgery - Linked In: ALA 2011
It's not rocket surgery - Linked In: ALA 2011
Ross Singer
 
Lecture linked data cloud & sparql
Lecture linked data cloud & sparqlLecture linked data cloud & sparql
Lecture linked data cloud & sparql
Dhavalkumar Thakker
 
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
Josef Petrák
 
Bringing It All Together: Mapping Continuing Resources Vocabularies for Linke...
Bringing It All Together: Mapping Continuing Resources Vocabularies for Linke...Bringing It All Together: Mapping Continuing Resources Vocabularies for Linke...
Bringing It All Together: Mapping Continuing Resources Vocabularies for Linke...
NASIG
 

Similar to Introduction to RDF Data Model (20)

Publishing and Using Linked Open Data - Day 2
Publishing and Using Linked Open Data - Day 2Publishing and Using Linked Open Data - Day 2
Publishing and Using Linked Open Data - Day 2
 
Danbri Drupalcon Export
Danbri Drupalcon ExportDanbri Drupalcon Export
Danbri Drupalcon Export
 
Semantic Web introduction
Semantic Web introductionSemantic Web introduction
Semantic Web introduction
 
Graph databases & data integration v2
Graph databases & data integration v2Graph databases & data integration v2
Graph databases & data integration v2
 
It's not rocket surgery - Linked In: ALA 2011
It's not rocket surgery - Linked In: ALA 2011It's not rocket surgery - Linked In: ALA 2011
It's not rocket surgery - Linked In: ALA 2011
 
First Steps in Semantic Data Modelling and Search & Analytics in the Cloud
First Steps in Semantic Data Modelling and Search & Analytics in the CloudFirst Steps in Semantic Data Modelling and Search & Analytics in the Cloud
First Steps in Semantic Data Modelling and Search & Analytics in the Cloud
 
Introduction to RDFa
Introduction to RDFaIntroduction to RDFa
Introduction to RDFa
 
Lecture linked data cloud & sparql
Lecture linked data cloud & sparqlLecture linked data cloud & sparql
Lecture linked data cloud & sparql
 
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
 
Bringing It All Together: Mapping Continuing Resources Vocabularies for Linke...
Bringing It All Together: Mapping Continuing Resources Vocabularies for Linke...Bringing It All Together: Mapping Continuing Resources Vocabularies for Linke...
Bringing It All Together: Mapping Continuing Resources Vocabularies for Linke...
 
RDFa Tutorial
RDFa TutorialRDFa Tutorial
RDFa Tutorial
 
SemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in PracticeSemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in Practice
 
Transforming Your Data with GraphDB: GraphDB Fundamentals, Jan 2018
Transforming Your Data with GraphDB: GraphDB Fundamentals, Jan 2018Transforming Your Data with GraphDB: GraphDB Fundamentals, Jan 2018
Transforming Your Data with GraphDB: GraphDB Fundamentals, Jan 2018
 
Publishing data on the Semantic Web
Publishing data on the Semantic WebPublishing data on the Semantic Web
Publishing data on the Semantic Web
 
Creating Web APIs with JSON-LD and RDF
Creating Web APIs with JSON-LD and RDFCreating Web APIs with JSON-LD and RDF
Creating Web APIs with JSON-LD and RDF
 
RDFa: an introduction
RDFa: an introductionRDFa: an introduction
RDFa: an introduction
 
RDF Data Model
RDF Data ModelRDF Data Model
RDF Data Model
 
Analysis on semantic web layer cake entities
Analysis on semantic web layer cake entitiesAnalysis on semantic web layer cake entities
Analysis on semantic web layer cake entities
 
Webofdata
WebofdataWebofdata
Webofdata
 
Publishing and Using Linked Open Data - Day 1
Publishing and Using Linked Open Data - Day 1 Publishing and Using Linked Open Data - Day 1
Publishing and Using Linked Open Data - Day 1
 

More from Cesar Augusto Nogueira

Palestrante OpenSource Java na Semana de Tecnologia da Informação da UFLA 2016
Palestrante OpenSource Java na Semana de Tecnologia da Informação da UFLA 2016Palestrante OpenSource Java na Semana de Tecnologia da Informação da UFLA 2016
Palestrante OpenSource Java na Semana de Tecnologia da Informação da UFLA 2016
Cesar Augusto Nogueira
 
Certificado de participação - Trilha Python - The Developers Conference 2016 SP
Certificado de participação - Trilha Python - The Developers Conference 2016 SPCertificado de participação - Trilha Python - The Developers Conference 2016 SP
Certificado de participação - Trilha Python - The Developers Conference 2016 SP
Cesar Augusto Nogueira
 
Certificado_Python_Brasil_11_Cesar Augusto Nogueira
Certificado_Python_Brasil_11_Cesar Augusto NogueiraCertificado_Python_Brasil_11_Cesar Augusto Nogueira
Certificado_Python_Brasil_11_Cesar Augusto Nogueira
Cesar Augusto Nogueira
 

More from Cesar Augusto Nogueira (20)

TI para o Sucesso nos Negócios
TI para o Sucesso nos NegóciosTI para o Sucesso nos Negócios
TI para o Sucesso nos Negócios
 
Programa LeadingMyself - Accenture 2021
Programa LeadingMyself - Accenture 2021Programa LeadingMyself - Accenture 2021
Programa LeadingMyself - Accenture 2021
 
Professional Google Cloud Architect
Professional Google Cloud ArchitectProfessional Google Cloud Architect
Professional Google Cloud Architect
 
"Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ...
"Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ..."Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ...
"Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ...
 
Minando dados de sua cidade para sua comunidade
Minando dados de sua cidade para sua comunidadeMinando dados de sua cidade para sua comunidade
Minando dados de sua cidade para sua comunidade
 
Se tornando um desenvolvedor Java Ninja - Trilha Java - TDC2017
Se tornando um desenvolvedor Java Ninja - Trilha Java - TDC2017Se tornando um desenvolvedor Java Ninja - Trilha Java - TDC2017
Se tornando um desenvolvedor Java Ninja - Trilha Java - TDC2017
 
Treinamento: SAP Management 4.0 (Fundamentos em SAP nas principais transações...
Treinamento: SAP Management 4.0 (Fundamentos em SAP nas principais transações...Treinamento: SAP Management 4.0 (Fundamentos em SAP nas principais transações...
Treinamento: SAP Management 4.0 (Fundamentos em SAP nas principais transações...
 
Palestrante OpenSource Java na Semana de Tecnologia da Informação da UFLA 2016
Palestrante OpenSource Java na Semana de Tecnologia da Informação da UFLA 2016Palestrante OpenSource Java na Semana de Tecnologia da Informação da UFLA 2016
Palestrante OpenSource Java na Semana de Tecnologia da Informação da UFLA 2016
 
OpenSource Java - Adopt a JDK e OpenJDK
OpenSource Java - Adopt a JDK e OpenJDKOpenSource Java - Adopt a JDK e OpenJDK
OpenSource Java - Adopt a JDK e OpenJDK
 
Android Wear - Workshop por @cesarnogcps
Android Wear - Workshop por @cesarnogcpsAndroid Wear - Workshop por @cesarnogcps
Android Wear - Workshop por @cesarnogcps
 
Certificado de participação - Trilha Python - The Developers Conference 2016 SP
Certificado de participação - Trilha Python - The Developers Conference 2016 SPCertificado de participação - Trilha Python - The Developers Conference 2016 SP
Certificado de participação - Trilha Python - The Developers Conference 2016 SP
 
Docker e suas tecnologias
Docker e suas tecnologiasDocker e suas tecnologias
Docker e suas tecnologias
 
Docker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnogDocker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnog
 
Certificado de participação no Hackathon Globo 2016 - Cesar A. Nogueira
Certificado de participação no Hackathon Globo 2016 - Cesar A. NogueiraCertificado de participação no Hackathon Globo 2016 - Cesar A. Nogueira
Certificado de participação no Hackathon Globo 2016 - Cesar A. Nogueira
 
Certificado_Python_Brasil_11_Cesar Augusto Nogueira
Certificado_Python_Brasil_11_Cesar Augusto NogueiraCertificado_Python_Brasil_11_Cesar Augusto Nogueira
Certificado_Python_Brasil_11_Cesar Augusto Nogueira
 
First Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting IntroductionFirst Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting Introduction
 
Brazil Scientific Mobility Program guide 2013/2014
Brazil Scientific Mobility Program guide 2013/2014Brazil Scientific Mobility Program guide 2013/2014
Brazil Scientific Mobility Program guide 2013/2014
 
[BRAZIL] Science without Borders program description
[BRAZIL] Science without Borders program description[BRAZIL] Science without Borders program description
[BRAZIL] Science without Borders program description
 
Colégio Técnico de Campinas (COTUCA) 2013/2014
Colégio Técnico de Campinas (COTUCA) 2013/2014Colégio Técnico de Campinas (COTUCA) 2013/2014
Colégio Técnico de Campinas (COTUCA) 2013/2014
 
The Software Development Process
The Software Development ProcessThe Software Development Process
The Software Development Process
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Introduction to RDF Data Model

  • 1. Introduction to the RDF Data Model Sources: Ian Davis (Talis), Prof. Praveen Rao (UMKC), http://rdfabout.com/ 1
  • 2. Introduction • RDF stands for Resource Description Framework • • • • Companies developing RDF storage solutions AllegroGraph, Virtuoso, BigOWLIM, Garlik 4store/5store, Mulgara, etc. Companies managing data using RDF model • • • W3C spec: http://www.w3.org/RDF/ 1st spec in 1999, current standard from 2004 • • Is a data model (like XML) BBC, Google, Yahoo!, Best Buy, Newsweek, Pfizer, etc. http://data.nytimes.com/home/about.html To allow anyone to say anything about anything 2
  • 4. RDF Data Model • RDF represents data as (s,p,o) triples • • s means subject, p means predicate or property, o means object Can represent any assertion • • An assertion may or may not be a fact Together, triples form a directed, labeled graph 4
  • 6. Example • Relationship between entities/resources 6
  • 7. Global Naming • • • • • URIs (!= URLs) provide the ability to identify things globally and uniquely RDF names things/resources with URIs Can name infinite number of things using URIs • Can use the fragment identifier ‘#’ Create different URIs for different things If two users refer to the same URI, then they are talking about the same thing 7
  • 8. RDF Graphs • Can have named things, literals (text or numeric values), named relations/properties, unnamed things… 8
  • 9. RDF Graphs • Subjects can be URIs or unnamed (a.k.a blank nodes) • Predicates are URIs • Objects can be URIs, literals, or unnamed 9
  • 10. Merging RDF Graphs • Graphs from different sources can be merged • Nodes with the same URI are considered identical • Blank nodes can be kept separate • Any RDF graph can be merged with any other RDF graph • Any number of RDF graphs can be merged 10
  • 13. RDF vs. RDBMS • Relational (RDBMS) model • • • • Separate databases with own schemas Table row: assertion that relation is true for values in row SELECT query: filter on assertions for given conditions A relation is true (row exists) or false • RDF model • • • (Semantic) Web: a single giant graph database s, p, o identified uniquely with URIs across the web A relation is true (triple exists) or is unknown • RDF more like OO model than RDBMS 13
  • 14. RDF vs. RDBMS example foaf:name (predicate/property) subject object _:personA “John” _:personB “Jane” _:personC “Fred” RDF triples expressed as binary relations in RDBMS 14
  • 15. RDF vs XML • Not another XML format • XML means • • Angle-brackets-slashes notation (think HTML) Data model: tree (DAG) with different nodes (elements, attributes) • RDF means • • Notation: RDF/XML, Turtle, N-triples etc. Data model: directed graph, uses URIs 15
  • 16. RDF Formats • All are plain-text serialization formats • RDF/XML: XML notation • Notation3 (N3): superset of TTL, beyond RDF • Turtle (TTL): subset of N3, used only for RDF • N-Triples (NT), N-Quads (NQ): subset of TTL and N3 • • Simpler/minimal Easier to parse/generate 16
  • 17. Turtle • Terse RDF Triple Language (TTL) • Triples are terminated with a full stop • URIs are enclosed in angle brackets (< and >) • Literals are enclosed by double quotes • <http://example.com/thing> <http://example.com/relation> “Hello World" . • Use @PREFIX to shorten URIs • • @PREFIX ex: <http://example.com/> . ex:thing ex:relation “Hello World" . 17
  • 18. Turtle: Same Subject @PREFIX ex: <http://example.com/> . ex:thing ex:relation "Some Text" . ex:thing ex:otherrelation ex:otherthing . @PREFIX ex: <http://example.com/> . ex:thing ex:relation "Some Text" ; ex:otherrelation ex:otherthing . 18
  • 19. Turtle: Same Subject-Predicate @PREFIX ex: <http://example.com/> . ex:thing ex:relation "Some Text" . ex:thing ex:relation ex:otherthing . @PREFIX ex: <http://example.com/> . ex:thing ex:relation "Some Text" , ex:otherthing . 19
  • 20. Turtle: Blank Node @PREFIX ex: <http://example.com/> . ex:thing ex:relation _:a . _:a ex:property "foo" . _:a ex:property "bar” . • Use _: followed by a label • ‘a’ is the label – valid only within that particular RDF document • If _a: appears in a different document, it would refer to a different node 20
  • 21. Turtle: Literals • Literals can have a language @PREFIX ex: <http://example.com/> . ex:thing ex:relation "Hello"@en . ex:thing ex:relation "Bonjour"@fr . • Literals can have a datatype @PREFIX ex: <http://example.com/> . ex:thing ex:relation "49"^^<http://www.w3.org/2001/XMLSchema#int> . • But not both! 21
  • 22. Vendor 1: Vendors example vendor1:productX dc:title "Cool-O-Matic" . vendor1:productX retail:price vendor1:productX vendor1:partno vendor1:productY dc:title "Fluffertron" . vendor1:productY retail:price vendor1:productY vendor1:partno "$50.75" . "TTK583" . "$26.50" . "AAL132" . Vendor 2: vendor2:product1 dc:title "Can Closer" . vendor2:product2 dc:title "Dust Unbuster" . Reviewer 1: vendor1:productX dc:description "This product is good buy!" . Reviewer 2: vendor2:product2 dc:description "Who needs something to unbust dust? A dust buster would be a better idea, and I wish they posted the price." . vendor2:product2 review:rating review:Excellent . 22
  • 23. Links • Government (US, UK), Wikipedia, World Bank, U.S. Census, U.S. SEC, NYTimes, etc. • • • http://www.w3.org/wiki/DataSetRDFDumps http://data.nytimes.com/ http://data.gov.uk/ • http://librdf.org/parse • http://www.rdfabout.com/demo/validator/ 23

Editor's Notes

  1. Represent information about resources in the WWW and the relationships b/w themDesigned to represent knowledge in a distributed worldParticularly concerned with meaning
  2. Relation = tableTuple = rowAttribute = column
  3. URIs you see in RDF documents are merely verbose names for entities, nothing more
  4. As a set of statements (triples) vs. as a graph
  5. All (other than RDF/XML) are non-XML and are designed with human-readability in mindS,p,o,c
  6. RDF/XML, notation3, triples, turtle, ntriples, nquads
  7. RDF allows the vendors and reviewers to agree on what they need to agree on, without forcing anyone to use one particular vocabulary.Unconstraining while allowing the application to relate information together.Interoperability: v1’s format is interoperable with v2 even though didn’t have to agree on common meanings