SlideShare a Scribd company logo
Semantic Web and Linked Data
or how to link data
and schemas on the web
a W3C tutorial by Fabien Gandon, http://fabien.info, @fabien_gandon
WWW 2014
semantic web
mentioned by Tim BL
in 1994 at WWW
[Tim Berners-Lee 1994, http://www.w3.org/Talks/WWW94Tim/]
don’t read
the sign
you loose!
machines don’t.
we identify and interpret information,
A WEB OF LINKED DATA
IRI
HTML
HTTP
identification
address
communication
WEB
W3C®SEMANTIC WEB STANDARD STACK
W3C®SEMANTIC WEB STANDARD STACK
W3C®
A WEB OF
LINKED DATA
RDFstands for
Resource: pages, dogs, ideas...
everything that can have a URI
Description: attributes, features, and
relations of the resources
Framework: model, languages and
syntaxes for these descriptions
RDFis a triple model i.e. every
piece of knowledge is broken down into
( subject , predicate , object )
doc.html has for author Fabien
and has for theme Music
doc.html has for author Fabien
doc.html has for theme Music
( doc.html , author , Fabien )
( doc.html , theme , Music )
( subject , predicate , object )
Predicate
Subject
Object
a triplethe RDF atom
RDFis also a graph model
to link the descriptions of resources
RDFtriples can be seen as arcs
of a graph (vertex,edge,vertex)
( doc.html , author , Fabien )
( doc.html , theme , Music )
Fabien
author
doc.html
theme
Music
identify what
exists on the
web
http://my-site.fr
identify,
on the web,
what exists
http://animals.org/this-zebra
http://ns.inria.fr/fabien.gandon#me
http://inria.fr/schema#author
http://inria.fr/rr/doc.html
http://inria.fr/schema#theme
Music
open and link data in a
global giant graph
RDFin values of properties can also be
literals i.e. strings of characters
( doc.html , author , Fabien )
( doc.html , theme , "Music" )
http://ns.inria.fr/fabien.gandon#me
http://inria.fr/schema#author
http://inria.fr/rr/doc.html
http://inria.fr/schema#theme
"Music"
http://ns.inria.fr/fabien.gandon#me
http://inria.fr/schema#author
Music
http://inria.fr/rr/doc.html
http://inria.fr/rr/doc.html
http://inria.fr/schema#theme
RDF< /> has an XML syntax
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-
rdf-syntax-ns#"
xmlns:inria="http://inria.fr/schema#" >
<rdf:Description
rdf:about="http://inria.fr/rr/doc.html">
<inria:author rdf:resource=
"http://ns.inria.fr/fabien.gandon#me"/>
<inria:theme>Music</inria:theme>
</rdf:Description>
</rdf:RDF>
RDFhas other syntaxes
(Turtle, TriG, N-Triples, N-Quads, JSON, RDFa)
Turtle
@prefix rdf:
<http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix inria: <http://inria.fr/schema#> .
<http://inria.fr/rr/doc.html>
inria:author
<http://ns.inria.fr/fabien.gandon#me> ;
inria:theme "Music" .
N-Triples
<http://inria.fr/rr/doc.html>
<http://inria.fr/schema#author>
<http://ns.inria.fr/fabien.gandon#me> .
<http://inria.fr/rr/doc.html>
<http://inria.fr/schema#theme> "Music" .
writing rules for RDF triples
• the subject is always a resource (never a literal)
• properties are binary relations and their types are
identified by IRIs
• the value is a resource or a literal
blank nodes (bnodes)
http://bu.ch/l23.html
author
"My Life"
title
"John"
surname
"Doe"
firstname
handy anonymous nodes (existential quantification)
there exist a resource such that… {  r ; …}
<rdf:Description rdf:about="http://bu.ch/123.html ">
<author>
<rdf:Description>
<surname>Doe</surname>
<firstname>John</firstname>
</rdf:Description>
</author>
<title>My Life</title>
</rdf:Description>
<http://bu.ch/123.html>
author
[surname "Doe" ;
firstname "John" . ] ;
title "My Life" .
XML schema datatypes & literals
standard literals are xsd:string
type literals with datatypes from XML Schema
<rdf:Description rdf:about="#Fabien">
<teaching rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">
true</teaching>
<birth rdf:datatype="http://www.w3.org/2001/XMLSchema#date">
1975-07-31</birth>
</rdf:Description/>
#Fabien teaching "true"^^xsd:boolean ;
birth "1975-07-31"^^xsd:date .
#Fabien "true"^^xsd:boolean
"1975-07-31"^^xsd:date
teaching
birth
XML Schema datatypes
W3C-http://www.w3.org/TR/xmlschema-2/
langue
<Book>
<title xml:lang=‘fr’>Seigneur des anneaux</title>
<title xml:lang=‘en’>Lord of the rings</title>
</Book>
<Book> title "Seigneur des anneaux"@fr ;
title "Lord of the rings"@en .
literals with languages and without are disjoint
“Fabien”  “Fabien”@en  “Fabien”@fr
typing resources
using URIs to identify the types
<urn://~fgandon> rdf:type <http://www.inria.fr/schema#Person>
a resource can have several types
<urn://~fgandon> rdf:type <http://www.inria.fr/schema#Person>
<urn://~fgandon> rdf:type <http://www.inria.fr/schema#Researcher>
<urn://~fgandon> rdf:type <http://www.mit.edu/schema#Lecturer>
<rdf:Description rdf:about="urn://~fgandon">
<rdf:type rdf:resource="http://www.inria.fr/schema#Person" />
<name>Fabien</name>
</rdf:Description>
<in:Person rdf:about="urn://~fgandon">
<name>Fabien</name>
</in:Person>
<urn://~fgandon>
a in:Person ;
name "Fabien" .
question:
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:exs="http://example.org/schema#">
<rdf:Description rdf:about="http://example.org/doc.html">
<rdf:type rdf:resource="http://example.org/schema#Report"/>
<exs:theme rdf:resource="http://example.org#Music"/>
<exs:theme rdf:resource="http://example.org#History"/>
<exs:nbPages rdf:datatype="http://www.w3.org/2001/XMLSchema#int">23</exs:nbPages>
</rdf:Description>
</rdf:RDF>
meaning ?
question:
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:exs="http://example.org/schema#">
<rdf:Description rdf:about="http://example.org/doc.html">
<rdf:type rdf:resource="http://example.org/schema#Report"/>
<exs:theme rdf:resource="http://example.org#Music"/>
<exs:theme rdf:resource="http://example.org#History"/>
<exs:nbPages rdf:datatype="http://www.w3.org/2001/XMLSchema#int">23</exs:nbPages>
</rdf:Description>
</rdf:RDF> exs:Report
rdf:type
exs:nbPages
“23”^^xsd:int
exs:theme
http://example.org/doc.html
http://example.org#Music
http://example.org#History
exs:theme
bags = unordered groups
<rdf:Description rdf:about="#">
<author>
<rdf:Bag>
<rdf:li>Ivan Herman</rdf:li>
<rdf:li>Fabien Gandon</rdf:li>
</rdf:Bag>
</author>
</rdf:Description>
<#> author _:a
_:a rdf:_1 “Ivan Herman”
_:a rdf:_2 “Fabien Gandon”
<#> author [
a rdf:Bag ;
rdf:li "Ivan Herman" ;
rdf:li "Fabien Gandon" . ] .
sequence
ordered group of resources or literals
<rdf:Description rdf:about="#partition">
<contains>
<rdf:Seq>
<rdf:li rdf:about="#C"/>
<rdf:li rdf:about="#C"/>
<rdf:li rdf:about="#C"/>
<rdf:li rdf:about="#D"/>
<rdf:li rdf:about="#E"/>
</rdf:Seq>
</contains>
</rdf:Description>
<partition>
contains [
a rdf:Seq ;
rdf:li "C" ;
rdf:li "C" ;
rdf:li "C" ;
rdf:li "D" ;
rdf:li "E" .
] .
alternativese.g. title of a book in different languages
<rdf:Description rdf:about="#book">
<title>
<rdf:Alt>
<rdf:li xml:lang="fr">l’homme qui prenait sa femme
pour un chapeau</rdf:li>
<rdf:li xml:lang="en">the man who mistook his wife
for a hat</rdf:li>
</rdf:Alt>
</title>
</rdf:Description>
<#book>
title [
a rdf:Alt ;
rdf:li "l’homme…"@fr ;
rdf:li "the man…"@en .
] .
collectionexhaustive and ordered list
<rdf:Description rdf:about="#week">
<dividedIn rdf:parseType="Collection">
<rdf:Description rdf:about="#monday"/>
<rdf:Description rdf:about="#tuesday"/>
<rdf:Description rdf:about="#wednesday"/>
<rdf:Description rdf:about="#thursday"/>
<rdf:Description rdf:about="#friday"/>
<rdf:Description rdf:about="#saturday"/>
<rdf:Description rdf:about="#sunday"/>
</devidedIn>
</rdf:Description>
wednesday
friday
sunday
nil
monday
tuesday
thursday
saturday
firstrest
List
_:a
_:b
_:c
_:d
_:e
_:f
_:g
<#week> dividedIn
( <#monday> <#tuesday> <#wednesday>
<#thursday> <#friday> <#saturday> <#sunday>
) .
RDF(named) graphs
group triples in graphs named by IRIs
http://ns.inria.fr/fabien.gandon#me
http://inria.fr/schema#author
Music
http://inria.fr/rr/doc.html
http://inria.fr/rr/doc.html
http://inria.fr/schema#theme
http://inria.fr/people
http://inria.fr/topics
TriG
@prefix rdf:
<http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix inria: <http://inria.fr/schema#> .
GRAPH <http://inria.fr/people>
{ <http://inria.fr/rr/doc.html>
inria:author
<http://ns.inria.fr/fabien.gandon#me> .
}
GRAPH <http://inria.fr/topics>
{ <http://inria.fr/rr/doc.html>
inria:theme "Music" .
}
N-Quads
<http://inria.fr/rr/doc.html>
<http://inria.fr/schema#author>
<http://ns.inria.fr/fabien.gandon#me>
<http://inria.fr/people> .
<http://inria.fr/rr/doc.html>
<http://inria.fr/schema#theme> "Music"
<http://inria.fr/topics> .
rdf:about
rdf:type
ex:ingredients
rdf:label
dc:creator
ex:weight
openmodel
• extensible vocabulary based on URIs
• anyone can say anything about anything
http://my_domain.org/my_path/my_type
linkto the world
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
ACCESSING DATA ON THE WEB
May 2007 April 2008 September 2008
March 2009
September 2010
Linking Open Data
Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/
September 2011
0
100
200
300
400
10/10/2006 28/04/2007 14/11/2007 01/06/2008 18/12/2008 06/07/2009 22/01/2010 10/08/2010 26/02/2011 14/09/2011 01/04/2012
thematic content
Domains
Number of
datasets
Number of
Triples
% Out links %
Media 25 1 841 852 061 5,82 % 50 440 705 10,01 %
Geography 31 6145 532 484 19,43 % 35 812 328 7,11 %
Government 49 13 315 009 400 42,09 % 19 343 519 3,84 %
Publications 87 2 950 720 693 9,33 % 139 925 218 27,76 %
Inter-domain 41 4 184 635 715 13,23 % 63 183 065 12,54 %
Life Sciences 41 3 036 336 004 9,60 % 191 844 090 38,06 %
Users’ content 20 134 127 413 0,42 % 3 449 143 0,68 %
295 31 634 213 770 503 998 829
42%
20%
13%
10%
9%
6%
0%
Government
Geography
Inter-domain
Life Sciences
Publications
Media
Users' content
ratatouille.fr
datatouille.fr
linked data principles Use RDF as data format
 Use HTTP URIs as names for things so that
