97
Introduction au Web Sémantique Web des données PhD Lynda Temal [email protected] Chez sfeir depuis 10 février 2014 Remerciement : Cette présentation à été réalisée à partir d’un ensemble de présentations de Fabien Gandon, chercheur à L’inria et membre du W3C. Merci à lui. 1

Introduction au Web Sémantique - Web des données par Lynda Temal

  • Upload
    sfeir

  • View
    964

  • Download
    5

Embed Size (px)

Citation preview

Page 1: Introduction au Web Sémantique - Web des données par Lynda Temal

Introduction au Web Sémantique

Web des données

PhD Lynda [email protected] sfeir depuis 10 février 2014

Remerciement : Cette présentation à été réalisée à partir d’un ensemble de présentations de Fabien Gandon, chercheur à L’inria et membre du W3C. Merci à lui. 1

Page 2: Introduction au Web Sémantique - Web des données par Lynda Temal

Succès d’Internet

❏ Documents❏ Images❏ Vidéos❏ Applications ❏ Services❏ Vie Sociale❏ Business

Cependant ….

2

Page 3: Introduction au Web Sémantique - Web des données par Lynda Temal

Qui peut exploiter le Web actuel ?

● Les humains ?

● Les moteurs de recherche ?

Problème du web actuel

3

Page 4: Introduction au Web Sémantique - Web des données par Lynda Temal

Ce que voit un humain

4

Page 5: Introduction au Web Sémantique - Web des données par Lynda Temal

Pour la machine

5

Page 6: Introduction au Web Sémantique - Web des données par Lynda Temal

Quelle est la différence ?

● L’humain peut identifier et interpréter

● La machine non !

6

Page 7: Introduction au Web Sémantique - Web des données par Lynda Temal

Bémol !

La machine stocke des informations qu’elle

ne peut pas interpréter.

7

Page 8: Introduction au Web Sémantique - Web des données par Lynda Temal

Le Web Sémantique mentionné par Tim Berners-Lee en 1994 à WWW

Passer du web des liens entre des pages peu compréhensibles par les machines à ...

un web de choses reliées à la réalité et compréhensibles par les machines

8

Page 9: Introduction au Web Sémantique - Web des données par Lynda Temal

Ce qu’il faut faire :

9

Identifier / Expliciter

In front of

behind In front of

Page 10: Introduction au Web Sémantique - Web des données par Lynda Temal

Comment ?

Utiliser une

ontology partagée

Que nous pouvons comprendre

Que la machine peut interpréter

10

Page 11: Introduction au Web Sémantique - Web des données par Lynda Temal

Définition de l’ontologie

11

Page 12: Introduction au Web Sémantique - Web des données par Lynda Temal

Concept / termes / intention / extension

12

Page 13: Introduction au Web Sémantique - Web des données par Lynda Temal

Relation de subsemption : C is a B

Voiture

Voiture2 roues motrices

Voiture4 roues motrices

VoitureEssence

VoitureHybride

Toyota Yaris hybride

Personne

Adulte

VoitureElectrique

part of

is a

is ais a

is a

is a

is ais a

MarieToyota Yaris

hybridemate xyz

appartient is a

is a

Moteur

is a

13

Moyende transport

is a

Femme

is a

is a

Page 14: Introduction au Web Sémantique - Web des données par Lynda Temal

Relation de mérologie (part of)

14

Page 15: Introduction au Web Sémantique - Web des données par Lynda Temal

Foundational Model of Anatomy

15

Page 16: Introduction au Web Sémantique - Web des données par Lynda Temal

16

Vocabulaire contrôlé

Glossaire

Thésaurus

Taxonomy

Ontologie

Sémantique faible

Sémantique forte

Interopérabilité sémantique

Interopérabilité syntaxique

Niveaux d’interopérabilités

Logique de description

subsemption(is a)

liens terminologiques

axioms

Page 17: Introduction au Web Sémantique - Web des données par Lynda Temal

Comment faire concrètement ?

17

Page 18: Introduction au Web Sémantique - Web des données par Lynda Temal

Les Technologies du Web Sémantique

