Vous êtes sur la page 1sur 18

Web Sémantique

Master2 RTIC 2020/2021

Chapitre III: Langages du Web Sémantique

TD.3 SPARQL

corrigé

Mr Bougherara.S
exercice1
enseignant module etudiant
uri Nom age enseigne uri nom preRequis uri nom age suivre
#Ah Ahmed 50 #BD , #GL #GL GL #POO , #BD #E1 Akram #GL

#Fa Farida 36 #GL , #BD #POO POO #E2 Yacine 21 #GL

#Sa Saleh #POO #BD BD #POO


#E3 Dalia 22 #POO

SELECT ?z ?y
WHERE {?x :age ?y. Resultat
?x :nom ?z. ?z ?y

FILTER (?y >21)} dalia 22


ORDER BY ASC(?z )
 Donne le nom et l âge de Touts les étudiants
dont l âge est >21 Ordonnés selon le nom en
ordre croissant 2
exercice1
enseignant module etudiant
uri Nom age enseigne uri nom preRequis uri nom age suivre
#Ah Ahmed 50 #BD , #GL #GL GL #POO , #BD #E1 Akram #GL

#Fa Farida 36 #GL , #BD #POO POO #E2 Yacine 21 #GL

#Sa Saleh #POO #BD BD #POO


#E3 Dalia 22 #POO

 SELECT ?x
 WHERE { ?y :nom "POO". Resultat
 ?z :enseigne ?y. ?x
salah
 ?z :nom ?x.}

Donne le nom des enseignats qui enseignent ‘POO ’

3
exercice1
enseignant module Etudiant
uri Nom age enseigne uri nom preRequis uri nom age suivre
#Ah Ahmed 50 #BD , #GL #GL GL #POO , #BD #E1 Akram #GL

#Fa Farida 36 #GL , #BD #POO POO #E2 Yacine 21 #GL

#Sa Saleh #POO #BD BD #POO


#E3 Dalia 22 #POO

 SELECT ?y
 WHERE { Resultat
 { ?X :nom ?y
 ?x rdf:type "#enseignant". ?y
 ?x :age ?a. farida
 FILTER (?a<45) } dalia
 UNION {?x :nom ?y
 ?x rdf:type "#etudiant".
Donne le nom des enseignant dont l
 ?x :age ?a. age est <45 et l âge des étudiants
 FILTER (?a>21)} dont l âge est >21
 } 4
Exercice 2
enseignant module etudiant
uri Nom age enseigne uri nom preRequis uri nom age suivre
#Ah Ahmed 50 #BD , #GL #GL GL #POO , #BD #E1 Akram #GL

#Fa Farida 36 #GL , #BD #POO POO #E2 Yacine 21 #GL

#Sa Saleh #POO #BD BD #POO


#E3 Dalia 22 #POO

 2
 1- Les noms des modules enseignés par l’enseignant ‘Karim’

SELECT ?nm
WHERE{ ?uriKar :nom ‘karim’

? uriKar :enseigne ?uriMod

?uriMod :nom ?nm


}
5
exercice1
enseignant module Etudiant
uri Nom age enseigne uri nom preRequis uri nom age suivre
#Ah Ahmed 50 #BD , #GL #GL GL #POO , #BD #E1 Akram #GL

#Fa Farida 36 #GL , #BD #POO POO #E2 Yacine 21 #GL

#Sa Saleh #POO #BD BD #POO


#E3 Dalia 22 #POO

 2
 2- Les noms des modules pré-requis pour module ‘GL’

SELECT ?nomPrerequis
WHERE{ ?uriMod :nom ‘GL’

?uriMod :prerequis ?uriPrerequis


?uriPrerequis :nom ?nomPrerequis

}
6
exercice1
enseignant module Etudiant
uri Nom age enseigne uri nom preRequis uri nom age suivre
#Ah Ahmed 50 #BD , #GL #GL GL #POO , #BD #E1 Akram #GL

#Fa Farida 36 #GL , #BD #POO POO #E2 Yacine 21 #GL

#Sa Saleh #POO #BD BD #POO


#E3 Dalia 22 #POO

 2
 2- Les noms des modules pré-requis pour tous les modules