people can look up those names
 When someone looks up a URI, provide useful information
(RDF, HTML, etc.) using content negotiation
 Include links to other URIs so that related things can be discovered
HTTP URI
GET
HTML,RDF,…
GET
303
DNShe who controls the name
controls the access
ex. bit.ly & Libya
.fr
*
.inria
isicil
dir.w3.org
query with SPARQL
SPARQL Protocol and RDF
Query Language
SPARQL in 3 parts
part 1: query language
part 2: result format
part 3: access protocol
SPARQL query
SELECT ...
FROM ...
WHERE { ... }
examplepersons at least 18-year old
PREFIX ex: <http://inria.fr/schema#>
SELECT ?person ?name
WHERE {
?person rdf:type ex:Person .
?person ex:name ?name .
?person ex:age ?age .
FILTER (?age > 17)
}
left left
x
*
z
left(x,y)
left(y,z)
right(z,v)
right(z,u)
right(u,v)
left(x,?p) left(?p,z)

right
x
y
z
u v
right
left left
graph mapping / projection
classical three clauses:
– Select: clause to select the values to be returned
– Where: triple/graph pattern to match
– Filter: constraints expressed using test functions
(XPath 2.0 or external)
SPARQL triples
• triples and question marks for variables:
?x rdf:type ex:Person
• graph patterns to match:
SELECT ?subject ?proprerty ?value
WHERE {?subject ?proprerty ?value}
• a pattern is, by default, a conjunction of triples
SELECT ?x WHERE
{ ?x rdf:type ex:Person .
?x ex:name ?name . }
question:
• Query:
SELECT ?name WHERE {
?x name ?name .
?x email ?email .
}
• Base:
_:a name "Fabien"
_:b name "Thomas"
_:c name "Lincoln"
_:d name "Aline"
_:b email <mailto:thom@chaka.sn>
_:a email <mailto:Fabien.Gandon@inria.fr>
_:d email <mailto:avalandre@pachinko.jp>
_:a email <mailto:bafien@fabien.info>
• Results ?
x2
prefixes
to use namespaces:
PREFIX mit: <http://www.mit.edu#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?student
WHERE {
?student mit:registeredAt ?x .
?x foaf:homepage <http://www.mit.edu> .
}
Base namespace : BASE <…>
SPARQL result
failure/ success
values found
result formats
• a binding i.e. list of all the selected values
(SELECT) for each answer found;
(stable XML format ; e.g. for XSLT transformations)
• RDF sub-graphs for each answer found
(RDF/XML format ; e.g. for application integration)
• JSON (eg. ajax web applications)
• CSV/TSV (eg. export)
example of binding
results for previous query in XML
<?xml version="1.0"?>
<sparql xmlns="http://www.w3.org/2005/sparql-results#">
<head>
<variable name="student"/>
</head>
<results ordered="false" distinct="false">
<result>
<binding name="student">
<uri>http//www.mit.edu/data.rdf#ndieng</uri></binding>
</result>
<result>
<binding name="student">
<uri>http//www.mit.edu/data.rdf#jdoe</uri></binding>
</result>
</sparql>
simplified syntax
triples with a common subject:
SELECT ?name ?fname
WHERE {
?x a Person;
name ?name ;
firstname ?fname ;
author ?y . }
list of values
?x firstname "Fabien", "Lucien" .
blank node
[firstname "Fabien"] or [] firstname "Fabien"
SELECT ?name ?fname
WHERE {
?x rdf:type Person .
?x name ?name .
?x firstname ?fname .
?x author ?y .
}
source
PREFIX mit: <http://www.mit.edu#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
FROM http//www.mit.edu/data.rdf
SELECT ?student
WHERE {
?student mit:registeredAt ?x .
?x foaf:homepage <http://www.mit.edu> .
}
optional part
PREFIX mit: <http://www.mit.edu#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?student ?name
WHERE {
?student mit:registeredAt ?x .
?x foaf:homepage <http://www.mit.edu> .
OPTIONAL {? student foaf:name ?name . }
}
possibly unbound
union
alternative graph patterns
PREFIX mit: <http://www.mit.edu#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?student ?name
WHERE {
?student mit:registeredAt ?x .
{
{
?x foaf:homepage <http://www.mit.edu> .
}
UNION
{
?x foaf:homepage <www.stanford.edu/> .
}
}
}
sort, filter and limit answers
PREFIX mit: <http://www.mit.edu#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?student ?name
WHERE {
?student mit:registeredAt ?x .
?x foaf:homepage <http://www.mit.edu> .
?student foaf:name ?name .
? student foaf:age ?age .
FILTER (?age > 22)
}
ORDER BY ?name
LIMIT 20
OFFSET 20
students older than 22 years sorted by name
results from number #21 to #40
operators
• Inside the FILTER:
– Comparators: <, >, =, <=, >=, !=
– Tests on variables : isURI(?x), isBlank(?x),
isLiteral(?x), bound(?x)
– Regular expression regex(?x, "A.*")
– Attributes and values: lang(), datatype(), str()
– Casting: xsd:integer(?x)
– External functions and extensions
– Boolean combinations: &&, ||
• In the where WHERE: @fr , ^^xsd:integer
• In the SELECT: distinct
other functions (v 1.1)
isNumeric(Val) test it is a numeric value
coalesce(val,…, val) first valid value
IRI(Str)/URI(Str) to build an iri/uri from a string
BNODE(ID) to build a blank node
RAND() random value between 0 and 1
ABS(Val) absolute value
CEIL(Val), FLOOR(Val), ROUND(Val)
NOW() today’s date
DAY(Date), HOURS(Date), MINUTES(Date),
MONTH(Date), SECONDS(Date),
TIMEZONE(Date), TZ(Date), YEAR(Date)
to access different parts of a date
MD5(Val), SHA1(Val), SHA256(Val),
SHA384(Val), SHA512(Val) hash functions
string / literal functions (v1.1)
STRDT(value, type) build a typed literal
STRLANG(value, lang) build a literal with a language
CONCAT(lit1,…,litn) concatenate a list of literal
CONTAINS(lit1,lit2), STRSTARTS(lit1,lit2),
STRENDS(lit1,lit2)
to test string inclusion
SUBSTR(lit, start [,length]) extract a sub string
ENCODE_FOR_URI (Str) encodes a string as URI
UCASE (Str), LCASE (Str) uppercase and lowercase
STRLEN (Str) length of the string
aggregates
group by + count, sum, min, max,
avg, group_concat, or sample
ex. average scores, grouped by the subject, but
only where the mean is greater than 10
SELECT (AVG(?score) AS ?average)
WHERE { ?student score ?score . }
GROUP BY ?student
HAVING(AVG(?score) > 10)
question:
PREFIX ex: <http://www.exemple.abc#>
SELECT ?person
WHERE {
?person rdf:type ?type .
FILTER(! ( ?type = ex:Man ))
}
minussubstract a pattern
PREFIX ex: <http://www.exemple.abc#>
SELECT ?person
WHERE {
{ ?x rdf:type ex:Person }
minus {?x rdf:type ex:Man}
}
not existcheck the absence of a pattern
PREFIX ex: <http://www.exemple.abc#>
SELECT ?person
WHERE {
?x ex:memberOf ?org .
filter (not exists
{?y ex:memberOf <Hell>})
}
if… then… else
prefix foaf: <http://xmlns.com/foaf/0.1/>
select * where {
?x foaf:name ?name ; foaf:age ?age .
filter (
if (langMatches( lang(?name), "FR"),
?age>=18, ?age>=21) )
}
test a value is in / not in a list
prefix foaf: <http://xmlns.com/foaf/0.1/>
select * where {
?x foaf:name ?n .
filter (?n in ("fabien", "olivier",
"catherine") )
}
valuespre-defined bindings
select ?person where {
?person name ?name .
VALUES (?name)
{ "Peter" "Pedro" "Pierre" }
}
paths
prefix foaf: <http://xmlns.com/foaf/0.1/>
select ?friends_fab where {
?x foaf:name "Fabien Gandon" ;
foaf:knows+ ?friends_fab ;
}
/ : sequence
| : alternative
+ : one or several
* : zero or several
? : optional
^ : reverse
! : negation
{min,max} : length
select expression
select ?x (year(?date) as ?year)
where {
?x birthdate ?date .
}
subquery / nested query
select ?name where {
{select (max(?age) as ?max)
where { ?person age ?age }
}
?senior age ?max
?senior name ?name
}
construct RDF as result
PREFIX mit: <http://www.mit.edu#>
PREFIX corp: <http://mycorp.com/schema#>
CONSTRUCT
{ ?student rdf:type corp:FuturExecutive . }
WHERE
{ ?student rdf:type mit:Student . }
free description
PREFIX mit: <http://www.mit.edu#>
DESCRIBE ?student
{ ?student rdf:type mit:Student . }
or
DESCRIBE <…URI…>
SPARQL protocol
exchange queries and their
results through the web
An introduction to Semantic Web and Linked Data
e.g. DBpedia
QAKIS
Gephi Plugin
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
(June 2012)
publication
process demo
• one-click setup
• import raw data
• transform to RDF
• publish on the web
• query online
An introduction to Semantic Web and Linked Data
Test on DBpedia
• Connect to:
http://dbpedia.org/snorql/ or
http://fr.dbpedia.org/sparql or …
http://wiki.dbpedia.org/Internationalization/Chapters
• Query:
SELECT * WHERE {
?x rdfs:label "Paris"@fr .
?x ?p ?v .
}
LIMIT 10
An introduction to Semantic Web and Linked Data
HTTP SPARQL
Linked Data Platform
HTTP access to LD resources & containers
get, post, put, delete resources from LD servers.
GET /people/fab HTTP/1.1
Host: data.inria.fr
PUT http://data.inria.fr/people/fab HTTP/1.1
Host: data.inria.fr
Content-Type: text/turtle
<fab> a foaf:Person ;
rdfs:label "Fabien" ;
foaf:mbox <fabien.gandon@inria.fr> .
?
!
SEMANTIC WEB
semantic web: linked data and semantics of schemas
a little semantics in a world of links
An introduction to Semantic Web and Linked Data
had typed links…
the original web
publish the data schemas
180°C+ = ?

