SlideShare uma empresa Scribd logo
1 de 49
Baixar para ler offline
RDF Data Model
Departamento de Informática
Universidad de Oviedo
Jose Emilio Labra Gayo
More info
Validating RDF Data
Chapter 2. RDF ecosystem
http://book.validatingrdf.com/bookHtml008.html
Short history of RDF
RDF: Resource Description Framework
Around 1997 - PICS, Dublin core, Meta Content Framework
1997 1st Working draft https://www.w3.org/TR/WD-rdf-syntax-971002
RDF/XML
1999 1st W3C Rec https://www.w3.org/TR/1999/REC-rdf-syntax-19990222/
XML Syntax, first applications RSS, EARL
2004 - RDF Revised https://www.w3.org/TR/2004/REC-rdf-concepts-20040210/
Emergence of SPARQL, Turtle, Linked Data
2014 - RDF 1.1 https://www.w3.org/TR/rdf11-concepts/
SPARQL 1.1, JSON-LD
2017 - RDF validation: SHACL/ShEx
RDF Data Model
RDF is made from statements
Statment = a triple (subject, predicate, object)
Example:
http://example.org/alice
http://example.org/bob
http://schema.org/knows
subject predicate object
<http://example.org/alice> <http://schema.org/knows> <http://example.org/bob> .
N-Triples representation
subject object
predicate
Set of statements = RDF graph
RDF data model = directed graph
Example:
http://example.org/alice
ex:bob
http://example.org/carol
http://example.org/bob
http://schema.org/knows
http://schema.org/knows
http://schema.org/knows
http://schema.org/knows
N-triples representation
<http://example.org/alice> <http://schema.org/knows> <http://example.org/bob> .
<http://example.org/bob> <http://schema.org/knows> <http://example.org/carol> .
<http://example.org/carol> <http://schema.org/knows> <http://example.org/alice> .
<http://example.org/carol> <http://schema.org/knows> <http://example.org/bob> .
subject predicate object
Turtle notation
Human readable notation that simplifies N-Triples
Allows namespace declarations
<http://example.org/alice> <http://schema.org/knows> <http://example.org/bob> .
<http://example.org/bob> <http://schema.org/knows> <http://example.org/carol> .
<http://example.org/carol> <http://schema.org/knows> <http://example.org/alice> .
<http://example.org/carol> <http://schema.org/knows> <http://example.org/bob> .
prefix : <http://example.org/>
prefix schema: <http://schema.org/>
:alice schema:knows :bob .
:bob schema:knows :carol .
:carol schema:knows :bob .
:carol schema:knows :alice .
Turtle
N-Triples
Note:
We will see later other Turtle simplifications
Namespaces simplification
http://example.org/alice
ex:bob
http://example.org/carol
http://example.org/bob
http://schema.org/knows
http://schema.org/knows
http://schema.org/knows
http://schema.org/knows
:alice
ex:bob
:carol
:bob
schema:knows
schema:knows
schema:knows
schema:knows
RDF is compositional
RDF graphs can be merged to obtain a bigger graph
Automatic data integration
schema:knows
schema:knows
schema:knows
:alice
ex:bob
:carol
:bob
schema:knows
schema:birthPlace
:carol
schema:birthPlace
dbr:Oviedo
:bob
graph 1 graph 2
RDF is compositional
schema:birthPlaceschema:knows
schema:knows
schema:knows
:alice
ex:bob
:carol schema:birthPlace
dbr:Oviedo
:bob
schema:knows
graph 1 + graph 2
RDF graphs can be merged to obtain a bigger graph
Automatic data integration
Turtle syntax
Some simplifications
prefix declarations
; when triples share the subject
, when triples share subject and object
:alice schema:birthPlace dbr:Oviedo ;
schema:knows :bob .
:alice schema:birthPlace dbr:Oviedo .
:alice schema:knows :bob .
:alice schema:knows :alice .
:alice schema:knows :bob .
:carol schema:knows :alice, :bob .
Turtle syntax
Exercise: simplify
prefix : <http://example.org/>
prefix schema: <http://schema.org/>
prefix dbr: <http://dbpedia.org/resource>
:alice schema:knows :bob .
:bob schema:knows :carol .
:carol schema:knows :bob .
:carol schema:knows :alice .
:bob schema:birthPlace dbr:Spain .
:carol schema:birthPlace dbr:Spain .
prefix ex: <http://example.org/>
prefix schema: <http://schema.org/>
prefix dbr: <http://dbpedia.org/resource>
:alice schema:knows :bob , :carol.
:bob schema:knows :carol ;
schema:birthPlace dbr:Spain .
:carol schema:knows :bob, :alice ;
schema:birthPlace dbr:Spain .
Try it: https://tinyurl.com/y9wbdycp
RDF Literals
Objects can also be literals
Literals contain a lexical form and a datatype
Typical datatypes = XML Schema primitive datatypes
If not specified, a literal has datatype xsd:string
:bob
Robert
schema:name
1980-03-10
schema:birthDate
xsd:date
xsd:string
:bob schema:name "Robert" ;
:bob schema:birthDate "1980-03-10"^^<xsd:date>.
Turtle notation
prefix : <http://example.org/>
prefix schema: <http://schema.org/>
prefix dbr: <http://dbpedia.org/resource>
:alice schema:knows :bob , :carol.
:bob schema:knows :carol ;
schema:birthPlace dbr:Spain;
schema:name "Robert";
schema:birthDate "1980-03-10"^^<xsd:date>.
:carol schema:knows :bob, :alice ;
schema:birthPlace dbr:Spain .
Remember...RDF is compositional
Merging previous data
schema:birthPlace
schema:knows
schema:knows
schema:knows
:alice
ex:bob
:carol
dbr:Spain
schema:birthDate
:bob
Robert xsd:string
1980-03-10 xsd:date
schema:name
schema:knows
schema:birthPlace
Blank nodes
Subjects and objects can also be Blank nodes
:carol
schema:knows
23
:age
"Carol knows someone whose age is 23"
:carol schema:knows _:x .
_:x :age 23 .
:carol schema:knows [ :age 23 ] .
Turtle notation with local identifier
Turtle notation with square brackets
x(schema:knows(:carol,x)  :age(x, 23)
Mathematical meaning:
Blank nodes
ex:alice
ex:carol
schema:knows
schema:knows
schema:birthPlace
ex:dave
schema:birthPlace
:age 23 xsd:integerschema:knows
Alice knows someone who
knows Dave Carol knows someone whose
age is 23 that was born in the
same place as Dave
:alice schema:knows [ schema:knows :dave ] .
:carol schema:knows [ :age 23 ;
schema:birthPlace _:p ] .
:dave schema:birthPlace _:p .
Language tagged strings
String literals can be qualified by a language tag
They have datatype rdfs:langString
ex:spain rdfs:label "Spain"@en .
ex:spain rdfs:label "España"@es .ex:spain
Spain
rdfs:label
España
rdfs:label
es
en
Turtle notation
RDF data model
schema:knows
schema:knows
schema:knows
ex:alice
ex:bob
ex:carol
schema:birthPlace
dbr:Spain
schema:knows
schema:knows
schema:birthDate
ex:bob
Robert xsd:string
1980-03-10 xsd:date
schema:name
schema:birthPlace
schema:knows
ex:dave
schema:birthPlace
schema:age
23 xsd:integerschema:knows
Spain
rdfs:label
España
rdfs:label
es
en
3 types of nodes
URIs
Blank nodes
Literals
Subjects: URIs or Blank nodes
Objects: URIs, Blank nodes or literals
Predicates always URIs
schema:birthPlace
Example of RDF data
...and that's all about the RDF data model
The RDF Data model is very simple
RDF ecosystem
RDF Syntax
Shared entities and RDF vocabularies
Applications of RDF
Inference and ontologies
Query languages
RDF Validation
RDF syntax
First syntax based on XML: RDF/XML
N-Triples (enumerates all triples separated by dots)
Turtle (human readability)
JSON-LD
...other syntaxes...
RDF/XML
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://example.org/"
xmlns:schema="http://schema.org/">
<rdf:Description rdf:about="http://example.org/carol">
<schema:knows>
<rdf:Description rdf:about="http://example.org/bob">
<schema:knows rdf:resource="http://example.org/carol"/>
<schema:name>Robert</schema:name>
<schema:birthDate rdf:datatype="xsd:date">1980-03-10</schema:birthDate>
</rdf:Description>
</schema:knows>
<schema:knows>
<rdf:Description rdf:about="http://example.org/alice">
<schema:knows rdf:resource="http://example.org/bob"/>
<schema:knows rdf:resource="http://example.org/carol"/>
</rdf:Description>
</schema:knows>
<schema:knows rdf:parseType="Resource">
<age rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">23</age>
</schema:knows>
</rdf:Description>
</rdf:RDF>
First syntax
N-Triples
<http://example.org/carol> <http://schema.org/knows> <http://example.org/bob> .
<http://example.org/carol> <http://schema.org/knows> <http://example.org/alice> .
<http://example.org/carol> <http://schema.org/knows> _:x .
_:x <http://example.org/age> "23"^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://example.org/alice> <http://schema.org/knows> <http://example.org/bob> .
<http://example.org/alice> <http://schema.org/knows> <http://example.org/carol> .
<http://example.org/bob> <http://schema.org/knows> <http://example.org/carol> .
<http://example.org/bob> <http://schema.org/name> "Robert" .
<http://example.org/bob> <http://schema.org/birthDate> "1980-03-10"^^<xsd:date> .
For testing and easy parsing
...just triples separated by dots
Turtle
Concise
Designed to be human-readable
prefix : <http://example.org/>
prefix schema: <http://schema.org/>
:alice schema:knows :bob , :carol .
:bob schema:knows :carol ;
schema:name "Robert";
schema:birthDate "1980-03-10"^^<xsd:date>.
:carol schema:knows :bob, :alice ;
schema:knows [ :age 23 ] .
JSON-LD
Json for linked data
{
"@context" : {
"knows" : { "@id" : "http://schema.org/knows", "@type" : "@id" },
"age" : { "@id" : "http://example.org/age",
"@type" : "http://www.w3.org/2001/XMLSchema#integer" },
"name" : { "@id" : "http://schema.org/name" },
"birthDate" : { "@id" : "http://schema.org/birthDate", "@type" : "xsd:date" },
"@vocab" : "http://example.org/",
"schema" : "http://schema.org/"
},
"@graph" : [
{ "@id" : "http://example.org/alice",
"knows" : [ "http://example.org/bob", "http://example.org/carol" ] },
{ "@id" : "http://example.org/bob",
"birthDate" : "1980-03-10",
"knows" : "http://example.org/carol",
"name" : "Robert" },
{ "@id" : "http://example.org/carol",
"knows" : [ "http://example.org/bob", "http://example.org/alice", "_:x" ] },
{ "@id" : "_:x",
"http://example.org/age" : 23 }
]
}
Other Turtle simplifications
RDF type property
Numbers
Collections
RDF type property
The rdf:type property declares the type of a resource
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix schema: <http://schema.org/> .
e:alice rdf:type schema:Person .
e:bob rdf:type schema:Person .
@prefix schema: <http://schema.org/> .
:alice a schema:Person .
:bob a schema:Person .
rdf:type can be simplified as a
Constants
Numbers and boolean values can be represented without
quotes
They are parsed as XML Schema datatypes
Datatype Shorthand example Lexical example
xsd:integer 3 "3"^^xsd:integer
xsd:decimal -3.14 "true"^^xsd:decima
l
xsd:double 3.14e2 "true"^^xsd:double
xsd:boolean true "true"^^xsd:boolea
n
Collections
Ordered lists
:m23 schema:name "New York City Marathon ";
:results ( :dave :alice :bob ) .
:m23 schema:name "New York City Marathon ";
:results _:1 .
_:1 rdf:first :dave ;
rdf:next _:2 .
_:2 rdf:first :alice ;
rdf:next _:3 .
_:3 rdf:first :bob ;
rdf:next rdf:nil .
Internally, represented as linked lists
rdf:first
rdf:rest
rdf:rest
rdf:rest
schema:name
:m23
:results
New York City Marathon
rdf:nil
:bob
rdf:first :alice
:daverdf:first
Shared entities and vocabularies
The use of URIs instead of plain strings facilitates:
Merging data from heterogeneous sources
Avoid ambiguity
Challenge: Agreeing on common entities and properties
Appearance of some popular vocabularies:
schema.org: Joint effort from Google, Yahoo, Microsoft, Yandex
Linked open vocabularies Project: http://lov.okfn.org/
Some popular vocabularies and
namespaces
Alias URL Name Some properties
rdf: http://www.w3.org/1999/02/22-rdf-
syntax-ns#
RDF type, subject, predicate,
object,…
rdfs: http://www.w3.org/2000/01/rdf-
schema#
RDF Schema domain, range
Class, Property
subClassOf,…
owl: http://www.w3.org/2002/07/owl# OWL
Ontologías
sameAs, intersectionOf
unionOf, …
dc: http://purl.org/dc/elements/1.1/ Dublin Core author, date, creator, …
Schema: http://schema.org/ Schema.org name, knows, etc.
skos: http://www.w3.org/2008/05/skos# SKOS broader, narrower, …
Service http://prefix.cc can be used to find the most popular prefix for some URI
Applications of RDF
First applications
RDF & HTML: RDFa, Microdata
RDF to represent knowledge
RDF as a database
Linked data
First RDF applications
Some initiatives proposed by W3C
RSS 1.0 was proposed with an RDF/XML based
syntax
Other XML based versions were available
EARL: Evaluation and Reporting Language
RDF/XML adoption was not popular
RDF & HTML
Possibilities
One resource for HTML and another for metadata in RDF
RDFa: Use HTML attributes to encode RDF triples
Microdata: New HTML5 attributes can encode metadata
<p vocab="http://schema.org/"
typeof="Book"
about="http://example.org/book1">
The book
<span property="name">The Spring</span> by
<span property="author">Cervantes</span>
was published
<span property="datePublished"
content="2014-05-04">
last Saturday</span>.
</p>
<p itemscope
itemid="http://leer.com/libro123"
itemtype="http://schema.org/Book">
The book
<span itemprop="name">The Spring</span> by
<span itemprop="author">Cervantes</span>
was published
<time itemprop="datePublished"
content="2014-05-04">
last saturday</time>.
</p>
RDFa Microdata
RDF to represent knowledge
Freebase: developed by Metaweb (2005)
Open, shared database of world's knowledge
Acquired by Google in 2010. It is the basis of Google
knowledge graph
DBpedia (http://dbpedia.org)
Extracts knowledge from Wikipedia and converts it to
RDF
Wikidata (http://wikidata.org/)
Free knowledge base edited collaboratively
Developed by Wikimedia foundation
RDF as an internal database
Specialized RDF databases (triplestores)
RDF = very flexible, easy to adapt to domain
changes
Several big companies are using RDF internally
Example: BBC
RDF for Linked open data
Principles proposed by Tim Berners-Lee to publish
data:
1. Use URIs to denote things
2. Use HTTP URIs so that people can look up those
names
3. When someone looks up a URI, provide useful
information, using the standards (RDF*, SPARQL)
4. Include links to other URIs. so that they can
discover more things.
Linked open data (2017
Source: "Linking Open Data cloud diagram 2017, by Andrejs Abele, John P. McCrae, Paul Buitelaar, Anja Jentzsch and Richard Cyganiak. http://lod-cloud.net/"
RDFS & inferences
RDFS
Originally RDF Schema (2000)
Defines a vocabulary for common concepts
Classes: rdfs:Class, rdfs:Property,
rdfs:Literal
Properties: rdfs:domain, rdfs:range,
rdfs:subClassOf, ...
RDFS
RDFS processors can infer new triples
RDFS defines several rules for inference:
IF x rdf:type A AND A rdfs:subClassOf B
THEN x rdf:type B
:alice
:Lecturer
rdf:type
:Person
rdfs:subClassOf
rdf:type
OWL
Web Ontology Language.
First version (2004), OWL 2 (2009)
Based on description logics
Language to describe classes, individuals,
relationships
OWL example
<> a owl:Ontology .
:Man a owl:Class ;
owl:equivalentClass [
owl:intersectionOf (:Person
[ a owl:Restriction ;
owl:onProperty schema:gender ; owl:hasValue schema:Male
] )
] .
:Woman a owl:Class ;
owl:equivalentClass [
owl:intersectionOf ( :Person
[ a owl:Restriction ;
owl:onProperty schema:gender ; owl:hasValue schema:Female
] )
] .
[ a owl:AllDisjointClasses ; owl:members ( :Woman :Man ) ] .
:Person owl:equivalentClass [ rdf:type owl:Class ;
owl:unionOf ( :Woman :Man )
] .
:alice a :Woman ;
schema:gender schema:Female .
:bob a :Man .
:alice a :Person .
:bob a :Person .
:bob schema:gender schema:Male .
Instance data
Inferred data
OWL
OWL can been used to describe domain
ontologies
Different kinds of ontologies:
Upper level ontologies (SUMO, WordNet, ...)
Domain specific (example: SNOMED)
Tools to edit ontologies: Protégé editor
Myths about linked data
Too expensive
It's free
No one will want our data
It is not trendy
Too much openness
Our project will be a success
It is too expensive
Not really
It is possible to learn from previous experiences
Follow the lemma:
Separate content from presentation
Content: Information/data
Presentation: visual/aesthetic aspects
Try not to lose semantics
Content Presentation
It is free
...well, no
It requires to complement with visualizations
Only data = too restrained
Requires to define data models and URIs
Stable and cool URIs
Challenge of continuous updates
Take care of data pipelines
No one will be interested in our data
Just the opposite...our data = our treasure
Search engines index semantic content
schema.org Project (Google, Bing, Yandex,...)
If we help them  better SEO
Automatic processable data = more valuable data
Promote data culture
New business opportunities and applications
Government = catalyzer: Hackathons y similars...
It is not trendy...
Beware of trends in computer science...
Lots of technologies appear/dissapear
https://ablvienna.wordpress.com/2016/08/15/linked-data-the-next-5-years-from-hype-to-action/
Too much open
If we really believe in transparency...
We will pursue reusable data
Nevertheless...
It is useful to distinguish between:
Open data
Linked data
Public/private data
Aggregated data
Partially open data
Linked and closed data
...

Mais conteúdo relacionado

Mais procurados

Linked Data의 RDF 어휘 이해하고 체험하기 - FOAF, SIOC, SKOS를 중심으로 -
Linked Data의 RDF 어휘 이해하고 체험하기 - FOAF, SIOC, SKOS를 중심으로 -Linked Data의 RDF 어휘 이해하고 체험하기 - FOAF, SIOC, SKOS를 중심으로 -
Linked Data의 RDF 어휘 이해하고 체험하기 - FOAF, SIOC, SKOS를 중심으로 -Dongbum Kim
 
Semantic Web - Ontologies
Semantic Web - OntologiesSemantic Web - Ontologies
Semantic Web - OntologiesSerge Linckels
 
Jena – A Semantic Web Framework for Java
Jena – A Semantic Web Framework for JavaJena – A Semantic Web Framework for Java
Jena – A Semantic Web Framework for JavaAleksander Pohl
 
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 DataFabien Gandon
 
The Semantic Web #9 - Web Ontology Language (OWL)
The Semantic Web #9 - Web Ontology Language (OWL)The Semantic Web #9 - Web Ontology Language (OWL)
The Semantic Web #9 - Web Ontology Language (OWL)Myungjin Lee
 
RDFS In A Nutshell V1
RDFS In A Nutshell V1RDFS In A Nutshell V1
RDFS In A Nutshell V1Fabien Gandon
 
SPARQL introduction and training (130+ slides with exercices)
SPARQL introduction and training (130+ slides with exercices)SPARQL introduction and training (130+ slides with exercices)
SPARQL introduction and training (130+ slides with exercices)Thomas Francart
 
Introduction to the Semantic Web
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic WebTomek Pluskiewicz
 
Querying the Wikidata Knowledge Graph
Querying the Wikidata Knowledge GraphQuerying the Wikidata Knowledge Graph
Querying the Wikidata Knowledge GraphIoan Toma
 
Linked Open Data Tutorial
Linked Open Data TutorialLinked Open Data Tutorial
Linked Open Data TutorialMyungjin Lee
 
LOD (linked open data) part 2 lod 구축과 현황
LOD (linked open data) part 2   lod 구축과 현황LOD (linked open data) part 2   lod 구축과 현황
LOD (linked open data) part 2 lod 구축과 현황LiST Inc
 
Web ontology language (owl)
Web ontology language (owl)Web ontology language (owl)
Web ontology language (owl)Ameer Sameer
 
Creative Interactive Browser Visualizations with Bokeh by Bryan Van de ven
Creative Interactive Browser Visualizations with Bokeh by Bryan Van de venCreative Interactive Browser Visualizations with Bokeh by Bryan Van de ven
Creative Interactive Browser Visualizations with Bokeh by Bryan Van de venPyData
 

Mais procurados (20)

Introduction to linked data
Introduction to linked dataIntroduction to linked data
Introduction to linked data
 
Linked Data의 RDF 어휘 이해하고 체험하기 - FOAF, SIOC, SKOS를 중심으로 -
Linked Data의 RDF 어휘 이해하고 체험하기 - FOAF, SIOC, SKOS를 중심으로 -Linked Data의 RDF 어휘 이해하고 체험하기 - FOAF, SIOC, SKOS를 중심으로 -
Linked Data의 RDF 어휘 이해하고 체험하기 - FOAF, SIOC, SKOS를 중심으로 -
 
SHACL by example
SHACL by exampleSHACL by example
SHACL by example
 
RDF 해설서
RDF 해설서RDF 해설서
RDF 해설서
 
RDF and OWL
RDF and OWLRDF and OWL
RDF and OWL
 
FOAF
FOAFFOAF
FOAF
 
Semantic Web - Ontologies
Semantic Web - OntologiesSemantic Web - Ontologies
Semantic Web - Ontologies
 
Jena – A Semantic Web Framework for Java
Jena – A Semantic Web Framework for JavaJena – A Semantic Web Framework for Java
Jena – A Semantic Web Framework for Java
 
Dublin Core Intro
Dublin Core IntroDublin Core Intro
Dublin Core Intro
 
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
 
The Semantic Web #9 - Web Ontology Language (OWL)
The Semantic Web #9 - Web Ontology Language (OWL)The Semantic Web #9 - Web Ontology Language (OWL)
The Semantic Web #9 - Web Ontology Language (OWL)
 
RDFS In A Nutshell V1
RDFS In A Nutshell V1RDFS In A Nutshell V1
RDFS In A Nutshell V1
 
SPARQL introduction and training (130+ slides with exercices)
SPARQL introduction and training (130+ slides with exercices)SPARQL introduction and training (130+ slides with exercices)
SPARQL introduction and training (130+ slides with exercices)
 
Introduction to the Semantic Web
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic Web
 
Querying the Wikidata Knowledge Graph
Querying the Wikidata Knowledge GraphQuerying the Wikidata Knowledge Graph
Querying the Wikidata Knowledge Graph
 
Linked Open Data Tutorial
Linked Open Data TutorialLinked Open Data Tutorial
Linked Open Data Tutorial
 
LOD (linked open data) part 2 lod 구축과 현황
LOD (linked open data) part 2   lod 구축과 현황LOD (linked open data) part 2   lod 구축과 현황
LOD (linked open data) part 2 lod 구축과 현황
 
RDF validation tutorial
RDF validation tutorialRDF validation tutorial
RDF validation tutorial
 
Web ontology language (owl)
Web ontology language (owl)Web ontology language (owl)
Web ontology language (owl)
 
Creative Interactive Browser Visualizations with Bokeh by Bryan Van de ven
Creative Interactive Browser Visualizations with Bokeh by Bryan Van de venCreative Interactive Browser Visualizations with Bokeh by Bryan Van de ven
Creative Interactive Browser Visualizations with Bokeh by Bryan Van de ven
 

Semelhante a RDF Data Model

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 APIsJosef Petrák
 
A Hands On Overview Of The Semantic Web
A Hands On Overview Of The Semantic WebA Hands On Overview Of The Semantic Web
A Hands On Overview Of The Semantic WebShamod Lacoul
 
Consuming linked data by machines
Consuming linked data by machinesConsuming linked data by machines
Consuming linked data by machinesPatrick Sinclair
 
Semantic Web introduction
Semantic Web introductionSemantic Web introduction
Semantic Web introductionGraphity
 
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 DataOlaf Hartig
 
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 RDFdonaldlsmithjr
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapesJose Emilio Labra Gayo
 
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 DataGabriela Agustini
 
W3C Tutorial on Semantic Web and Linked Data at WWW 2013
W3C Tutorial on Semantic Web and Linked Data at WWW 2013W3C Tutorial on Semantic Web and Linked Data at WWW 2013
W3C Tutorial on Semantic Web and Linked Data at WWW 2013Fabien Gandon
 
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 DataGabriela Agustini
 
The Semantic Web #5 - RDF (2)
The Semantic Web #5 - RDF (2)The Semantic Web #5 - RDF (2)
The Semantic Web #5 - RDF (2)Myungjin Lee
 
Two graph data models : RDF and Property Graphs
Two graph data models : RDF and Property GraphsTwo graph data models : RDF and Property Graphs
Two graph data models : RDF and Property Graphsandyseaborne
 
Semantic Web(Web 3.0) SPARQL
Semantic Web(Web 3.0) SPARQLSemantic Web(Web 3.0) SPARQL
Semantic Web(Web 3.0) SPARQLDaniel D.J. UM
 
Graph databases & data integration v2
Graph databases & data integration v2Graph databases & data integration v2
Graph databases & data integration v2Dimitris Kontokostas
 
Introduction to RDFa
Introduction to RDFaIntroduction to RDFa
Introduction to RDFaIvan Herman
 

Semelhante a RDF Data Model (20)

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
 
A Hands On Overview Of The Semantic Web
A Hands On Overview Of The Semantic WebA Hands On Overview Of The Semantic Web
A Hands On Overview Of The Semantic Web
 
XSPARQL Tutorial
XSPARQL TutorialXSPARQL Tutorial
XSPARQL Tutorial
 
Consuming linked data by machines
Consuming linked data by machinesConsuming linked data by machines
Consuming linked data by machines
 
Semantic Web introduction
Semantic Web introductionSemantic Web introduction
Semantic Web introduction
 
SWT Lecture Session 2 - RDF
SWT Lecture Session 2 - RDFSWT Lecture Session 2 - RDF
SWT Lecture Session 2 - RDF
 
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
 
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 Tutorial
RDFa TutorialRDFa Tutorial
RDFa Tutorial
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapes
 
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
 
W3C Tutorial on Semantic Web and Linked Data at WWW 2013
W3C Tutorial on Semantic Web and Linked Data at WWW 2013W3C Tutorial on Semantic Web and Linked Data at WWW 2013
W3C Tutorial on Semantic Web and Linked Data at WWW 2013
 
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
 
The Semantic Web #5 - RDF (2)
The Semantic Web #5 - RDF (2)The Semantic Web #5 - RDF (2)
The Semantic Web #5 - RDF (2)
 
Two graph data models : RDF and Property Graphs
Two graph data models : RDF and Property GraphsTwo graph data models : RDF and Property Graphs
Two graph data models : RDF and Property Graphs
 
Tutorial for RDF Graphs
Tutorial for RDF GraphsTutorial for RDF Graphs
Tutorial for RDF Graphs
 
Semantic Web(Web 3.0) SPARQL
Semantic Web(Web 3.0) SPARQLSemantic Web(Web 3.0) SPARQL
Semantic Web(Web 3.0) SPARQL
 
Graph databases & data integration v2
Graph databases & data integration v2Graph databases & data integration v2
Graph databases & data integration v2
 
Semantic Web - RDF
Semantic Web - RDFSemantic Web - RDF
Semantic Web - RDF
 
Introduction to RDFa
Introduction to RDFaIntroduction to RDFa
Introduction to RDFa
 

Mais de Jose Emilio Labra Gayo

Introducción a la investigación/doctorado
Introducción a la investigación/doctoradoIntroducción a la investigación/doctorado
Introducción a la investigación/doctoradoJose Emilio Labra Gayo
 
Legislative data portals and linked data quality
Legislative data portals and linked data qualityLegislative data portals and linked data quality
Legislative data portals and linked data qualityJose Emilio Labra Gayo
 
Validating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesValidating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesJose Emilio Labra Gayo
 
Legislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologiesLegislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologiesJose Emilio Labra Gayo
 
Como publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazadosComo publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazadosJose Emilio Labra Gayo
 
Arquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el ServidorArquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el ServidorJose Emilio Labra Gayo
 
RDF Validation Future work and applications
RDF Validation Future work and applicationsRDF Validation Future work and applications
RDF Validation Future work and applicationsJose Emilio Labra Gayo
 

Mais de Jose Emilio Labra Gayo (20)

Publicaciones de investigación
Publicaciones de investigaciónPublicaciones de investigación
Publicaciones de investigación
 
Introducción a la investigación/doctorado
Introducción a la investigación/doctoradoIntroducción a la investigación/doctorado
Introducción a la investigación/doctorado
 
Legislative data portals and linked data quality
Legislative data portals and linked data qualityLegislative data portals and linked data quality
Legislative data portals and linked data quality
 
Validating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesValidating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectives
 
Wikidata
WikidataWikidata
Wikidata
 
Legislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologiesLegislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologies
 
ShEx by Example
ShEx by ExampleShEx by Example
ShEx by Example
 
Introduction to SPARQL
Introduction to SPARQLIntroduction to SPARQL
Introduction to SPARQL
 
Introducción a la Web Semántica
Introducción a la Web SemánticaIntroducción a la Web Semántica
Introducción a la Web Semántica
 
2017 Tendencias en informática
2017 Tendencias en informática2017 Tendencias en informática
2017 Tendencias en informática
 
19 javascript servidor
19 javascript servidor19 javascript servidor
19 javascript servidor
 
Como publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazadosComo publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazados
 
16 Alternativas XML
16 Alternativas XML16 Alternativas XML
16 Alternativas XML
 
XSLT
XSLTXSLT
XSLT
 
XPath
XPathXPath
XPath
 
Arquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el ServidorArquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el Servidor
 
RDF Validation Future work and applications
RDF Validation Future work and applicationsRDF Validation Future work and applications
RDF Validation Future work and applications
 
ShEx vs SHACL
ShEx vs SHACLShEx vs SHACL
ShEx vs SHACL
 
Máster en Ingeniería Web
Máster en Ingeniería WebMáster en Ingeniería Web
Máster en Ingeniería Web
 
2016 temuco tecnologias_websemantica
2016 temuco tecnologias_websemantica2016 temuco tecnologias_websemantica
2016 temuco tecnologias_websemantica
 

Último

Awards Presentation 2024 - March 12 2024
Awards Presentation 2024 - March 12 2024Awards Presentation 2024 - March 12 2024
Awards Presentation 2024 - March 12 2024bsellato
 
Alamkara theory by Bhamaha Indian Poetics (1).pptx
Alamkara theory by Bhamaha Indian Poetics (1).pptxAlamkara theory by Bhamaha Indian Poetics (1).pptx
Alamkara theory by Bhamaha Indian Poetics (1).pptxDhatriParmar
 
ASTRINGENTS.pdf Pharmacognosy chapter 5 diploma in Pharmacy
ASTRINGENTS.pdf Pharmacognosy chapter 5 diploma in PharmacyASTRINGENTS.pdf Pharmacognosy chapter 5 diploma in Pharmacy
ASTRINGENTS.pdf Pharmacognosy chapter 5 diploma in PharmacySumit Tiwari
 
LEAD5623 The Economics of Community Coll
LEAD5623 The Economics of Community CollLEAD5623 The Economics of Community Coll
LEAD5623 The Economics of Community CollDr. Bruce A. Johnson
 
THYROID HORMONE.pptx by Subham Panja,Asst. Professor, Department of B.Sc MLT,...
THYROID HORMONE.pptx by Subham Panja,Asst. Professor, Department of B.Sc MLT,...THYROID HORMONE.pptx by Subham Panja,Asst. Professor, Department of B.Sc MLT,...
THYROID HORMONE.pptx by Subham Panja,Asst. Professor, Department of B.Sc MLT,...Subham Panja
 
AUDIENCE THEORY - PARTICIPATORY - JENKINS.pptx
AUDIENCE THEORY - PARTICIPATORY - JENKINS.pptxAUDIENCE THEORY - PARTICIPATORY - JENKINS.pptx
AUDIENCE THEORY - PARTICIPATORY - JENKINS.pptxiammrhaywood
 
Research Methodology and Tips on Better Research
Research Methodology and Tips on Better ResearchResearch Methodology and Tips on Better Research
Research Methodology and Tips on Better ResearchRushdi Shams
 
How to Customise Quotation's Appearance Using PDF Quote Builder in Odoo 17
How to Customise Quotation's Appearance Using PDF Quote Builder in Odoo 17How to Customise Quotation's Appearance Using PDF Quote Builder in Odoo 17
How to Customise Quotation's Appearance Using PDF Quote Builder in Odoo 17Celine George
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (FRIE...
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (FRIE...BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (FRIE...
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (FRIE...Nguyen Thanh Tu Collection
 
BBA 205 BUSINESS ENVIRONMENT UNIT I.pptx
BBA 205 BUSINESS ENVIRONMENT UNIT I.pptxBBA 205 BUSINESS ENVIRONMENT UNIT I.pptx
BBA 205 BUSINESS ENVIRONMENT UNIT I.pptxProf. Kanchan Kumari
 
Riti theory by Vamana Indian poetics.pptx
Riti theory by Vamana Indian poetics.pptxRiti theory by Vamana Indian poetics.pptx
Riti theory by Vamana Indian poetics.pptxDhatriParmar
 
Material Remains as Source of Ancient Indian History & Culture.ppt
Material Remains as Source of Ancient Indian History & Culture.pptMaterial Remains as Source of Ancient Indian History & Culture.ppt
Material Remains as Source of Ancient Indian History & Culture.pptBanaras Hindu University
 
Arti Languages Pre Seed Send Ahead Pitchdeck 2024.pdf
Arti Languages Pre Seed Send Ahead Pitchdeck 2024.pdfArti Languages Pre Seed Send Ahead Pitchdeck 2024.pdf
Arti Languages Pre Seed Send Ahead Pitchdeck 2024.pdfwill854175
 
25 CHUYÊN ĐỀ ÔN THI TỐT NGHIỆP THPT 2023 – BÀI TẬP PHÁT TRIỂN TỪ ĐỀ MINH HỌA...
25 CHUYÊN ĐỀ ÔN THI TỐT NGHIỆP THPT 2023 – BÀI TẬP PHÁT TRIỂN TỪ ĐỀ MINH HỌA...25 CHUYÊN ĐỀ ÔN THI TỐT NGHIỆP THPT 2023 – BÀI TẬP PHÁT TRIỂN TỪ ĐỀ MINH HỌA...
25 CHUYÊN ĐỀ ÔN THI TỐT NGHIỆP THPT 2023 – BÀI TẬP PHÁT TRIỂN TỪ ĐỀ MINH HỌA...Nguyen Thanh Tu Collection
 
ICS2208 Lecture4 Intelligent Interface Agents.pdf
ICS2208 Lecture4 Intelligent Interface Agents.pdfICS2208 Lecture4 Intelligent Interface Agents.pdf
ICS2208 Lecture4 Intelligent Interface Agents.pdfVanessa Camilleri
 
EDD8524 The Future of Educational Leader
EDD8524 The Future of Educational LeaderEDD8524 The Future of Educational Leader
EDD8524 The Future of Educational LeaderDr. Bruce A. Johnson
 
BBA 205 BE UNIT 2 economic systems prof dr kanchan.pptx
BBA 205 BE UNIT 2 economic systems prof dr kanchan.pptxBBA 205 BE UNIT 2 economic systems prof dr kanchan.pptx
BBA 205 BE UNIT 2 economic systems prof dr kanchan.pptxProf. Kanchan Kumari
 
Metabolism , Metabolic Fate& disorders of cholesterol.pptx
Metabolism , Metabolic Fate& disorders of cholesterol.pptxMetabolism , Metabolic Fate& disorders of cholesterol.pptx
Metabolism , Metabolic Fate& disorders of cholesterol.pptxDr. Santhosh Kumar. N
 

Último (20)

Awards Presentation 2024 - March 12 2024
Awards Presentation 2024 - March 12 2024Awards Presentation 2024 - March 12 2024
Awards Presentation 2024 - March 12 2024
 
Alamkara theory by Bhamaha Indian Poetics (1).pptx
Alamkara theory by Bhamaha Indian Poetics (1).pptxAlamkara theory by Bhamaha Indian Poetics (1).pptx
Alamkara theory by Bhamaha Indian Poetics (1).pptx
 
ASTRINGENTS.pdf Pharmacognosy chapter 5 diploma in Pharmacy
ASTRINGENTS.pdf Pharmacognosy chapter 5 diploma in PharmacyASTRINGENTS.pdf Pharmacognosy chapter 5 diploma in Pharmacy
ASTRINGENTS.pdf Pharmacognosy chapter 5 diploma in Pharmacy
 
LEAD5623 The Economics of Community Coll
LEAD5623 The Economics of Community CollLEAD5623 The Economics of Community Coll
LEAD5623 The Economics of Community Coll
 
THYROID HORMONE.pptx by Subham Panja,Asst. Professor, Department of B.Sc MLT,...
THYROID HORMONE.pptx by Subham Panja,Asst. Professor, Department of B.Sc MLT,...THYROID HORMONE.pptx by Subham Panja,Asst. Professor, Department of B.Sc MLT,...
THYROID HORMONE.pptx by Subham Panja,Asst. Professor, Department of B.Sc MLT,...
 
AUDIENCE THEORY - PARTICIPATORY - JENKINS.pptx
AUDIENCE THEORY - PARTICIPATORY - JENKINS.pptxAUDIENCE THEORY - PARTICIPATORY - JENKINS.pptx
AUDIENCE THEORY - PARTICIPATORY - JENKINS.pptx
 
Research Methodology and Tips on Better Research
Research Methodology and Tips on Better ResearchResearch Methodology and Tips on Better Research
Research Methodology and Tips on Better Research
 
How to Customise Quotation's Appearance Using PDF Quote Builder in Odoo 17
How to Customise Quotation's Appearance Using PDF Quote Builder in Odoo 17How to Customise Quotation's Appearance Using PDF Quote Builder in Odoo 17
How to Customise Quotation's Appearance Using PDF Quote Builder in Odoo 17
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (FRIE...
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (FRIE...BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (FRIE...
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (FRIE...
 
BBA 205 BUSINESS ENVIRONMENT UNIT I.pptx
BBA 205 BUSINESS ENVIRONMENT UNIT I.pptxBBA 205 BUSINESS ENVIRONMENT UNIT I.pptx
BBA 205 BUSINESS ENVIRONMENT UNIT I.pptx
 
Riti theory by Vamana Indian poetics.pptx
Riti theory by Vamana Indian poetics.pptxRiti theory by Vamana Indian poetics.pptx
Riti theory by Vamana Indian poetics.pptx
 
Material Remains as Source of Ancient Indian History & Culture.ppt
Material Remains as Source of Ancient Indian History & Culture.pptMaterial Remains as Source of Ancient Indian History & Culture.ppt
Material Remains as Source of Ancient Indian History & Culture.ppt
 
Arti Languages Pre Seed Send Ahead Pitchdeck 2024.pdf
Arti Languages Pre Seed Send Ahead Pitchdeck 2024.pdfArti Languages Pre Seed Send Ahead Pitchdeck 2024.pdf
Arti Languages Pre Seed Send Ahead Pitchdeck 2024.pdf
 
Least Significance Difference:Biostatics and Research Methodology
Least Significance Difference:Biostatics and Research MethodologyLeast Significance Difference:Biostatics and Research Methodology
Least Significance Difference:Biostatics and Research Methodology
 
25 CHUYÊN ĐỀ ÔN THI TỐT NGHIỆP THPT 2023 – BÀI TẬP PHÁT TRIỂN TỪ ĐỀ MINH HỌA...
25 CHUYÊN ĐỀ ÔN THI TỐT NGHIỆP THPT 2023 – BÀI TẬP PHÁT TRIỂN TỪ ĐỀ MINH HỌA...25 CHUYÊN ĐỀ ÔN THI TỐT NGHIỆP THPT 2023 – BÀI TẬP PHÁT TRIỂN TỪ ĐỀ MINH HỌA...
25 CHUYÊN ĐỀ ÔN THI TỐT NGHIỆP THPT 2023 – BÀI TẬP PHÁT TRIỂN TỪ ĐỀ MINH HỌA...
 
ICS2208 Lecture4 Intelligent Interface Agents.pdf
ICS2208 Lecture4 Intelligent Interface Agents.pdfICS2208 Lecture4 Intelligent Interface Agents.pdf
ICS2208 Lecture4 Intelligent Interface Agents.pdf
 
EDD8524 The Future of Educational Leader
EDD8524 The Future of Educational LeaderEDD8524 The Future of Educational Leader
EDD8524 The Future of Educational Leader
 
BBA 205 BE UNIT 2 economic systems prof dr kanchan.pptx
BBA 205 BE UNIT 2 economic systems prof dr kanchan.pptxBBA 205 BE UNIT 2 economic systems prof dr kanchan.pptx
BBA 205 BE UNIT 2 economic systems prof dr kanchan.pptx
 
Metabolism , Metabolic Fate& disorders of cholesterol.pptx
Metabolism , Metabolic Fate& disorders of cholesterol.pptxMetabolism , Metabolic Fate& disorders of cholesterol.pptx
Metabolism , Metabolic Fate& disorders of cholesterol.pptx
 
ANOVA Parametric test: Biostatics and Research Methodology
ANOVA Parametric test: Biostatics and Research MethodologyANOVA Parametric test: Biostatics and Research Methodology
ANOVA Parametric test: Biostatics and Research Methodology
 

RDF Data Model

  • 1. RDF Data Model Departamento de Informática Universidad de Oviedo Jose Emilio Labra Gayo
  • 2. More info Validating RDF Data Chapter 2. RDF ecosystem http://book.validatingrdf.com/bookHtml008.html
  • 3. Short history of RDF RDF: Resource Description Framework Around 1997 - PICS, Dublin core, Meta Content Framework 1997 1st Working draft https://www.w3.org/TR/WD-rdf-syntax-971002 RDF/XML 1999 1st W3C Rec https://www.w3.org/TR/1999/REC-rdf-syntax-19990222/ XML Syntax, first applications RSS, EARL 2004 - RDF Revised https://www.w3.org/TR/2004/REC-rdf-concepts-20040210/ Emergence of SPARQL, Turtle, Linked Data 2014 - RDF 1.1 https://www.w3.org/TR/rdf11-concepts/ SPARQL 1.1, JSON-LD 2017 - RDF validation: SHACL/ShEx
  • 4. RDF Data Model RDF is made from statements Statment = a triple (subject, predicate, object) Example: http://example.org/alice http://example.org/bob http://schema.org/knows subject predicate object <http://example.org/alice> <http://schema.org/knows> <http://example.org/bob> . N-Triples representation subject object predicate
  • 5. Set of statements = RDF graph RDF data model = directed graph Example: http://example.org/alice ex:bob http://example.org/carol http://example.org/bob http://schema.org/knows http://schema.org/knows http://schema.org/knows http://schema.org/knows N-triples representation <http://example.org/alice> <http://schema.org/knows> <http://example.org/bob> . <http://example.org/bob> <http://schema.org/knows> <http://example.org/carol> . <http://example.org/carol> <http://schema.org/knows> <http://example.org/alice> . <http://example.org/carol> <http://schema.org/knows> <http://example.org/bob> . subject predicate object
  • 6. Turtle notation Human readable notation that simplifies N-Triples Allows namespace declarations <http://example.org/alice> <http://schema.org/knows> <http://example.org/bob> . <http://example.org/bob> <http://schema.org/knows> <http://example.org/carol> . <http://example.org/carol> <http://schema.org/knows> <http://example.org/alice> . <http://example.org/carol> <http://schema.org/knows> <http://example.org/bob> . prefix : <http://example.org/> prefix schema: <http://schema.org/> :alice schema:knows :bob . :bob schema:knows :carol . :carol schema:knows :bob . :carol schema:knows :alice . Turtle N-Triples Note: We will see later other Turtle simplifications
  • 8. RDF is compositional RDF graphs can be merged to obtain a bigger graph Automatic data integration schema:knows schema:knows schema:knows :alice ex:bob :carol :bob schema:knows schema:birthPlace :carol schema:birthPlace dbr:Oviedo :bob graph 1 graph 2
  • 9. RDF is compositional schema:birthPlaceschema:knows schema:knows schema:knows :alice ex:bob :carol schema:birthPlace dbr:Oviedo :bob schema:knows graph 1 + graph 2 RDF graphs can be merged to obtain a bigger graph Automatic data integration
  • 10. Turtle syntax Some simplifications prefix declarations ; when triples share the subject , when triples share subject and object :alice schema:birthPlace dbr:Oviedo ; schema:knows :bob . :alice schema:birthPlace dbr:Oviedo . :alice schema:knows :bob . :alice schema:knows :alice . :alice schema:knows :bob . :carol schema:knows :alice, :bob .
  • 11. Turtle syntax Exercise: simplify prefix : <http://example.org/> prefix schema: <http://schema.org/> prefix dbr: <http://dbpedia.org/resource> :alice schema:knows :bob . :bob schema:knows :carol . :carol schema:knows :bob . :carol schema:knows :alice . :bob schema:birthPlace dbr:Spain . :carol schema:birthPlace dbr:Spain . prefix ex: <http://example.org/> prefix schema: <http://schema.org/> prefix dbr: <http://dbpedia.org/resource> :alice schema:knows :bob , :carol. :bob schema:knows :carol ; schema:birthPlace dbr:Spain . :carol schema:knows :bob, :alice ; schema:birthPlace dbr:Spain . Try it: https://tinyurl.com/y9wbdycp
  • 12. RDF Literals Objects can also be literals Literals contain a lexical form and a datatype Typical datatypes = XML Schema primitive datatypes If not specified, a literal has datatype xsd:string :bob Robert schema:name 1980-03-10 schema:birthDate xsd:date xsd:string :bob schema:name "Robert" ; :bob schema:birthDate "1980-03-10"^^<xsd:date>. Turtle notation
  • 13. prefix : <http://example.org/> prefix schema: <http://schema.org/> prefix dbr: <http://dbpedia.org/resource> :alice schema:knows :bob , :carol. :bob schema:knows :carol ; schema:birthPlace dbr:Spain; schema:name "Robert"; schema:birthDate "1980-03-10"^^<xsd:date>. :carol schema:knows :bob, :alice ; schema:birthPlace dbr:Spain . Remember...RDF is compositional Merging previous data schema:birthPlace schema:knows schema:knows schema:knows :alice ex:bob :carol dbr:Spain schema:birthDate :bob Robert xsd:string 1980-03-10 xsd:date schema:name schema:knows schema:birthPlace
  • 14. Blank nodes Subjects and objects can also be Blank nodes :carol schema:knows 23 :age "Carol knows someone whose age is 23" :carol schema:knows _:x . _:x :age 23 . :carol schema:knows [ :age 23 ] . Turtle notation with local identifier Turtle notation with square brackets x(schema:knows(:carol,x)  :age(x, 23) Mathematical meaning:
  • 15. Blank nodes ex:alice ex:carol schema:knows schema:knows schema:birthPlace ex:dave schema:birthPlace :age 23 xsd:integerschema:knows Alice knows someone who knows Dave Carol knows someone whose age is 23 that was born in the same place as Dave :alice schema:knows [ schema:knows :dave ] . :carol schema:knows [ :age 23 ; schema:birthPlace _:p ] . :dave schema:birthPlace _:p .
  • 16. Language tagged strings String literals can be qualified by a language tag They have datatype rdfs:langString ex:spain rdfs:label "Spain"@en . ex:spain rdfs:label "España"@es .ex:spain Spain rdfs:label España rdfs:label es en Turtle notation
  • 17. RDF data model schema:knows schema:knows schema:knows ex:alice ex:bob ex:carol schema:birthPlace dbr:Spain schema:knows schema:knows schema:birthDate ex:bob Robert xsd:string 1980-03-10 xsd:date schema:name schema:birthPlace schema:knows ex:dave schema:birthPlace schema:age 23 xsd:integerschema:knows Spain rdfs:label España rdfs:label es en 3 types of nodes URIs Blank nodes Literals Subjects: URIs or Blank nodes Objects: URIs, Blank nodes or literals Predicates always URIs schema:birthPlace Example of RDF data
  • 18. ...and that's all about the RDF data model The RDF Data model is very simple
  • 19. RDF ecosystem RDF Syntax Shared entities and RDF vocabularies Applications of RDF Inference and ontologies Query languages RDF Validation
  • 20. RDF syntax First syntax based on XML: RDF/XML N-Triples (enumerates all triples separated by dots) Turtle (human readability) JSON-LD ...other syntaxes...
  • 21. RDF/XML <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://example.org/" xmlns:schema="http://schema.org/"> <rdf:Description rdf:about="http://example.org/carol"> <schema:knows> <rdf:Description rdf:about="http://example.org/bob"> <schema:knows rdf:resource="http://example.org/carol"/> <schema:name>Robert</schema:name> <schema:birthDate rdf:datatype="xsd:date">1980-03-10</schema:birthDate> </rdf:Description> </schema:knows> <schema:knows> <rdf:Description rdf:about="http://example.org/alice"> <schema:knows rdf:resource="http://example.org/bob"/> <schema:knows rdf:resource="http://example.org/carol"/> </rdf:Description> </schema:knows> <schema:knows rdf:parseType="Resource"> <age rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">23</age> </schema:knows> </rdf:Description> </rdf:RDF> First syntax
  • 22. N-Triples <http://example.org/carol> <http://schema.org/knows> <http://example.org/bob> . <http://example.org/carol> <http://schema.org/knows> <http://example.org/alice> . <http://example.org/carol> <http://schema.org/knows> _:x . _:x <http://example.org/age> "23"^^<http://www.w3.org/2001/XMLSchema#integer> . <http://example.org/alice> <http://schema.org/knows> <http://example.org/bob> . <http://example.org/alice> <http://schema.org/knows> <http://example.org/carol> . <http://example.org/bob> <http://schema.org/knows> <http://example.org/carol> . <http://example.org/bob> <http://schema.org/name> "Robert" . <http://example.org/bob> <http://schema.org/birthDate> "1980-03-10"^^<xsd:date> . For testing and easy parsing ...just triples separated by dots
  • 23. Turtle Concise Designed to be human-readable prefix : <http://example.org/> prefix schema: <http://schema.org/> :alice schema:knows :bob , :carol . :bob schema:knows :carol ; schema:name "Robert"; schema:birthDate "1980-03-10"^^<xsd:date>. :carol schema:knows :bob, :alice ; schema:knows [ :age 23 ] .
  • 24. JSON-LD Json for linked data { "@context" : { "knows" : { "@id" : "http://schema.org/knows", "@type" : "@id" }, "age" : { "@id" : "http://example.org/age", "@type" : "http://www.w3.org/2001/XMLSchema#integer" }, "name" : { "@id" : "http://schema.org/name" }, "birthDate" : { "@id" : "http://schema.org/birthDate", "@type" : "xsd:date" }, "@vocab" : "http://example.org/", "schema" : "http://schema.org/" }, "@graph" : [ { "@id" : "http://example.org/alice", "knows" : [ "http://example.org/bob", "http://example.org/carol" ] }, { "@id" : "http://example.org/bob", "birthDate" : "1980-03-10", "knows" : "http://example.org/carol", "name" : "Robert" }, { "@id" : "http://example.org/carol", "knows" : [ "http://example.org/bob", "http://example.org/alice", "_:x" ] }, { "@id" : "_:x", "http://example.org/age" : 23 } ] }
  • 25. Other Turtle simplifications RDF type property Numbers Collections
  • 26. RDF type property The rdf:type property declares the type of a resource @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix schema: <http://schema.org/> . e:alice rdf:type schema:Person . e:bob rdf:type schema:Person . @prefix schema: <http://schema.org/> . :alice a schema:Person . :bob a schema:Person . rdf:type can be simplified as a
  • 27. Constants Numbers and boolean values can be represented without quotes They are parsed as XML Schema datatypes Datatype Shorthand example Lexical example xsd:integer 3 "3"^^xsd:integer xsd:decimal -3.14 "true"^^xsd:decima l xsd:double 3.14e2 "true"^^xsd:double xsd:boolean true "true"^^xsd:boolea n
  • 28. Collections Ordered lists :m23 schema:name "New York City Marathon "; :results ( :dave :alice :bob ) . :m23 schema:name "New York City Marathon "; :results _:1 . _:1 rdf:first :dave ; rdf:next _:2 . _:2 rdf:first :alice ; rdf:next _:3 . _:3 rdf:first :bob ; rdf:next rdf:nil . Internally, represented as linked lists rdf:first rdf:rest rdf:rest rdf:rest schema:name :m23 :results New York City Marathon rdf:nil :bob rdf:first :alice :daverdf:first
  • 29. Shared entities and vocabularies The use of URIs instead of plain strings facilitates: Merging data from heterogeneous sources Avoid ambiguity Challenge: Agreeing on common entities and properties Appearance of some popular vocabularies: schema.org: Joint effort from Google, Yahoo, Microsoft, Yandex Linked open vocabularies Project: http://lov.okfn.org/
  • 30. Some popular vocabularies and namespaces Alias URL Name Some properties rdf: http://www.w3.org/1999/02/22-rdf- syntax-ns# RDF type, subject, predicate, object,… rdfs: http://www.w3.org/2000/01/rdf- schema# RDF Schema domain, range Class, Property subClassOf,… owl: http://www.w3.org/2002/07/owl# OWL Ontologías sameAs, intersectionOf unionOf, … dc: http://purl.org/dc/elements/1.1/ Dublin Core author, date, creator, … Schema: http://schema.org/ Schema.org name, knows, etc. skos: http://www.w3.org/2008/05/skos# SKOS broader, narrower, … Service http://prefix.cc can be used to find the most popular prefix for some URI
  • 31. Applications of RDF First applications RDF & HTML: RDFa, Microdata RDF to represent knowledge RDF as a database Linked data
  • 32. First RDF applications Some initiatives proposed by W3C RSS 1.0 was proposed with an RDF/XML based syntax Other XML based versions were available EARL: Evaluation and Reporting Language RDF/XML adoption was not popular
  • 33. RDF & HTML Possibilities One resource for HTML and another for metadata in RDF RDFa: Use HTML attributes to encode RDF triples Microdata: New HTML5 attributes can encode metadata <p vocab="http://schema.org/" typeof="Book" about="http://example.org/book1"> The book <span property="name">The Spring</span> by <span property="author">Cervantes</span> was published <span property="datePublished" content="2014-05-04"> last Saturday</span>. </p> <p itemscope itemid="http://leer.com/libro123" itemtype="http://schema.org/Book"> The book <span itemprop="name">The Spring</span> by <span itemprop="author">Cervantes</span> was published <time itemprop="datePublished" content="2014-05-04"> last saturday</time>. </p> RDFa Microdata
  • 34. RDF to represent knowledge Freebase: developed by Metaweb (2005) Open, shared database of world's knowledge Acquired by Google in 2010. It is the basis of Google knowledge graph DBpedia (http://dbpedia.org) Extracts knowledge from Wikipedia and converts it to RDF Wikidata (http://wikidata.org/) Free knowledge base edited collaboratively Developed by Wikimedia foundation
  • 35. RDF as an internal database Specialized RDF databases (triplestores) RDF = very flexible, easy to adapt to domain changes Several big companies are using RDF internally Example: BBC
  • 36. RDF for Linked open data Principles proposed by Tim Berners-Lee to publish data: 1. Use URIs to denote things 2. Use HTTP URIs so that people can look up those names 3. When someone looks up a URI, provide useful information, using the standards (RDF*, SPARQL) 4. Include links to other URIs. so that they can discover more things.
  • 37. Linked open data (2017 Source: "Linking Open Data cloud diagram 2017, by Andrejs Abele, John P. McCrae, Paul Buitelaar, Anja Jentzsch and Richard Cyganiak. http://lod-cloud.net/"
  • 39. RDFS Originally RDF Schema (2000) Defines a vocabulary for common concepts Classes: rdfs:Class, rdfs:Property, rdfs:Literal Properties: rdfs:domain, rdfs:range, rdfs:subClassOf, ...
  • 40. RDFS RDFS processors can infer new triples RDFS defines several rules for inference: IF x rdf:type A AND A rdfs:subClassOf B THEN x rdf:type B :alice :Lecturer rdf:type :Person rdfs:subClassOf rdf:type
  • 41. OWL Web Ontology Language. First version (2004), OWL 2 (2009) Based on description logics Language to describe classes, individuals, relationships
  • 42. OWL example <> a owl:Ontology . :Man a owl:Class ; owl:equivalentClass [ owl:intersectionOf (:Person [ a owl:Restriction ; owl:onProperty schema:gender ; owl:hasValue schema:Male ] ) ] . :Woman a owl:Class ; owl:equivalentClass [ owl:intersectionOf ( :Person [ a owl:Restriction ; owl:onProperty schema:gender ; owl:hasValue schema:Female ] ) ] . [ a owl:AllDisjointClasses ; owl:members ( :Woman :Man ) ] . :Person owl:equivalentClass [ rdf:type owl:Class ; owl:unionOf ( :Woman :Man ) ] . :alice a :Woman ; schema:gender schema:Female . :bob a :Man . :alice a :Person . :bob a :Person . :bob schema:gender schema:Male . Instance data Inferred data
  • 43. OWL OWL can been used to describe domain ontologies Different kinds of ontologies: Upper level ontologies (SUMO, WordNet, ...) Domain specific (example: SNOMED) Tools to edit ontologies: Protégé editor
  • 44. Myths about linked data Too expensive It's free No one will want our data It is not trendy Too much openness Our project will be a success
  • 45. It is too expensive Not really It is possible to learn from previous experiences Follow the lemma: Separate content from presentation Content: Information/data Presentation: visual/aesthetic aspects Try not to lose semantics Content Presentation
  • 46. It is free ...well, no It requires to complement with visualizations Only data = too restrained Requires to define data models and URIs Stable and cool URIs Challenge of continuous updates Take care of data pipelines
  • 47. No one will be interested in our data Just the opposite...our data = our treasure Search engines index semantic content schema.org Project (Google, Bing, Yandex,...) If we help them  better SEO Automatic processable data = more valuable data Promote data culture New business opportunities and applications Government = catalyzer: Hackathons y similars...
  • 48. It is not trendy... Beware of trends in computer science... Lots of technologies appear/dissapear https://ablvienna.wordpress.com/2016/08/15/linked-data-the-next-5-years-from-hype-to-action/
  • 49. Too much open If we really believe in transparency... We will pursue reusable data Nevertheless... It is useful to distinguish between: Open data Linked data Public/private data Aggregated data Partially open data Linked and closed data ...