Représentation

RequêteRaisonnement

Confiance

18

Page 19: Introduction au Web Sémantique - Web des données par Lynda Temal

Couche de représentation

19

Page 20: Introduction au Web Sémantique - Web des données par Lynda Temal

RDF

Resource: entreprises, livres, personnes,

perceuses, média, services, idées…Description: attributs, qualités, et

des relations entre les ressources

Framework: modèle, langages et

syntaxes pour ces descriptions

20

Page 21: Introduction au Web Sémantique - Web des données par Lynda Temal

RDF : un modèle de triplets

( sujet , predicat, objet )

Structure d’une phrase simple

( sujet , verbe, complément )

21

Page 22: Introduction au Web Sémantique - Web des données par Lynda Temal

Contenu non interprétable par la machine

Timothy John Berners-Lee,

né le 8 juin 1955 à Londres.

Il est le principal inventeur du World Wide Web.

Il préside le World Wide Web Consortium (W3C),

organisme qu'il a fondé.

Auteur du livre a Framework for Web Science.

22

Page 23: Introduction au Web Sémantique - Web des données par Lynda Temal

Identification : Ressources & Relations

Timothy John Berners-Lee,

né le 8 juin 1955 à Londres.

Il est le principal inventeur du World Wide Web.

Il préside le World Wide Web Consortium (W3C),

organisme qu'il a fondé.

Auteur du livre a Framework for Web Science.

23

Page 24: Introduction au Web Sémantique - Web des données par Lynda Temal

Phrases simples

TimBL has date of birth 1955-06-08.

TimBL has place of birth London.

TimBL is inventor of WWW.

TimBL is director of W3C.

TimBL is creator of W3C.

TimBL is author of Frame work for Web Sience

sujet verbe complément24

Page 25: Introduction au Web Sémantique - Web des données par Lynda Temal

Triplets RDF : interprétables par la machine

(TimBL, dateOfBirth, 1955-06-08)

(TimBL, placeOfBirth, London)

(TimBL, isInventorOf, WWW)

(TimBL, isDirectorOf, W3C)

(TimBL, isCreatorOf, W3C)

(TimBL, isAuthorOf, Web_Science)

(Sujet, predicat, Objet)25

Page 26: Introduction au Web Sémantique - Web des données par Lynda Temal

Les triplets RDF peuvent être

représentés par un graphe orienté

(sommet, arc, sommet)

26

Page 27: Introduction au Web Sémantique - Web des données par Lynda Temal

TimBL

W3C

1955-06-08

dateOfBirth

isDirectorOF

27

Page 28: Introduction au Web Sémantique - Web des données par Lynda Temal

URI : Uniforme Resource Identifier

28

Page 29: Introduction au Web Sémantique - Web des données par Lynda Temal

dbpedia:Tim_Bernes-Lee

http://www.w3.org

1955-06-08(xsd:date)

http://dbpedia.org/property#dateOfBirth

http://dbpedia.org/property#founder

1955-06-08(xsd:date)

29

Page 30: Introduction au Web Sémantique - Web des données par Lynda Temal

dbpedia:London

dbpedia:England

dbpedia:Tim_Bernes-Le

http://dbpedia.org/property#placeOfBirth

http://dbpedia.org/property#isPartOf

dbpedia:London

30

Page 31: Introduction au Web Sémantique - Web des données par Lynda Temal

dbpedia:London

dbpedia:England

dbpedia:Tim_Bernes-Le

http://dbpedia.org/property#placeOfBirth

http://dbpedia.org/property#isPartOf

dbpedia:London

http

://db

pedi

a.or

g/pe

ople

http

://db

pedi

a.or

g/pa

lce

31

Page 32: Introduction au Web Sémantique - Web des données par Lynda Temal

RDF/XML

<rdf:RDF

xmlns:rdf=”http://www.W3.org/1999/02/22-rdf-syntaxe-ns#”

xmlns:dbpedia="http://dbpedia.org/property#"

Xmlns:xsd=”http://www.w3.org/2001/XMLShema#”

Xmlns:dc=”http://purl.org/dc/terms”>