SELECT ?nomPrerequis
WHERE{ ?uriMod :prerequis ?uriPrerequis
?uriPrerequis :nom ?nomPrerequis

7
exercice1
enseignant étudiant module
uri Nom age enseigne uri nom preRequis uri nom age suivre
#Ah Ahmed 50 #BD , #GL #GL GL #POO , #BD #E1 Akram #GL

#Fa Farida 36 #GL , #BD #POO POO #E2 Yacine 21 #GL

#Sa Saleh #POO #BD BD #POO


#E3 Dalia 22 #POO

 2
 3- Les noms des enseignants qui enseignent deux modules différents
SELECT ?nmEns
WHERE{ ?uriEns :enseigne ?uriMod1
?uriEns :enseigne ?uriMod2
?uriEns :nom ?nmEns
Filter (?uriMod1 != ?uriMod2)

8
exercice1
enseignant module etudiant
uri Nom age enseigne uri nom preRequis uri nom age suivre
#Ah Ahmed 50 #BD , #GL #GL GL #POO , #BD #E1 Akram #GL

#Fa Farida 36 #GL , #BD #POO POO #E2 Yacine 21 #GL

#Sa Saleh #POO #BD BD #POO


#E3 Dalia 22 #POO

 2
 4- Les noms des étudiants qui suivent les modules enseignés par deux enseignants
différents.
SELECT
WHERE{ ?uriEns1 :enseigne ?uriMod
?uriEns2 :enseigne ?uriMod

?uriEt :suivre ? uriMod


?uriEt :nom ?nmEt

Filter (?uriEns1 != ?uriEns2)

}
Exercice 2
parentDe
Uri parent Uri fils

 - Les noms des enfants ‘Halim’

SELECT ?nmEnf

WHERE{ ?uriHal :nom ‘Halim’


?uriHal :parentDe ?uriEnf
? uriEnf :nom ?nmEnf

10
Exercice 2
parentDe
Uri parent Uri fils

 - Les noms des fils de ‘Ahmed’.

SELECT ?nmfils
WHERE{ ?uriAhm dc:nom ‘Ahmed’.
?uriAhm dc :parentDe ?uriFils
?uriFils :nom ?nmfils
?uriFils rdf:type dc :homme

11
Exercice 2
parentDe
Uri parent Uri fils

 - Les noms des parents de ‘Salima ».

SELECT ?nmPar

WHERE{?uriSal dc:nom ‘salima’.


?uriPar dc :parentDe ?uriSal
?uriPar :nom ?nmPar

12
Exercice 2
parentDe
Uri parent Uri fils

 - Les noms des grand-mères de ‘farid’

SELECT ?nomGrndPar
WHERE{ ?uriFar :nom ‘farid’
?uriPar :parenDe ?uriFar
?uriGrndPar :parenDe ?uriPar
?uriGrndPar :nom ?nomGrndPar
?uriFils rdf:type dc :femme

} 13
Exercice 2
parentDe
Uri parent Uri fils

 - Les noms des grand-mères .

SELECT ?nomGrndPar
WHERE{
?uriPar :parenDe ?urineveux
?uriGrndPar :parenDe ?uriPar
?uriGrndPar :nom ?nomGrndPar
?uriFils rdf:type dc :femme

} 14
Exercice 2
parentDe
Uri parent Uri fils

 - Les noms des frères et les sœurs de ‘karima’

SELECT ?nomFrerSoeur
WHERE{{ ?uriKar :nom ‘karima’
?uriPar :parenDe ?uriKar
?uriPar :parenDe ?uriFrerSoeur
? uriFrerSoeur :nom ?nomFrerSoeur

15
Exercice 2
parentDe
Uri parent Uri fils

 - Les noms des frères germains et les sœurs germaines de ‘karima’

SELECT ?nomFrerSoeur
WHERE{{ ?uriKar :nom ‘karima’
?uriPar1 :parenDe ?uriKar
?uriPar2 :parenDe ?uriKar
Filter (?uriPar1 != ?uriPar2)

?uriPar1 :parenDe ?uriFrerSoeur


?uriPar2 :parenDe ?uriFrerSoeur

? uriFrerSoeur :nom ?nomFrerSoeur


16

}
Exercice 2
parentDe
Uri parent Uri fils

 - Les noms des frères germains et les sœurs germaines

SELECT ?nomFrerSoeur
WHERE{{
?uriPar1 :parenDe ?uriUnEnfant
?uriPar2 :parenDe ?uriUnEnfant
Filter (?uriPar1 != ?uriPar2)

?uriPar1 :parenDe ?uriFrerSoeur


?uriPar2 :parenDe ?uriFrerSoeur
Filter ?uriUnEnfant!= ?uriFrerSoeur)
? uriFrerSoeur :nom ?nomFrerSoeur

} 17
Exercice 2
parentDe
Uri parent Uri fils

 - Les noms des oncles

SELECT
WHERE{ ?uriPar :parenDe ?uriUnEnfant.

?uriGrndPar :parenDe ?uriPar .


?uriGrndPar :parenDe ?uriOncle .
Filter (?uriPar != ?uriOncle )

? uriOncle rdf:type dc :homme


?uriOncle :nom ?nomOncle.

}
18

Vous aimerez peut-être aussi