+
= 
what is the last
document
you read?
documents
{ }
your answer relies on a
shared ontology
we infer from it
we all understood
Document
Book
Novel Short Story
sub
type
sub
type
#12
#21
#47 #48
"document"
"book"
"livre"
"novel"
"roman"
"short story"
"nouvelle"
#21  #12
#48  #21#47  #21
#21  #12
#48  #21#47  #21
ontological
knowledge formalized
#12
#21
#47 #48
languages
to formalize
ontologies
W3C®
PUBLISH
SEMANTICS
OF SCHEMAS
RDFS means RDF Schema
RDFS provides primitives to Write
lightweight ontologies
RDFS to define classes of resources
and organize their hierarchy
Document
Report
RDFS to define relations between
resources, their signature
and organize their hierarchy
creator
author
Document Person
FO  R  GF  GRmapping modulo an ontology
car
vehicle
car(x)vehicle(x)
GF
GRvehicle
car
O
an old schema of RDFS
W3C http://www.w3.org/TR/2000/CR-rdf-schema-20000327/
example of RDFS schema
<rdf:RDF xml:base ="http://inria.fr/2005/humans.rdfs"
xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns ="http://www.w3.org/2000/01/rdf-schema#>
<Class rdf:ID="Man">
<subClassOf rdf:resource="#Person"/>
<subClassOf rdf:resource="#Male"/>
<label xml:lang="en">man</label>
<comment xml:lang="en">an adult male person</comment>
</Class>
<Man> a Class ; subClassOf <Person>, <Male> .
example of RDFS properties
<rdf:RDF xml:base ="http://inria.fr/2005/humans.rdfs"
xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns ="http://www.w3.org/2000/01/rdf-schema#>
<rdf:Property rdf:ID="hasMother">
<subPropertyOf rdf:resource="#hasParent"/>
<range rdf:resource="#Female"/>
<domain rdf:resource="#Human"/>
<label xml:lang="en">has for mother</label>
<comment xml:lang="en">to have for parent a female.
</comment>
</rdf:Property>
<hasMother> a rdf:Property ;
subPropertyOf <hasParent> ;
range <Female> ; domain <Human> .
example of RDF using this schema
<rdf:RDF xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-
syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns="http://inria.fr/2005/humans.rdfs#"
xml:base=" http://inria.fr/2005/humans.rdfs-instances" >
<rdf:Description rdf:ID="Lucas">
<rdf:type
rdf:resource="http://inria.fr/2005/humans.rdfs#Man"/>
<hasMother rdf:resource="#Laura"/>
</rdf:Description>
<Man rdf:ID="Lucas">
<hasMother rdf:resource="#Laura"/>
</Man>
<Luca> a Man; hasMother <Laura> .
rdfs:label
a resource may have one or more labels in
one or more natural language
<rdf:Property rdf:ID='name'>
<rdfs:domain rdf:resource='Person'/>
<rdfs:range rdf:resource='&rdfs;Literal'/>
<rdfs:label xml:lang='fr'>nom</rdfs:label>
<rdfs:label xml:lang='fr'>nom de famille</rdfs:label>
<rdfs:label xml:lang='en'>name</rdfs:label>
</rdf:Property>
<name> a rdf:Property ;
range rdfs:Literal ; domain <Person> ;
label "nom"@fr, "nom de famille"@fr, "name"@en .
rdfs:comment & rdfs:seeAlso
comments provide definitions and explanations in natural
language
<rdfs:Class rdf:about=‘#Woman’>
<rdfs:subClassOf rdf:resource="#Person"/>
<rdfs:comment xml:lang=‘fr’>une personne adulte du
sexe féminin</rdfs:comment>
<rdfs:comment xml:lang=‘en’>a female adult person
</rdfs:comment>
</rdfs:Class>
see also…
<rdfs:Class rdf:about=‘#Man’>
<rdfs:seeAlso rdf:resource=‘#Woman’/>
</rdfs:Class>
<Woman> a rdfs:Class ; rdfs:subClassOf <Person> ;
rdfs:comment "adult femal person"@en ;
rdfs:comment "une adulte de sexe féminin"@fr .
<Man> a rdfs:Class ; rdfs:seeAlso <Woman> .
CORESE/ KGRAM [Corby et al.]
OWLprovides additional
primitives for
heavyweight ontologies
OWLin one…
enumeration
intersection
union
complement
 disjunction