<rdf:Description rdf:about="http://dbpedia.org/resource/Tim_Berners-Lee

<dc:creator rdf:resource=”http://www.w3.org”/>

<dbpedia:dateOfBirth>1955-06-08</dbpedia:dateOfBirth>

<dbpedia:placeOfBirth rdf:resource=dbpedia:London/>

</rdf:Description>

</rdf:RDF>

32

Page 33: Introduction au Web Sémantique - Web des données par Lynda Temal

N-Triplet

<http://dbpedia.org/resource/Tim_Berners-Lee>

<http://purl.org/dc/terms/creator>

<http://www.w3.org>

<http://dbpedia.org/resource/Tim_Berners-Lee>

<http://dbpedia.org/property/dateOfBirth>

“1955-06-08”^^<http://www.w3.org/2001/XMLSchema#date>

<http://dbpedia.org/resource/Tim_Berners-Lee>

<http://dbpedia.org/property/placeOfBirth>

<http://dbpedia.org/resource/London>

<http://dbpedia.org/resource/London>

<http://dbpedia.org/property/isPartOf>

<http://dbpedia.org/resource/England>

33

Page 34: Introduction au Web Sémantique - Web des données par Lynda Temal

Turtel@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.

@prefix xsd: <http://www.w3.org/2001/XMLShema#>.

@prefix dc: <http://purl.org/dc/terms>

@prefix dbpedia: <http://dbpedia.org/resource#>

@prefix dbpprop <http://dbpedia.org/property#>

dbpedia:Tim_Berners-Lee dc:creator <http://www.w3.org/> ;

dc:author dbpedia:Web_Science;

dbpprop:dateOfBirth “1955-06-08”^^xsd:date;

dbpprop:placeOfBirth dbpedia:London.

dbpedia:London dbpprop:isPartOf dbpedia:England.

34

Page 35: Introduction au Web Sémantique - Web des données par Lynda Temal

RDFa : exprimer du RDF dans du HTML

<!DOCTYPE html PUBLIC "~//w3c//dtd xhtml+rdfa 1.0//EN"><html xmlns:foaf="http://xmlns.com/foaf/01/" xmlns:dc="http://purl.org/dc/terms" xmlns=http://www.W3.org/1999/xhtml">

<head><title> Description de TimBL en RDFa + html</title></head>

<body>

<div typeof="foaf:person" about="http://www.W3.org/People/Berners-Lee/card#i">

Le <span rel="dc:creator" href="http://www.W3.org">créateur du W3C</span>

a pour nom <span property="foaf:name">Thimothy Berners-Lee</span>

et pout surnom <span property="foaf:nick">Timbl</span>

</div>

</body>

</html>

35

Page 36: Introduction au Web Sémantique - Web des données par Lynda Temal

RDF fournit une primitive pour typer les ressources.

(TimBL, rdf:type, Person )

(TimBL, rdf:type, Man )

(Web_Science, rdf:type, Book )

Les Primitives RDF

36

Page 37: Introduction au Web Sémantique - Web des données par Lynda Temal

RDF fournit les primitives pour construire

des containers et des collections pour

lister des ressources

37

Les Primitives RDF

Page 38: Introduction au Web Sémantique - Web des données par Lynda Temal

Les containers RDF sont ouverts,

contiennent des ressources ou des littéraux,

qui peuvent être dupliqués.

rdf:Bag → pour des ressources non ordonnéesrdf:Seq → pour des ressources ordonnéesrdf:Alt → pour les alternatives

38

Les Primitives RDF

Page 39: Introduction au Web Sémantique - Web des données par Lynda Temal

Les Collections RDF sont fermées,

contiennent des ressources ou des littéraux,

peuvent être dupliqués.

rdf:List → pour commencer la listerdf:first et rdf:rest → pour listerrdf:nil → pour fermer la liste

39

Les Primitives RDF

Page 40: Introduction au Web Sémantique - Web des données par Lynda Temal

(Web_Science, hasChapter, _:a)

(_:a, rdf:type, rdf:list)

(_:a, rdf:first, chap1)

