• Aucun résultat trouvé

5.4 Approche bas´ ee sur les cardinalit´ es

5.4.1 Cardinalit´ es globales

Nous consid´erons une requˆete Q= Q∧t o`u t est un patron de triplet ∈ (U ∪V )×U ×(U ∪V ∪L), c’est `a dire que son pr´edicat, not´e p, n’est pas variable. Intuitivement, la cardinalit´e globale d’un pr´edicat p est le nombre d’occurrences minimum (not´e CardGlobalmin(p)) et maximum (not´e

CardGlobalmax(p)) du pr´edicat RDF pour l’ensemble des sujets de la BC. Nous d´efinissons maintenant formellement cette notion.

Nous consid´erons un ensemble de donn´ees RDF D. Les sujets de D sont d´efinis comme suit :

sujet(D) = { s | ∃ p, o : (s, p, o) ∈ D } (1)

Prenons l’exemple de la BC de la figure 5.3, sujet(D) = {f p1, f p2, f p3, s1}.

Pour un sujet s et un pr´edicat p, le nombre d’occurrences du pr´edicat p dans s est d´efini par:

count(s, p) = | {(s, p, o) | (s, p, o) ∈ D} | (2)

Pour le mˆeme exemple de BC, count(f p1, teacherOf ) = 3.

La cardinalit´e globale minimale d’un pr´edicat p est d´efinie comme le nombre minimal d’oc-currences de ce pr´edicat chez les sujets de D.

CardGlobalmin(p) = min

s∈sujet(D)count(s, p) (3)

De mˆeme, nous d´efinissons la cardinalit´e globale maximale d’un pr´edicat p comme ´etant le nombre maximal d’occurrences de ce pr´edicat chez les sujets de D.

CardGlobalmax(p) = max

type 1-1 Reste le mˆeme

age 0-1 Baisse ou reste le mˆeme

nationality 1-1 Reste le mˆeme

teacherOf 0-n Impr´evisible

Tableau 5.1 – Les cardinalit´es globales des pr´edicats de Q et leurs impacts eponses de Q1 ?t ?c ?a ?n fp1 SW 45 US fp1 DB 45 US fp1 ES 45 US fp2 PR 52 FR fp2 CA 52 FR fp2 IA 52 FR fp3 ML 49 US eponses de Q2 ?t ?c ?a fp1 SW 45 fp1 DB 45 fp1 ES 45 fp2 PR 52 fp2 CA 52 fp2 IA 52 fp3 ML 49

(a) Requˆete Q1 = t1t2t3t4

(b) Requˆete Q2 = t1t2t3

Figure 5.5 – Les r´eponses retourn´ees par Q1 et Q2

Pour notre exemple de BC, CardGlobalmin(teacherOf ) = 0 (s1 n’a pas ce pr´edicat) ;

Card-Globalmax(teacherOf ) = 3.

5.4.1.1 Enum´´ eration des cardinalit´es globales avec leurs impacts

Voici les diff´erentes cardinalit´es globales qu’un pr´edicat peut avoir et leurs impacts sur le nombre de r´esultats d’une requˆete :

— [0-1] : c’est `a dire CardGlobalmin(p) = 0 et CardGlobalmax(p) = 1. Lorsque nous ajoutons un patron de triplet dont le pr´edicat est d’une cardinalit´e [0-1] `a Q, le nombre de r´esultats de Q diminue ou reste identique.

— [1-1] : le nombre de r´esultats de Q reste identique.

— [1-n] : le nombre de r´esultats augmente ou reste identique.

— [0-n] : ce dernier type de cardinalit´e int`egre les trois types pr´ec´edents. En cons´equence, nous ne pouvons pas avoir d’information sur la mani`ere dont cela influence le nombre de r´esultats de Q.

Le tableau 5.1 r´ecapitule ce que nous venons de citer ci-dessus, et donne les cardinalit´es globales des pr´edicats de la requˆete de notre exemple courant.

Pour le pr´edicat age, les cardinalit´es globales sont calcul´ees comme suit.

1. CardGlobalmin(age) = min(count(f p1, age), count(f p2, age), count(f p3, age), count(s1, age)).

CardGlobalmin(age) = min(1, 1, 1, 0) = 0