restriction!
cardinality
1..1
algebraic properties
equivalence
[>18]
disjoint union
value restrict.
disjoint properties
qualified cardinality
1..1
!
individual prop. neg
chained prop.


keys
…
enumerated class
define a class by providing all its members
<owl:Class rdf:id="EyeColor">
<owl:oneOf rdf:parseType="Collection">
<owl:Thing rdf:ID="Blue"/>
<owl:Thing rdf:ID="Green"/>
<owl:Thing rdf:ID="Brown"/>
<owl:Thing rdf:ID="Black"/>
</owl:oneOf>
</owl:Class>
{a,b,c,d,e}
classes defined by union
of other classes
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Person"/>
<owl:Class rdf:about="#Group"/>
</owl:unionOf>
</owl:Class>
classes defined by intersection
of other classes
<owl:Class rdf:ID="Man">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Male"/>
<owl:Class rdf:about="#Person"/>
</owl:intersectionOf>
</owl:Class>
complement and disjunction
complement class
<owl:Class rdf:ID="Male">
<owl:complementOf rdf:resource="#Female"/>
</owl:Class>
declare a disjunction
<owl:Class rdf:ID="Square">
<owl:disjointWith rdf:resource="#Round"/>
</owl:Class>

restriction on all values
<owl:Class rdf:ID="Herbivore">
<subClassOf rdf:resource="#Animal"/>
<subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#eats" />
<owl:allValuesFrom rdf:resource="#Plant" />
</owl:Restriction>
</subClassOf>
</owl:Class>
!
restriction on some values
<owl:Class rdf:ID="Sportive">
<owl:equivalentClass>
<owl:Restriction>
<owl:onProperty rdf:resource="#hobby" />
<owl:someValuesFrom rdf:resource="#Sport" />
</owl:Restriction>
</owl:equivalentClass>
</owl:Class>
!
restriction to an exact value
<owl:Class rdf:ID="Bike">
<subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#nbWheels" />
<owl:hasValue>2</owl:hasValue>
</owl:Restriction>
</subClassOf>
</owl:Class>
!
restriction on cardinality
how many times a property is used for
a same subject but with different values
• Constraints: minimum, maximum, exact number
• Exemple
<owl:Class rdf:ID="Person">
<subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#name" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</subClassOf>
</owl:Class>
1..1
types of properties
• ObjectProperty are relations between resources only
e.g. hasParent(#thomas,#stephan)
• DatatypeProperty have a literal value possibly typed
ex:hasAge(#thomas,16^^xsd:int)
• AnnotationProperty are ignored in inferences and used
for documentation and extensions
algebraic properties
• Symmetric property, xRy  yRx
<owl:SymmetricProperty rdf:ID="hasSpouse" />
• Inverse property, xR1y  yR2x
<rdf:Property rdf:ID="hasChild">
<owl:inverseOf rdf:resource="#hasParent"/>
</rdf:Property>
• Transitive property, xRy & yRz  xRz
<owl:TransitiveProperty rdf:ID="hasAncestor" />
• Functional property, xRy & xRz  y=z
<owl:FunctionalProperty rdf:ID="hasMother" />
• Inverse functional property, xRy & zRy  x=z
<owl:InverseFunctionalProperty
rdf:ID="hasSocialSecurityNumber" />
!
!
equivalencies and alignment
• equivalent classes : owl:equivalentClass
• equivalent properties: owl:equivalentProperty
• identical or different resources:
owl:sameAs, owl:differentFrom

document the schemas
description of the ontology
owl:Ontology, owl:imports, owl:versionInfo,
owl:priorVersion, owl:backwardCompatibleWith,
owl:incompatibleWith
versions of classes and properties
owl:DeprecatedClass, owl:DeprecatedProperty
OWL profiles
EL: large numbers of properties and/or classes
and polynomial time.
QL: large volumes of instance data, and
conjunctive query answering using
conventional relational database in LOGSPACE
RL: scalable reasoning without sacrificing too
much expressive power using rule-based
reasoning in polynomial time
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
VoCamp
camps for vocabulary hackers
semantic waste separation
the web is a garbage can,
the semantic web will be a semantic garbage can.
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
Discovery Hub
An introduction to Semantic Web and Linked Data
Rule Interchange Format (RIF)
core and extensions
e.g. infer new relations
rule: if a member of a team is interested in a topic then
the team as a whole is interested in that topic
?person interestedBy ?topic
?person member ?team

?team interestedBy ?topic
interestedByPerson
?person
Topic
?topic
member Team
?team
interestedBy
question: forward chaining
ex:Fabien ex:activity ex:Research
ex:Fabien ex:in ex:WimmicsTeam
ex:WimmicsTeam ex:in ex:INRIASophia
ex:INRIASophia ex:in ex:INRIA
ex:WimmicsTeam ex:activity ex:Research
ex:INRIASophia ex:activity ex:Research
ex:INRIA ex:activity ex:Research
IF
?x ex:activity ?y
?x ex:in ?z
THEN
?z ex:activity ?y
RIF Core
subset shared by most systems: add only
employee1 [function-> “executive”
bonus -> 10 ]
ForAll ?emp (?emp [ bonus -> 15 ] :-
?emp [ function -> “executive” ] )
employee1 [function -> “executive”
bonus -> 10
bonus -> 15 ]
RIF Core
monotonic Horn clause on frames
conclusion :- hyp1 and hyp2 and hyp3 …
• IRI as constants
• frames as triplets
• lists
• existential quantification in condition
• class membership and equality in condition
RIF BLD (Basic Logic Dialect)
still monotonic : no changes.
• conjunction in conclusion
• fonctions, predicates and named arguments f(?x)
Maganer(?e) :- Exists ?g (manage(?e ?g))
• disjunction in condition
• equality in conclusion
• sub-classes
RIF PRD (Production Rules Dialect)
full production rules in forward chaining
• add, delete, modify, run
• instantiate frames (new)
• negation as failure (ineg)
• no longer monotonic
Forall ?customer ?purchasesYTD
(If And( ?customer#ex:Customer
?customer[ex:purchasesYTD->?purchasesYTD]
External(pred:numeric-greater-than(?purchasesYTD 5000)) )
Then Do( Modify(?customer[ex:status->"Gold"]) ) )
(from PRD Rec. Doc.)
RIF, RIF, RIF,…
• DTB (Datatypes and Built-Ins) : data types with their
predicates and functions
• FLD: how to specify new dialects extending BLD
• SWC : syntax and semantics to combine RIF, RDF
graphs, RDFS and OWL (RL)
SKOS
knowledge
thesauri,
classifications,
subjects,
taxonomies,
folksonomies,
... controlled
vocabulary
168
natural language expressions to refer to concepts
169
inria:CorporateSemanticWeb
skos:prefLabel "corporate semantic web"@en;
skos:prefLabel "web sémantique d'entreprise"@fr;
skos:altLabel "corporate SW"@en;
skos:altLabel "CSW"@en;
skos:hiddenLabel "web semantique d'entreprise"@fr.
labels
between conceptsinria:CorporateSemanticWeb
skos:broader w3c:SemanticWeb;
skos:narrower inria:CorporateSemanticWiki;
skos:related inria:KnowledgeManagement.
relations
inria:CorporateSemanticWeb
skos:scopeNote "only within KM community";
skos:definition "a semantic web on an intranet";
skos:example "Nokia's internal use of RDF gateway";
skos:historyNote "semantic intranet until 2006";
skos:editorialNote "keep wikipedia def. uptodate";
skos:changeNote "acronym added by fabien".
EXTENDING TO OTHER SOURCES
toward all forms of data on the web
many databuried and dormant in web pages
R2RML
a standard transformation of a
relationnal database in RDF
schema
mapping
direct mapping
• cells of a line  triples with a shared subject
• names of columns  names of properties
• each value of a cell  one object
• links between tables
name fname age
doe john 34
did sandy 45
#s1 :name "doe"
#s1 :fname "john"
#s1 :age "34"
#s2 :name "did"
#s2 :fname "sandy"
#s2 :age "45"
#s3 …
example of mapping
ISBN Author Title Year
0006511409X id_xyz The Glass Palace 2000
ID Name Homepage
id_xyz Ghosh, Amitav http://www.amitavghosh.com
http://…isbn/000651409X
Ghosh, Amitav http://www.amitavghosh.com
The Glass Palace
2000
a:name
a:homepage
a:author
(1) transforming
table of persons
ISBN Author Title Year
0006511409X id_xyz The Glass Palace 2000
ID Name Homepage
id_xyz Ghosh, Amitav http://www.amitavghosh.com
http://…isbn/000651409X
Ghosh, Amitav http://www.amitavghosh.com
The Glass Palace
2000
a:name
a:homepage
a:author
:P_Table rdf:type rr:TriplesMap ;
rr:subjectMap [
rr:termtype "BlankNode" ;
rr:column "ID" ;
] ;
rr:predicateObjectMap [
rr:predicateMap [
rr:predicate a:name
];
rr:objectMap [
rr:column "Name"
]
] ;
rr:predicateObjectMap [
rr:predicateMap [
rr:predicate a:homepage
];
rr:objectMap [
rr:column "Homepage" ;
rr:termtype "IRI"
]
] ;
(2) transforming
table of books
ISBN Author Title Year
0006511409X id_xyz The Glass Palace 2000
ID Name Homepage
id_xyz Ghosh, Amitav http://www.amitavghosh.com
http://…isbn/000651409X
Ghosh, Amitav http://www.amitavghosh.com
The Glass Palace
2000
a:name
a:homepage
a:author
:B_Table rdf:type rr:TriplesMap ;
rr:subjectMap [
rr:template "http://...isbn/{ISBN}";
];
rr:predicateObjectMap [
rr:predicateMap [
rr:predicate a:title
];
rr:objectMap [
rr:column "Title"
]
] ;
rr:predicateObjectMap [
rr:predicateMap [
rr:predicate a:year
];
rr:objectMap [
rr:column "Year" ;
]
] ;
(3) linking tables
ISBN Author Title Year
0006511409X id_xyz The Glass Palace 2000
ID Name Homepage
id_xyz Ghosh, Amitav http://www.amitavghosh.com
http://…isbn/000651409X
Ghosh, Amitav http://www.amitavghosh.com
The Glass Palace
2000
a:name
a:homepage
a:author
:B_Table a rr:TriplesMap ;
...
rr:refPredicateObjectMap [
rr:refPredicateMap [
rr:predicate a:author
];
rr:refObjectMap [
rr:parentTriplesMap :P_Table ;
rr:joinCondition
"{child}.Author = {parent}.ID"
]
]
].
schema.org
schemas to improve index, search and display e.g:
• Creative works, Book, Movie, MusicRecording, Recipe, TVSeries ...
• Embedded non-text objects, AudioObject, ImageObject, VideoObject
• Event
• Organization
• Person
• Place, LocalBusiness, Restaurant ...
• Product, Offer, AggregateOffer
• Review, AggregateRating
= + + +
RDFa 1.1: example on schema.org
<div vocab="http://schema.org/" typeof="Product">
<img rel="image" src="dell-30in-lcd.jpg" />
<span property="name">Dell UltraSharp 30" LCD Monitor</span>
<div rel="hasAggregateRating" >
<div typeof="http://schema.org/AggregateRating">
<span property="ratingValue">87</span>
out of <span property="bestRating">100</span>
based on <span property="ratingCount">24</span> user ratings
</div>
</div>
<div rel="offers" >
<div typeof="http://schema.org/AggregateOffer">
<span property="lowPrice">$1250</span>
to <span property="highPrice">$1495</span>
from <span property="offerCount">8</span> sellers
</div>
</div>
(…)
PS: RDFa Lite = vocab + typeof + property + about + prefix.
GRDDL opens formats
by allowing us to declare RDF extraction
algorithms inside XML documents
<head profile="http://www.w3.org/2003/g/data-view">
<title>The man who mistook his wife for a hat</title>
<link rel="transformation"
href="http://www.w3.org/2000/06/ dc-extract/dc-extract.xsl" />
<meta name="DC.Subject" content="clinical tales" />
…
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
code inside the page
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US"
xmlns:fb="https://www.facebook.com/2008/fbml">
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns# YOUR_NAMESPACE:
http://ogp.me/ns/apps/YOUR_NAMESPACE#">
<meta property="fb:app_id" content="YOUR_APP_ID" />
<meta property="og:type" content="YOUR_NAMESPACE:recipe" />
<meta property="og:title" content="Stuffed Cookies" />
<meta property="og:image" content="http://example.com/cookie.jpg" />
<meta property="og:description" content="The Turducken of Cookies" />
<meta property="og:url" content="http://example.com/cookie.html">
<script type="text/javascript">
function postCook()
{ FB.api('/me/YOUR_NAMESPACE:cook' +
'?recipe=http://example.com/cookie.html','post', (…) }); }
</script>
</head>
<body>
(…)
<form>
<input type="button" value="Cook" onclick="postCook()" />
</form>
</body>
</html>
An introduction to Semantic Web and Linked Data
VoID: describing RDF datasets/linksets
:DBpedia a void:Dataset;
void:sparqlEndpoint <http://dbpedia.org/sparql>;
void:feature :RDFXML ;
void:subset :DBpedia2Geonames ;
void:uriLookupEndpoint <http://lookup.dbpedia.org/api/search.asmx/KeywordSearch? QueryString=> ;
dcterms:modified "2008-11-17"^^xsd:date;
dcterms:title "DBPedia";
dcterms:description "RDF data extracted from Wikipedia";
dcterms:publisher :DBpedia_community;
dcterms:license <http://creativecommons.org/licenses/by-sa/3.0/>;
dcterms:source <http://dbpedia.org/resource/Wikipedia>.
:Geonames a void:Dataset;
void:sparqlEndpoint <http://geosparql.appspot.com/query>;
void:triples "107983838"^^xsd:integer ;
dcterms:subject <http://dbpedia.org/resource/Location> .
:DBpedia2Geonames a void:Linkset ;
void:linkPredicate owl:sameAs ;
void:target :DBpedia ;
void:target :Geonames .
e.g. DBpedia dataset
DCAT: describing any dataset
Data Cube: publish multi-dimensional
data (statistics)
CSV-LD & Linked CSV
• contexts to interpret and generate CSV
• conventions for CSV to be linked in RDF
SAWSDLsemantic annotation of WSDL (W3C Rec. 2007)
SAWSDL…
semantically
services annotated and searched
providerserviceclientrequester
directory
3
12
a (too) fast three-tier summary
RDFa, microdata,…
LDP, HTTP, JSON-LD, …
R2RML, SPARQL, RDF, …
presentation
logic
data
W3C®
PROVENANCE
Provenance: PROV-DM & PROV-O
describe entities and activities
involved in providing a resource
PROV-O provenance ontology
PROV-O provenance ontology
PROV-DM & PROV-O: primer example
ex:compose prov:used ex:dataSet1 ;
prov:used ex:regionList .
ex:composition prov:wasGeneratedBy ex:compose .
ex:illustrate prov:used ex:composition .
ex:chart1 prov:wasGeneratedBy ex:illustrate .
PROV primer full example
annotating multimédia elements
• semantic description of multimedia
resources [Media Annotation]
• pointing to internal elements of
multimedia resources [Media Fragment]
multimedia fragment
• part of the URL after the #
http://www.example.com/example.ogv#track=audio&t=10,20
• dimensions:
– temporal:
t=10,20 / t=npt:,0:02:01.5 / t=clock:2009-07-26T11:19:01Z
– spatial:
xywh=pixel:160,120,320,240 / xywh=percent:25,25,50,50
– track:
track=1 / track=video&track=subtitle / track=Wide
– named:
id=chapter-1
• fragment are not sent with the URL but encoded in
the HTTP request
ontologies for multimedia descriptions
ontology for Media Resources 1.0
<video.ogv> a ma:MediaResource ;
ma:hasTrack <video.ogv#track=audio>,
<video.ogv#track=subtitle>;
ma:hasSubtitling <video.ogv#track=subtitle> ;
ma:hasSigning <video.ogv#xywh=percent:70,70,90,90> .
<video.ogv#track=audio> a ma:AudioTrack ;
ma:hasLanguage [ rdfs:label "en-GB" ] ;
ma:hasFragment <video.ogv#track=audio&t=10,20> .
<video.ogv#track=audio&t=10,20> a ma:MediaFragment ;
ma:hasLanguage [ rdfs:label "fr" ] .
<video.ogv#track=subtitle> a ma:DataTrack ;
ma:hasLanguage [ rdfs:label "es" ] .
<video.ogv#xywh=percent:70,70,90,90> a ma:MediaFragment ;
ma:hasLanguage [ rdfs:label "bfi" ] .
Time line
some pointers• W3C standards
http://www.w3.org/standards/semanticweb/
• SW Tools
http://www.w3.org/2001/sw/wiki/Tools
• Linked Data Book
http://linkeddatabook.com/editions/1.0/
• W3DevCampus
http://www.w3devcampus.com/
• EUCLID material
http://www.euclid-project.eu/
http://www.w3.org/2001/sw/wiki/Tools
open standards
sources
data
doggy-bag
impossible
to predict every
usage
black boxes
avoid building
explicit
make conceptualizations
open your data
to those who could use them
#WatchDogs #WeAreData @ubisoft
66 FOAF primitives 3 475 908 348 references (2)
x 52 millions
“a small tree ruling a big graph”(1)
(1) Franck Van Harmelen, ISWC 2011
(2) Libby Miller, 2009
“semantic web”
and not
“semanticweb”
[C. Welty, ISWC 2007]
“a lightweight ontology
allows us to do
lightweight reasoning”
[J. Hendler, ISWC 2007]
data
data bases
data models
open data
linked data
closed data
enterprise data
linked enterprise data
linked open data
data schemas
semantic web of data
data structures
linked data schemas
web of data
big data
big data streams
data streams
linked data streams web of sensors, things, …
VELOCITY
big linked data
VOLUME
VARIETY
VVeb data
linked healthcare data
VICINITY
VISIBILITY
personal data
data mining
data type
web 1, 2
price convert?
person homepage?
more info?
web 1, 2, 3
identify
describe & link
query
reasoning
trace
URI
RDF
HTTP, SPARQL, LDP
RDFS & OWL
PROV-O
GOALS AND MEANS
identify
describe & link
query
reasoning
trace
http://fabien.fr#me
#me type man
select * {?r type ?t}
man subClassOf male
wasAttributedTo #me
GOALS AND MEANS
informal
formal
usage representation
one web…
data
person document
program
metadata
he who controls metadata, controls the web
and through the world-wide web many things in our world.
fabien, gandon, @fabien_gandon, http://fabien.info
WWW 2014

