RESOURCES DESCRIPTION FRAMEWORK (RDF)
Hala Skaf-Molli, Prof
Responsable ALMA
http://pagesperso.ls2n.fr/~skaf-h
Responsable GDD
Gestion de données distribuées
LS2N, Bât 34, Bureau 403
1
Open Knowledge Graphs
and Semantic Web
2
Knowledge representation model
Semantic Web Stack
Query language to retrieve information from KGs.
Uniform Resource Identifier (URI)
3
Nantes
Nantes
Nantes City
4
URI Standard
5
IRI Standard
Script | IRI (human-readable) | URI |
Latin | http://dbpedia.org/resource/Nantes | http://dbpedia.org/resource/Nantes |
Arabic | http://مثال.إختبار/نانت| | http://xn--mgbh0fb.xn--kgbechtv/%D9%86%D8%A7%D9%86%D8%AA |
Chinese | http://例子.测试/南特 | http://xn--fsqu00a.xn--0zwm56d/%E5%8D%97%E7%89%B9 |
6
Resource Description Framework
for Knowledge Representation
Resource Description Framework
for Knowledge Representation
7
Facts are stored in triple format (subject predicate object).
Semantic Web Stack
An RDF Triple has a subject, a predicate and an object.
8
Nantes
identifies
identifies
the relationship between two resources
identifies
Pays de la Loire
What is an RDF triple ?
9
Nantes
identifies
identifies
locatedIn
“Pays de la Loire”
What is an RDF triple?
10
identifies
identifies
identifies
locatedIn
Pays de la Loire
Nantes
What is an RDF triple ?
11
locatedIn
What is an RDF graph ?
12
Nantes
Pays de La Loire
locatedIn
Example of an RDF Graph
13
Nantes
Pays de La Loire
locatedIn
44109
inseeCode
France
283025
population
hasMayor
Johanna Rolland
47.218100
latitude
locatedIn
14
14
Nantes
Pays de La Loire
locatedIn
44109
inseeCode
France
locatedIn
283025
population
hasMayor
Johanna Rolland
47.218100
latitude
15
15
Nantes
Pays de La Loire
locatedIn
44109
inseeCode
France
locatedIn
283025
population
hasMayor
Johanna Rolland
47.218100
latitude
Jules Verne
Nantes
birthPlace
Voyage au centre de la terre
is birthPlace Of
wrote
RDF Data set
16
16
Nantes
Pays de La Loire
locatedIn
44109
inseeCode
France
locatedIn
283025
population
hasMayor
Johanna Rolland
47.218100
latitude
Jules Verne
Nantes
birthPlace
Voyage au centre de la terre
is birthPlace Of
wrote
Owl:sameAS
17
Linked Open Data knowledge Graph
18
19
These principles have been coined by Tim Berners-Lee in the design issue note Linked Data. The principles are:
20
Linked Data Principles
21
23
RDF can be serialized in different ways
@prefix city : http://dbpedia.org/resource/
@prefix location: http://lodpaddle.org/
@prefix region: http://region.org/
24
city:Nantes location:locatedIn region:Paysdelaloire
Namespace Prefixes
@prefix :< http://dbpedia.org/resource/>.
@prefix location: <http://lodpaddle.org/rdf/pred#>.
@prefix region: <http://region.org/>.
25
:Nantes location:locatedIn region:Paysdelaloire
Default Prefix
RDF Turtle:
@prefix : <http://lodpaddle.org/> .
@prefix admin: <http://admin.org/>.
:Nantes :population “283025” .
:Nantes admin:hasMoyer :JohannaRolland.
:Nantes :locatedIn <http://region.org/PaysdeLaLoire> .
26
Nantes
Pays de La Loire
locatedIn
283025
population
hasMayor
Johanna Rolland
RDF Turtle
Turtle
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.org/> .
ex:Alice a foaf:Person ;
foaf:name "Alice" ;
foaf:knows ex:Bob .
ex:Bob a foaf:Person ;
foaf:name "Bob" .
27
JSON-LD
JSON-LD : JavaScript Object Notation for Linked Data (compact)
{
"@context": {
"foaf": "http://xmlns.com/foaf/0.1/",
"name": "foaf:name",
"knows": "foaf:knows",
"type": "@type"
},
"@id": "http://example.org/Alice",
"type": "foaf:Person",
"name": "Alice",
"knows": {
"@id": "http://example.org/Bob",
"type": "foaf:Person",
"name": "Bob"
}
}
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:prop=“http://lodpaddle.org/” >
<rdf:Description rdf:about=“http://lodpadlle.org/Nantes”>
<prop:location rdf:resource=“http://region.org/paysdelaloire” />
</rdf:Description>
</rdf:RDF>
28
Properties of X are listed inside an rdf:Description about=X
Namespaces become XML namespaces
RDF/XML Syntax
List of triples, easy to download and to parse.
<http://lodpaddle.org/Nantes> <http://admin.org/population> “283025” .
<http://lodpaddle.org/Nantes> <http://admin.org/hasMoyer> <http://admin.org/JohannaRolland .
29
Nantes
283025
population
hasMayor
Johanna Rolland
RDF N-Triples
A triple <s,p,o> is interpreted as a First Order Logic fact p(s,o).
locatedIn(Nantes,Pays de la Loire)
hasMayor(Nantes, Johanna Rolland)
population(Nantes,”283025”)
30
Nantes
Pays de La Loire
locatedIn
283025
population
hasMayor
Johanna Rolland
RDF Semantics
31
RDF Semantics
@prefix p: <http://lodpaddle.or/> .
@prefix rdf: <http://w3c.org/1999/02/22-rdf-syntax-ns#>.
@prefix xsd: <http://www.w3c.org/2001/XMLSchema# >.
p:Nantes p:poplulation “283025”^^xsd:integer ;
p:hasMoyer p:JohannaRolland ;
rdf:type p:City .
P:Rennes p:population “208022”^^xsd:integer;
p:hasMayor p:NatalieAppéré .
32
Use XML types
The predicate rdf:type relates resources to their classes
@prefix p: <http://lodpaddle.or/> .
@prefix rdf: <http://w3c.org/1999/02/22-rdf-syntax-ns#>.
@prefix xsd: <http://www.w3c.org/2001/XMLSchema# >.
p:Nantes p:poplulation “283025”^^xsd:integer ;
p:hasMoyer p:JohannaRolland ;
rdf:type p:City .
33
Type of a resource
@prefix book: <http://example.org/>
book:42 book:title ’’Life Questions@en’’ .
book:42 book:title ’’Questions sur la vie@fr’’ .
34
Identifier the language of a value
35
Identifier the language of a value
�
36
Named Graph
�
TriG: extension of Turtle
@prefix foaf : <http://xmlns.com/foaf/0.1/> .
GRAPH <http://example.org/bob>
{
_:b foaf:name ‘’Bob’’ .
}
GRAPH <http://example.org/alice>
{
_:a foaf:name ‘’Alice’’ .
}
37
Named Graph in TriG
N-quads statements are a sequence of RDF terms representing the subject, predicate, object and graph label of an RDF Triple
@prefix foaf : <http://xmlns.com/foaf/0.1/> .
_:b foaf:name ‘’Bob’’ <http://example.org/bob >.
_:a foaf:name ‘’Alice’’ <http://example.org/alice> .
38
Named Graph in N-Quads
RDF is flexible, schema-free to represent knowledge as triples (subject predicate object)
39
dbr:Jules_Verne rdf:type schema:Person;
dbo:birthPlace dbr:Nantes;
dbo:birthDate "1828-02-08";
dbo:author dbr:Around_the_World_in_Eighty_Days,
dbr:From_the_Earth_to_the_Moon;
dbp:nationality "French";
owl:sameAs wikidata:Jules_Verne.
……..
@prefix dbr:<http://dbpedia.org/resource/> .
@prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix schema: <http://www.schema.org/>.
@prefix dbo:<http://dbpedia.org/ontology/>.
@prefix owl: <http://www.w3.org/2002/07/owl#> .
URI: <http://dbpedia.org/resource/Jules_Verne>
40
RDF Advantages
41
TD/Project and Next lecture