2. CardGlobalmax(age) = max(count(f p1, age), count(f p2, age), count(f p3, age), count(s1, age).

CardGlobalmax(age) = max(1, 1, 1, 0) = 1;

Par exemple, les cardinalit´es globales du pr´edicat nationalit´e sont, cardMin=1 et cardMax =1. Consid´erons la requˆete Q1 = t1t2t3t4 de la figure 5.1. Lorsque nous supprimons le pr´edicat nationalit´e de cette requˆete (t1t2t4), le nombre de r´eponses reste identique (7 r´eponses). Cet exemple est illustr´e dans la figure 5.5.

5.4. APPROCHE BAS ´EE SUR LES CARDINALIT ´ES Q_4 : SELECT * { ?s1 age ?a } ⇒ R´eponses de Q4 ?s ?a fp1 45 fp2 52 fp3 49

Figure 5.6 – Q4 avec ses r´eponses

Q_5 : SELECT * { ?s1 age ?a . ?s2 nationality ?n } ⇒ R´eponses de Q5 ?s1 ?a ?s2 ?n fp1 45 fp1 US fp1 45 fp2 FR fp1 45 fp3 US fp1 45 s1 US fp2 52 fp1 US fp2 52 fp2 FR fp2 52 fp3 US fp2 52 s1 US fp3 49 fp1 US fp3 49 fp2 FR fp3 49 fp3 US fp3 49 s1 US

Figure 5.7 – Q5 avec ses r´eponses

5.4.1.2 Types de requˆetes trait´ees

Dans ce chapitre nous traitons les requˆetes en ´etoile, c’est `a dire les requˆetes ayant la mˆeme variables comme sujet pour tous les patrons de triplets. N´eanmoins, pour illustrer les types de requˆetes non trait´es dans ce chapitre, nous consid´erons la requˆete Q4 de la figure 5.6.

Lorsqu’un patron de triplet introduit uniquement de nouvelles variables, cela g´en`ere un produit cart´esien. En cons´equence, le nombre de r´eponses augmente ind´ependemment de la cardinalit´e des pr´edicats. Par exemple, la requˆete Q5 de la figure 5.7 est la jointure de Q4

avec un patron de triplet ayant deux variables diff´erentes comme sujet (?s2) et objet (?n). Nous remarquons dans la figure 5.7 qu’en ajoutant ce patron de triplet, un produit cart´esien est r´ealis´e menant `a l’augmentation du nombre de r´eponses (12 r´eponses).

Lorsque le patron ajout´e n’introduit aucune nouvelle variable, celui-ci correspond `a un filtre qui ne fait que r´eduire le nombre de r´eponse ind´ependemment de la cardinalit´e des pr´edicats. Par exemple, consid´erons l’exemple de la figure 5.8 o`u la requˆete Q6 est la jointure de Q4 avec un patron de triplet ayant une variable qui existe deja (?s) comme objet. Nous remarquons dans cette mˆeme figure que le nombre de r´eponses est r´eduit `a 0.

De mani`ere similaire, lorsque l’objet du parton de triplet ajout´e est une constante, cela ne

Q_6 : SELECT * { ?s age ?a . ?s teacherOf ?s }eponses de Q6 ?s ?a

Q_7 SELECT * { ?s age ?a . ?s type fullProfessor } ⇒ ?s ?a fp1 45 fp2 52 fp3 49

Figure 5.9 – Q7 avec ses r´eponses

fait que r´eduire ou garder le mˆeme nombre de r´eponses ind´ependemment de la cardinalit´e des pr´edicats. Ceci est illustr´e dans la figure 5.8. Lorsque on ajoute (?s type fullProfessor) `a la requˆete Q4, le nombre de r´eponses reste le mˆeme.

Les cardinalit´es globales ont des limites : la plupart des pr´edicats auront une cardinalit´e minimale de 0. En effet, il est rare qu’un pr´edicat ait une valeur pour tous les sujets d’une BC r´eelle. Un pr´edicat peut avoir une cardinalit´e globale de 0 `a n alors que l’on peut cr´eer des groupes de sujets pour lesquels la cardinalit´e est diff´erente et donc beaucoup plus pr´ecise. L’id´ee est d’affiner les cardinalit´es globales en fonction de groupes de sujets, autrement appel´es classes de donn´ees.