More Related Content

What's hot (20)

PPT
Introduction To RDF and RDFS
Nilesh Wagmare
 
PPTX
RDF 개념 및 구문 소개
Dongbum Kim
 
PPTX
SHACL by example
Jose Emilio Labra Gayo
 
PDF
Semantic web
Myungjin Lee
 
PDF
Introduction to the Semantic Web
Marin Dimitrov
 
PPTX
The Basics of MongoDB
valuebound
 
PDF
Linked Open Data Principles, Technologies and Examples
Open Data Support
 
PDF
Ontologies and semantic web
Stanley Wang
 
PDF
Knowledge Graphs, Ontologies, and AI Applications
Earley Information Science
 
PPTX
Introduction to the Semantic Web
Tomek Pluskiewicz
 
PDF
Chapter 1 semantic web
R A Akerkar
 
PPT
Introduction to RDF
Narni Rajesh
 
PDF
PostgreSQL_ Up and Running_ A Practical Guide to the Advanced Open Source Dat...
MinhLeNguyenAnh2
 
PPTX
SPARQL Cheat Sheet
LeeFeigenbaum
 
PDF
Property graph vs. RDF Triplestore comparison in 2020
Ontotext
 
PPTX
Mongodb basics and architecture
Bishal Khanal
 
PDF
Introduction to Knowledge Graphs: Data Summit 2020
Enterprise Knowledge
 