(_:a, rdf:rest, _:b)

(_:b, rdf:first, chap2)

(_:b, rdf:rest, _:c)

(_:c, rdf:first, chap3)

(_:c, rdf:rest, rdf:nil)40

Page 41: Introduction au Web Sémantique - Web des données par Lynda Temal

RDF fournit une primitive pour la réification de

triplets RDF.

rdfs:Statement

rdfs:subject, rdfs:predicat, rdfs:object

41

Les Primitives RDF

Page 42: Introduction au Web Sémantique - Web des données par Lynda Temal

Exemple de Réification.

TimBL says

(Web_Science, has for theme, web)

42

Page 43: Introduction au Web Sémantique - Web des données par Lynda Temal

(TimBL, says, Triple1)

(Triple1, rdfs:subject, web_science)

(Triple1, rdfs:predicat, theme)

(Triple1, rdfs:object, web)

(Triple1, rdf:type, rdfs:Statement)

Exemple de Réification.

43

Page 44: Introduction au Web Sémantique - Web des données par Lynda Temal

Règles pour écrire des triples RDF

➢ Le sujet est toujours une ressource (jamais un littéral)

➢ Les prédicats sont des relations binaires identifiées par des URIs

➢ L'objet est une ressource ou un littéral

44

Page 45: Introduction au Web Sémantique - Web des données par Lynda Temal

RDF ne permet pas de définir les concepts d’un domaine pour typer les ressources.

45

Page 46: Introduction au Web Sémantique - Web des données par Lynda Temal

RDFS signifie RDF Schema

46

Page 47: Introduction au Web Sémantique - Web des données par Lynda Temal

RDFS: fournit les primitives pour écrire

des ontologie légères.

Définir des inférences élémentaires

47

Page 48: Introduction au Web Sémantique - Web des données par Lynda Temal

RDFS permet de définir des classes de ressources et

de les organiser en hiérarchie

rdfs:Class

rdfs:subClassOf

Document

Book Report

48

Page 49: Introduction au Web Sémantique - Web des données par Lynda Temal

RDFS permet de définir des propriétés et de les

organiser en hiérarchie

rdf:Property rdfs:subPropertyOf

TimBL report12author

creator

author49

Page 50: Introduction au Web Sémantique - Web des données par Lynda Temal

RDFS permet de définir la signature de chaque propriété

rdfs:domain → type de la ressource d’où part la relation

rdfs:range → type de la ressource vers laquelle pointe la relation

Domain Rangerelation

50

Page 51: Introduction au Web Sémantique - Web des données par Lynda Temal

RDFS définit une sémantique :

des règles de déduction standard permettant de créer

des triplets additionnels à partir des triplets existants

51

Page 52: Introduction au Web Sémantique - Web des données par Lynda Temal

SI (c2, subClassOf, c1)

ET (x, type, c2)

ALORS (x, type, c1)

Exemple

SI (Man, subClassOf, Person)

ET (TimBL, type, Man)

ALORS (TimBL, type, Person)

Inférence sur les types

Person

Man

TimBL

typetype

C1

C2

X

typetype

52

Page 53: Introduction au Web Sémantique - Web des données par Lynda Temal

Si (p2, subPropertyOf, p1)

ET (x, p2 , y)

ALORS (x, p1 , y)

Exemple

SI (author, subPropertyOf, creator)

ET (TimBL, author, Report12)

ALORS (TimBL, creator, Report12)

Inférence sur les propriétés

X

TimBL report12author

creator

Y

P2

P1

53

Page 54: Introduction au Web Sémantique - Web des données par Lynda Temal

SI (c2, subClassOf, c1)

ET (c3, subClassOf, c2)

ALORS (c3, subClassOf, c1)

Exemple

SI (Person, subClassOf, living being)

ET (Man, subClassOf, Person)

ALORS (Man, subClassOf, living being)

Inférence sur la transitivité des sous classes

Living being

Man

Person

C1

C2

C3

54

Page 55: Introduction au Web Sémantique - Web des données par Lynda Temal

SI (p2, subPropertyOf, p1)

