Vous êtes sur la page 1sur 4

Université de Mascara Année Universitaire 2017-2018

Faculté des Sciences Exactes 3ème Année Info


Département Informatique Corrigé type : Module : Web Sémantique

Réponses aux questions de cours (07pts)


1) La recherche dans le web classique se base généralement sur la méthode de matching (recherche de mots clés
dans des pages d'index). Par ailleurs, la représentation des ressources du web classique (HTML) ne permet pas
leur traitement automatisé par des agents logiciels. (1pt)

2) Si vous cherchez sur un moteur de recherche quelconque par exemple le mot « frégate » et que vous vous
intéressez à l'oiseau, votre moteur de recherche va vous retourner des résultats qui n'ont rien à voir avec
les oiseaux, il va en plus vous retourner des résultats sur les bateaux de guerre et sur les vieux bateaux.
Comment résoudre ce problème ? Tout simplement en donnant un sens aux mots que vous écrivez. On
peut facilement imaginer que, lorsque vous tapez "frégate", votre moteur de recherche vous propose «
voulez-vous les oiseaux ? les bateaux de guerre ? les vieux bateaux ? » ou bien trois onglets avec chacun
sa catégorie. Ainsi, le moteur de recherche comprend ce que vous lui demandez et pourra mieux vous
répondre. Évidemment, cet exemple est très simple et basique, mais vous pouvez ainsi mieux voir l'une
de ses utilités.

Donc le Web sémantique (plus techniquement appelé « le Web de données ») permet aux machines de comprendre la
sémantique, la signification de l'information sur le Web. Il étend le réseau des hyperliens entre des pages Web
classiques par un réseau de lien entre données structurées permettant ainsi aux agents automatisés d'accéder plus
intelligemment aux différentes sources de données contenues sur le Web et, de cette manière, d'effectuer des tâches
(recherche, apprentissage, etc.) plus précises pour les utilisateurs. (1pt)

Architecture du WS (1pt)

Fig.1 Architecture du WS

La partie 2 constituée des technologies suivantes est opérationnelle : (XML, RDF, RDF-S, SPARQL,
Ontology : OWL) car les technologies existent. (0.5pt)

3) Donner quelques exemples de moteurs de recherche sémantiques

Un certain nombre de moteurs de recherche ont été développés pour interroger le web de données à partir des
liens RDF. Ils offrent ainsi des fonctionnalités de recherche qui intègrent des données de plusieurs milliers de
sources de données. Ces outils démontrent les avantages d’une architecture ouverte liant les sources de
données. Des outils de recherche sémantique tels que Sigma, Falcons, SWSE10 et VisiNav offrent une
interface utilisateur par mots clefs semblable à celle de Google ou de Yahoo et retournent une liste de
résultats. Il est intéressant de noter que les moteurs de recherche traditionnels tels que Google et Yahoo ont
commencé à utiliser les données structurées du web au sein de leurs applications Google, par exemple utilise
des données RDFa ou d’autres microformats pour décrire des personnes, des produits, des entreprises, des
organisations, des rapports ou des événements, ce qui lui permet de fournir des résultats de recherche plus
riches et mieux structurées. Par exemple, une recherche sur la date de naissance d’un acteur
Fournira la date plutôt qu’une liste interminable de pages dans laquelle l’utilisateur doit se débrouiller pour
trouver ce qu’il cherche. (1pt)
4) Rappelez, avec détail, les étapes de construction d'une ontologie.

- Etape de spécification : doit permettre de "cadrer" le domaine d'application de l'ontologie projeté en


recensant toues les questions à prendre en charge lors de la conception.
- Etape de l'acquisition des connaissances : C'est une étape où on doit faire des choix de conception et des
choix techniques nécessaires pour la construction de l'ontologie.
- Etape de la formalisation : Il s'agit de formaliser la description de l'ontologie (Coder l’ontologie dans un
langage formel).
- Etape de Validation : Il s'agit de vérifier la bonne construction de l'ontologie (valider la taxinomie, Tester
l’application)
- Etape de documentation : Il s'agit de documenter le projet de l'ontologie. (1.5pts)
5) Le langage OWL est introduit à la 3ème étape de formalisation (0.25pt)
6) L’apport du langage OWL par rapport à RDF et RDFs (0.25pt) OWL est, tout comme RDF, un langage
XML profitant de l'universalité syntaxique de XML.Fondé sur la syntaxe de RDF/XML, OWL offre un
moyen d'écrire des ontologies web. OWL se différencie du couple RDF/RDFS en ceci que, contrairement
à RDF, il est justement un langage d'ontologies. SI RDF et RDFS apportent à l'utilisateur la capacité de
décrire des classes (ie. avec des contructeurs) et des propriétés, OWL intègre, en plus, des outils de
comparaison des propriétés et des classes : identité, équivalence, contraire, cardinalité, symétrie,
transitivité, disjonction, etc. Ainsi, OWL offre aux machines une plus grande capacité d'interprétation du
contenu web que RDF et RDFS, grâce à un vocabulaire plus large et à une vraie sémantique formelle.
7) La négociation de contenu est un mécanisme défini par la norme HTTP permettant à un serveur de
retourner des réponses différentes pour une même URI. Ainsi, un internaute en France et un internaute aux
États-Unis pourraient voir deux versions de la même URI, l'une en français, l'autre en anglais. La
négociation de contenu s'appuie sur les en-têtes de la requête HTTP envoyée par le client pour déterminer
quel contenu retourner.
Dans le Web sémantique où toutes les ressources sont identifiées à l'aide d'URI, la négociation de contenu
est utilisée pour retourner une représentation « pour les humains » de la ressource (une page HTML)
lorsque c'est un internaute qui accède à l'URI par son navigateur, ou bien une représentation « pour les
machines » de la même ressource (un fichier RDF). Par exemple, DBPedia identifie la ville de Berlin par
l'URI http://dbpedia.org/resource/Berlin. (0.5pt)