PPTX
Restful web services ppt
OECLIB Odisha Electronics Control Library
 
PPTX
The Semantic Web #6 - RDF Schema
Myungjin Lee
 
PPTX
MongoDB presentation
Hyphen Call
 
Introduction To RDF and RDFS
Nilesh Wagmare
 
RDF 개념 및 구문 소개
Dongbum Kim
 
SHACL by example
Jose Emilio Labra Gayo
 
Semantic web
Myungjin Lee
 
Introduction to the Semantic Web
Marin Dimitrov
 
The Basics of MongoDB
valuebound
 
Linked Open Data Principles, Technologies and Examples
Open Data Support
 
Ontologies and semantic web
Stanley Wang
 
Knowledge Graphs, Ontologies, and AI Applications
Earley Information Science
 
Introduction to the Semantic Web
Tomek Pluskiewicz
 
Chapter 1 semantic web
R A Akerkar
 
Introduction to RDF
Narni Rajesh
 
PostgreSQL_ Up and Running_ A Practical Guide to the Advanced Open Source Dat...
MinhLeNguyenAnh2
 
SPARQL Cheat Sheet
LeeFeigenbaum
 
Property graph vs. RDF Triplestore comparison in 2020
Ontotext
 
Mongodb basics and architecture
Bishal Khanal
 