ET (p3, subPropertyOf, p2)

ALORS (p3, subPropertyOf, p1)

Exemple

SI (parentOf, subPropertyOf, ancestorOf)

ET (motherOf, subPropertyOf, parentOf)

ALORS (motherOf, subPropertyOf, ancestorOf)

Inférence sur la transitivité des sous propriétés

P1

P2

P3

ancestorOf

parentOf

motherOf55

Page 56: Introduction au Web Sémantique - Web des données par Lynda Temal

SI (p1, domain, c1)

ET (x, p1, y)

ALORS (x, type, c1)

Exemple

SI (author, domain, Person)

ET (TimBL, author, Report12)

ALORS (TimBL, type, Person)

Inférence sur le domaine

Person

TimBL report12author

domain

56

Page 57: Introduction au Web Sémantique - Web des données par Lynda Temal

RDFS fournit aussi 2 primitives très utiles pour

nommer ou commenter n’importe quelle ressource

(Person, rdfs:label, “Personne”@fr)

(Person, rdfs:comment,”votre commentaire” )

57

Page 58: Introduction au Web Sémantique - Web des données par Lynda Temal

RDFS permet uniquement des inférences simples.

58

Page 59: Introduction au Web Sémantique - Web des données par Lynda Temal

Ontology Web Language (OWL)

59

Page 60: Introduction au Web Sémantique - Web des données par Lynda Temal

OWL fournit des primitives additionnelles pour des ontologies lourdes

60

Page 61: Introduction au Web Sémantique - Web des données par Lynda Temal

Class d’enumaration {a,b,c,d,e}

Définit une classe en donnant tous ses membres

<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>

61

Page 62: Introduction au Web Sémantique - Web des données par Lynda Temal

Union & Intersection

Classes définies par l’union<owl:Class>

<owl:unionOf rdf:parseType="Collection"><owl:Class rdf:about="#Person"/><owl:Class rdf:about="#Group"/>

</owl:unionOf></owl:Class>

Classes définies par Intersection<owl:Class rdf:ID="Man">

<owl:intersectionOf rdf:parseType="Collection"><owl:Class rdf:about="#Male"/><owl:Class rdf:about="#Person"/>

</owl:intersectionOf></owl:Class>

62

Page 63: Introduction au Web Sémantique - Web des données par Lynda Temal

Complément & Disjonction

Classes par complément

<owl:Class rdf:ID="Male"><owl:complementOf rdf:resource="#Female"/>

</owl:Class>

Disjonction de classes

<owl:Class rdf:ID="Square"><owl:disjointWith rdf:resource="#Round"/>

</owl:Class>

63

Page 64: Introduction au Web Sémantique - Web des données par Lynda Temal

Toutes les Valeurs<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>

Certaines valeurs<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 de valeurs

64

Page 65: Introduction au Web Sémantique - Web des données par Lynda Temal

Restriction à une valeur exacte

<owl:Class rdf:ID="Bike"><subClassOf>

<owl:Restriction><owl:onProperty rdf:resource="#nbWheels" /><owl:hasValue>2</owl:hasValue>

</owl:Restriction></subClassOf>

</owl:Class>

65

Page 66: Introduction au Web Sémantique - Web des données par Lynda Temal

Restriction de cardinalité

le nombre de fois où une propriété est utilisée pour le même sujet mais avec des valeurs différentes.

• Contraints: minimum, maximum, nombre exacte

<owl:Class rdf:ID="Person">

<subClassOf>

<owl:Restriction>

<owl:onProperty rdf:resource="#SocialNumber" />

<owl:maxCardinality>1</owl:maxCardinality>

</owl:Restriction>

</subClassOf>

</owl:Class>

66

Page 67: Introduction au Web Sémantique - Web des données par Lynda Temal

Types de propriétés

● ObjectProperty lie uniquement des ressources