Exercice 1 voir le Td la même solution (4pts)

Exercice 2 (5pts)

Le schéma RDFS suivants représente trois classes avec leurs attributs et relations : (2pts)
Correction: (0.75)

<rdfs:Class rdf:ID="Cours"/>
<rdfs:Class rdf:ID="Etudiant"/>
<rdfs:Class rdf:ID="Enseignant"/>
<rdf:Property rdf:ID="enseigne_par">
<rdfs:domain rdf:resource="#Cours"/>
<rdfs:range rdf:resource="#Enseignant"/>
</rdf:Property>
<rdf:Property rdf:ID="inscrit_dans">
<rdfs:range rdf:resource="#Cours"/>
<rdfs:domain rdf:resource="#Etudiant"/>
</rdf:Property>
<rdf:Property rdf:ID="nom">
<rdfs:domain rdf:resource="#Cours"/>
<rdfs:domain rdf:resource="#Etudiant"/>
<rdfs:domain rdf:resource="#Enseignant"/>
<rdfs:range rdf:resource="rdfs:Literal"/>
</rdf:Property>
<rdf:Property rdf:ID="prerequis">
<rdfs:domain rdf:resource="#Cours"/>
<rdfs:range rdf:resource="#Cours"/>
</rdf:Property>
- Oui on peut-on transformer ce schéma en UML (1pt)
- Soit la requête suivante en SPARQL qui donne Les noms des enseignants du cours “BDIA-M2”.
prefix : <http://www.owl-ontologies.com/bdia#>
select ?N
where { ?C :nom ?X ; :enseigne_par ?P .
?P :nom ?N
filter (?X = "BDIA-M2")}

On suppose que tous les triplets (schéma RDFS et graphe RDF) sont stockées dans une table relationnelle RDF(S;
P;O).
La requête précédente en SQL. (1.25pt)
select C.O
from RDF A, RDF B, RDF C
where A.P= ’:nom’ and A.O = ’BDIA-M2’
and A.S = B.S and B.P=’:enseigne_par’
and C.S = B.O and C.P=’:nom’;

Exercice 3 (4pts)

1) Ecriture des classes : La première étape de l'écriture de l'ontologie OWL représentant cette population consiste
à écrire les classes du monde.

<!-- Défintion des classes -->


<owl:Class rdf:ID="Citoyen" />
(2.5pts)
<owl:Class rdf:ID="Etudiqnt">
<rdfs:subClassOf rdf:resource="#Citoyen" />
</owl:Class>
</owl:Class>
<owl:Class rdf:ID="Ville" />

2) Ecriture des propriétés : L'écriture des propriétés est l'étape qui va permettre de détailler la population que l'on
veut décrire. Ecrivons les propriétés d'objet : habiteA.
<!-- Propriétés d'objet -->
<owl:ObjectProperty rdf:ID="habiteA">
<rdfs:domain rdf:resource="#Citoyen" />
<rdfs:range rdf:resource="#Ville" />
</owl:ObjectProperty>
<!-- Propriétés de type de donnée -->
<owl:DatatypeProperty rdf:ID="nom">
<rdfs:domain rdf:resource="#Citoyen" />
<rdfs:range rdf:resource="&xsd;string" />
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="prenom">
<rdfs:domain rdf:resource="#Citoyen" />
<rdfs:range rdf:resource="&xsd;string" />
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="nomVille">
<rdfs:domain rdf:resource="#Ville" />

<rdfs:range rdf:resource="&xsd;string"/>
</owl:DatatypeProperty>

3) Assertion de faits caractérisant la population : La dernière étape concerne l'assertion des faits
caractérisant la population. Il s'agit donc non seulement de l'instanciation des individus de la population,
mais également de leur description par l'énonciation de leurs propriétés (1pt)

<Etudiantrdf:ID="othman">
<nom>Belhadj</nom>
<prenom>Djaafar</prenom>
<dateDeNaissance>1997-05-19</dateDeNaissance>
<habiteA rdf:resource="#Mascara" /></Etudiant>

4) Insertion de la ville de Mascara : (0.5pt)


<!-- Insertion de la ville Mascara-->
<Ville rdf:ID="Mascara">
<nomVille>Mascara</nomVille>
</Ville>

Mlle. Setti Ahmed Soraya