Introduction to Knowledge Graphs: Data Summit 2020
Enterprise Knowledge
 
The Semantic Web #6 - RDF Schema
Myungjin Lee
 
MongoDB presentation
Hyphen Call
 

Viewers also liked (20)

PDF
Web Trends to Watch in 2014
David King
 
PDF
Video Tools for Teachers - Digital Video
Nik Peachey
 
PPTX
What I Carry: 10 Tools for Success
Jonathon Colman
 
PDF
Dear NSA, let me take care of your slides.
Emiland
 
PDF
Deep Learning through Examples
Sri Ambati
 
PDF
Building a keyboard from scratch
Jesse Vincent
 
PDF
Getting Started With SlideShare
SlideShare
 
ODP
Web 3.0 The Semantic Web
Hatem Mahmoud
 
PDF
How to Make Awesome SlideShares: Tips & Tricks
SlideShare
 
PPT
Thermodynamics Chapter 3- Heat Transfer
VJTI Production
 
PDF
Occupational Safety and Health Management in Construction Industry
Norrazman Zaiha Zainol
 
PDF
The Ultimate Guide to Creating Visually Appealing Content
Neil Patel
 
PPT
The Semantic Web
ostephens
 
PDF
What Makes Great Infographics
SlideShare
 
PPTX
What to Upload to SlideShare
SlideShare
 
PDF
Masters of SlideShare
Kapost
 
PDF
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
Empowered Presentations
 
PDF
You Suck At PowerPoint!
Jesse Desjardins - @jessedee
 
PDF
10 Ways to Win at SlideShare SEO & Presentation Optimization
Oneupweb
 
PPTX
BUSINESS QUIZ -Round 1
pradeep acharya
 
Web Trends to Watch in 2014
David King
 
Video Tools for Teachers - Digital Video
Nik Peachey
 
What I Carry: 10 Tools for Success
Jonathon Colman
 
Dear NSA, let me take care of your slides.
Emiland
 
Deep Learning through Examples
Sri Ambati
 
Building a keyboard from scratch
Jesse Vincent
 
Getting Started With SlideShare
SlideShare
 
Web 3.0 The Semantic Web
Hatem Mahmoud
 
How to Make Awesome SlideShares: Tips & Tricks
SlideShare
 
Thermodynamics Chapter 3- Heat Transfer
VJTI Production
 
Occupational Safety and Health Management in Construction Industry
Norrazman Zaiha Zainol
 
The Ultimate Guide to Creating Visually Appealing Content
Neil Patel
 
The Semantic Web
ostephens
 
What Makes Great Infographics
SlideShare
 
What to Upload to SlideShare
SlideShare
 