ex : hasParent(#thomas,#stephan)

● DatatypeProperty lie une ressource à une valeur qui est potentiellement typée

ex: hasAge(#thomas,16^^xsd:int)

● AnnotationProperty sont ignorées dans les inférences, et utilisées pour la documentation

67

Page 68: Introduction au Web Sémantique - Web des données par Lynda Temal

Propriétés Algébriques

Symmetric property, xRy ⇒ yRx<owl:SymmetricProperty rdf:ID="hasSpouse" />

Inverse property, xR1y ⇒ yR

2x

<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:InverseFunctionalPropertyrdf:ID="hasSocialSecurityNumber" />

X Y

hasSpouse

X YhasParent

hasChild

X Y z

X

Y z

XY z

hasMother

hasMother

hasAncestor

68

Page 69: Introduction au Web Sémantique - Web des données par Lynda Temal

Équivalence et alignement

• classes équivalentes: owl:equivalentClass ex: Person owl:equivalentClass Human

• propriétés équivalentes: owl:equivalentProperty ex: isAuthorOf owl:equivalentProperty isWriterOf

• Ressources identiques ou différentes : owl:sameAs, owl:differentFrom

ex: Obama owl:sameAs President USA

69

Page 70: Introduction au Web Sémantique - Web des données par Lynda Temal

Documentation de l’ontologie

Description de l’ontologieowl:Ontology,

owl:imports,

owl:versionInfo,

owl:priorVersion,

owl:backwardCompatibleWith,

owl:incompatibleWith

versions des classes et des propriétés owl:DeprecatedClass,

owl:DeprecatedProperty70

Page 71: Introduction au Web Sémantique - Web des données par Lynda Temal

SPARQL

SPARQL Protocol and RDF Query Language

71

Page 72: Introduction au Web Sémantique - Web des données par Lynda Temal

SPARQL en trois parties

1. Un langage de requêtes 2. Un format de résultats 3. Un protocole d’accès

72

Page 73: Introduction au Web Sémantique - Web des données par Lynda Temal

SPARQL : langage de requêtes

Prefix

Select ...

From ...

Where {...}

73

Page 74: Introduction au Web Sémantique - Web des données par Lynda Temal

Structure d’une requête

1. La clause SELECT identifie les valeurs à retourner.

2. La clause FROM identifie la source de données à interroger.

3. La clause WHERE le modèle de triplet/graphe qui est comparé au graphe RDF.

4. La partie PREFIX déclare les schémas utilisés dans la requête.

74

Page 75: Introduction au Web Sémantique - Web des données par Lynda Temal

Requête simple : personnes et leur nom

PREFIX ex: <http://www.exemple.fr/schema#>

SELECT ?person ?name

WHERE {

?person rdf:type ex:Person.

?person ex:name ?name.

}

75

Page 76: Introduction au Web Sémantique - Web des données par Lynda Temal

Exemple de résultats

<?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#" > <head>

<variable name="person"/> <variable name="name"/>

</head><results ordered="false" distinct="false">

<result><binding name="person">

<uri>http://www.exemple.fr/schema#TBL</uri> </binding> <binding name="name"> <literal>Berners-Lee</literal> </binding>

</result> <result>

76

Page 77: Introduction au Web Sémantique - Web des données par Lynda Temal

FILTER: Les personnes de plus de 18 ans

PREFIX ex: <http://www.exemple.fr/schema#>

SELECT ?person ?name

WHERE {

?person rdf:type ex:Person.

?person ex:name ?name.

?person ex:age ?age.

FILTER (?age > 17).

}

77

Page 78: Introduction au Web Sémantique - Web des données par Lynda Temal

OPTIONAL : retourne l'âge si disponible

PREFIX ex: <http://www.exemple.fr/schema#>

SELECT ?person ?name ?age

WHERE {

?person rdf:type ex:Person.

?person ex:name ?name .

OPTIONAL { ?person ex:age ?age }

}

78

Page 79: Introduction au Web Sémantique - Web des données par Lynda Temal

UNION pour donner des modèles alternatifs dans une requête

PREFIX ex: <http://www.exemple.fr/schema#> SELECT ?name WHERE {

?person ex:name ?name . {

{ ?person rdf:type ex:Adult. } UNION

{ ?person ex:age ?age. FILTER (?age > 17)

} }

}

79

Page 80: Introduction au Web Sémantique - Web des données par Lynda Temal

ORDER BY & LIMIT & OFFSET

PREFIX ex: <http://www.exemple.fr/schema#>

SELECT ?person ?name

WHERE {

?person rdf:type ex:Person.

?person ex:name ?name .

}

ORDER BY ?name

LIMIT 20

OFFSET 20

80

Page 81: Introduction au Web Sémantique - Web des données par Lynda Temal

ASK ? “true” ou “false”

PREFIX ex: <http://www.exemple.fr/schema#>

ASK {

?person ex:age ?age.

FILTER (?age > 17)

}

Y a t-il une personne âgée de plus de 17 ?

81

Page 82: Introduction au Web Sémantique - Web des données par Lynda Temal

CONSTRUCT

PREFIX ex: <http://www.exemple.fr/schema#>

CONSTRUCT {

?person rdf:type ex:Adult } WHERE {

?person ex:age ?age FILTER (?age > 17)

}

82

Page 83: Introduction au Web Sémantique - Web des données par Lynda Temal

Application

SPARQL : API universelle d'accès aux données ?

Data

Data

Data

APIspécifique

APIspécifique

APIspécifique Data RDF

+SPARQL endpoint

Data RDF+

SPARQL endpoint

Data RDF+

SPARQL endpoint

SPARQL Application

Sans RDF et SPARQL Avec RDF et SPARQL

83

Page 84: Introduction au Web Sémantique - Web des données par Lynda Temal

84

Qui utilise le Web Sémantique ?

Page 85: Introduction au Web Sémantique - Web des données par Lynda Temal

85

Page 86: Introduction au Web Sémantique - Web des données par Lynda Temal

Linked Open Data

Janvier 2015

86

Page 87: Introduction au Web Sémantique - Web des données par Lynda Temal

87

Linked my Music

http://www.lespetitescases.net/semweblabs/linkedmymusic/

Page 88: Introduction au Web Sémantique - Web des données par Lynda Temal

88

Linked Book mashup

http://www.lespetitescases.net/semweblabs/linkedbookmashup/

Page 89: Introduction au Web Sémantique - Web des données par Lynda Temal

89

Page 90: Introduction au Web Sémantique - Web des données par Lynda Temal

90

Page 91: Introduction au Web Sémantique - Web des données par Lynda Temal

91

Page 92: Introduction au Web Sémantique - Web des données par Lynda Temal

92

Page 93: Introduction au Web Sémantique - Web des données par Lynda Temal

93

Page 94: Introduction au Web Sémantique - Web des données par Lynda Temal

Demo sur dbpedia

94

Sparql endpoint : http://dbpedia.org/sparql

R1 : SELECT DISTINCT ?acteur ?dateNaissance ?lieuNaissance

WHERE {

?film a dbpedia-owl:Film ;

dbpedia-owl:starring ?acteur .

?acteur dbpedia-owl:birthDate ?dateNaissance ;

dbpedia-owl:birthPlace ?lieuNaissance .

FILTER (?dateNaissance > "2000-01-01"^^xsd:date)

} LIMIT 50

R2:SELECT DISTINCT ?titre ?resume ?date ?wiki ?photo

WHERE {

?film rdf:type <http://dbpedia.org/ontology/Film> ;

dbpedia-owl:abstract ?resume;

rdfs:label ?titre;

foaf:isPrimaryTopicOf ?wiki;

dbpedia-owl:thumbnail ?photo

OPTIONAL {?film dbpprop:released ?date }

FILTER langMatches (lang(?resume), 'fr')

FILTER langMatches (lang(?titre), 'fr')

} LIMIT 10

Page 95: Introduction au Web Sémantique - Web des données par Lynda Temal

Liens utiles

❏ 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://fr.slideshare.net/moustaki/utilisation-du-web-semantique-pour-les-sites-

de-la-bbc

95

Page 96: Introduction au Web Sémantique - Web des données par Lynda Temal

Les applications passent

mais les données Restent.

96

Page 97: Introduction au Web Sémantique - Web des données par Lynda Temal

Question ?

97