Masters of SlideShare
Kapost
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
Empowered Presentations
 
You Suck At PowerPoint!
Jesse Desjardins - @jessedee
 
10 Ways to Win at SlideShare SEO & Presentation Optimization
Oneupweb
 
BUSINESS QUIZ -Round 1
pradeep acharya
 
Ad

Similar to An introduction to Semantic Web and Linked Data (20)

PDF
W3C Tutorial on Semantic Web and Linked Data at WWW 2013
Fabien Gandon
 
PDF
An introduction to Semantic Web and Linked Data
Gabriela Agustini
 
PDF
An introduction to Semantic Web and Linked Data
Gabriela Agustini
 
PPT
Chapter3_a_updated.ppt
Awais Qarni
 
PPT
semantic web resource description framework
KomalFatima37
 
PDF
Introduction to RDF
Dr Sukhpal Singh Gill
 
PPT
Rdf
Imran Babar
 
PPT
A Semantic Multimedia Web (Part 2)
Raphael Troncy
 
PPTX
Sem webmaubeuge
Jose Emilio Labra Gayo
 
PPT
Rdf In A Nutshell V1
Fabien Gandon
 
PPT
A hands on overview of the semantic web
Marakana Inc.
 
PDF
A Hands On Overview Of The Semantic Web
Shamod Lacoul
 
PDF
Graph databases & data integration v2
Dimitris Kontokostas
 
PDF
RDF: what and why plus a SPARQL tutorial
Jerven Bolleman
 
PDF
ESWC SS 2012 - Monday Tutorial 1 Aidan Hogan: Semantic Web Languages and Stan...
eswcsummerschool
 
PPTX
A Little SPARQL in your Analytics
Dr. Neil Brittliff
 
PDF
SPARQL and Linked Data
Fulvio Corno
 
PPTX
SWT Lecture Session 2 - RDF
Mariano Rodriguez-Muro
 
PPTX
SNSW CO3.pptx
harishdhanukonda48
 
PPTX
Hacia la Internet del Futuro: Web Semántica y Open Linked Data, Parte 2
Diego López-de-Ipiña González-de-Artaza
 
W3C Tutorial on Semantic Web and Linked Data at WWW 2013
Fabien Gandon
 
An introduction to Semantic Web and Linked Data
Gabriela Agustini
 
An introduction to Semantic Web and Linked Data
Gabriela Agustini
 
Chapter3_a_updated.ppt
Awais Qarni
 
semantic web resource description framework
KomalFatima37
 
Introduction to RDF
Dr Sukhpal Singh Gill
 
A Semantic Multimedia Web (Part 2)
Raphael Troncy
 
Sem webmaubeuge
Jose Emilio Labra Gayo
 
Rdf In A Nutshell V1
Fabien Gandon
 
A hands on overview of the semantic web
Marakana Inc.
 
A Hands On Overview Of The Semantic Web
Shamod Lacoul
 
Graph databases & data integration v2
Dimitris Kontokostas
 
RDF: what and why plus a SPARQL tutorial
Jerven Bolleman
 
ESWC SS 2012 - Monday Tutorial 1 Aidan Hogan: Semantic Web Languages and Stan...
eswcsummerschool
 
A Little SPARQL in your Analytics
Dr. Neil Brittliff
 
SPARQL and Linked Data
Fulvio Corno
 
SWT Lecture Session 2 - RDF
Mariano Rodriguez-Muro
 
SNSW CO3.pptx
harishdhanukonda48
 
Hacia la Internet del Futuro: Web Semántica y Open Linked Data, Parte 2
Diego López-de-Ipiña González-de-Artaza
 
Ad

More from Fabien Gandon (20)

PDF
Walking Our Way to the Web
Fabien Gandon
 
PDF
a shift in our research focus: from knowledge acquisition to knowledge augmen...
Fabien Gandon
 
PDF
Evaluation d’explications pour la prédiction de liens dans les graphes de con...
Fabien Gandon
 
PDF
A Never-Ending Project for Humanity Called “the Web”
Fabien Gandon
 
PDF
Wimmics Overview 2021
Fabien Gandon
 
PDF
CovidOnTheWeb : covid19 linked data published on the Web
Fabien Gandon
 
PPTX
Web open standards for linked data and knowledge graphs as enablers of EU dig...
Fabien Gandon
 
PDF
from linked data & knowledge graphs to linked intelligence & intelligence graphs
Fabien Gandon
 
PDF
The Web We Mix - benevolent AIs for a resilient web
Fabien Gandon
 
PDF
Overview of the Research in Wimmics 2018
Fabien Gandon
 
PDF
Web science AI and IA
Fabien Gandon
 
PDF
Normative Requirements as Linked Data
Fabien Gandon
 
PDF
Wimmics Research Team Overview 2017
Fabien Gandon
 
PDF
On the many graphs of the Web and the interest of adding their missing links.
Fabien Gandon
 
PDF
One Web of pages, One Web of peoples, One Web of Services, One Web of Data, O...
Fabien Gandon
 
PDF
How to supervise your supervisor?
Fabien Gandon
 
PDF
Dans l'esprit du Pagerank: regards croisés sur les algorithmes,
Fabien Gandon
 
PDF
Wimmics Research Team 2015 Activity Report
Fabien Gandon
 
PDF
Retours sur le MOOC "Web Sémantique et Web de données"
Fabien Gandon
 
PPTX
Emotions in Argumentation: an Empirical Evaluation @ IJCAI 2015
Fabien Gandon
 
Walking Our Way to the Web
Fabien Gandon
 
a shift in our research focus: from knowledge acquisition to knowledge augmen...
Fabien Gandon
 
Evaluation d’explications pour la prédiction de liens dans les graphes de con...
Fabien Gandon
 
A Never-Ending Project for Humanity Called “the Web”
Fabien Gandon
 
Wimmics Overview 2021
Fabien Gandon
 
CovidOnTheWeb : covid19 linked data published on the Web
Fabien Gandon
 
Web open standards for linked data and knowledge graphs as enablers of EU dig...
Fabien Gandon
 
from linked data & knowledge graphs to linked intelligence & intelligence graphs
Fabien Gandon
 
The Web We Mix - benevolent AIs for a resilient web
Fabien Gandon
 
Overview of the Research in Wimmics 2018
Fabien Gandon
 
Web science AI and IA
Fabien Gandon
 
Normative Requirements as Linked Data
Fabien Gandon
 
Wimmics Research Team Overview 2017
Fabien Gandon
 
On the many graphs of the Web and the interest of adding their missing links.
Fabien Gandon
 
One Web of pages, One Web of peoples, One Web of Services, One Web of Data, O...
Fabien Gandon
 
How to supervise your supervisor?
Fabien Gandon
 
Dans l'esprit du Pagerank: regards croisés sur les algorithmes,
Fabien Gandon
 
Wimmics Research Team 2015 Activity Report
Fabien Gandon
 
Retours sur le MOOC "Web Sémantique et Web de données"
Fabien Gandon
 
Emotions in Argumentation: an Empirical Evaluation @ IJCAI 2015
Fabien Gandon
 

Recently uploaded (20)

PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
Digital Circuits, important subject in CS
contactparinay1
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 

An introduction to Semantic Web and Linked Data