Post on 22-Aug-2020
Web SémantiqueDescription des ressources Web en RDF
Maria Malek
Options GL,ISICO & IdSI
EISTI
Web Semantique – p. 1/28
Avant propos
Les exemples présentés dans ce cours sont tirés del’ouvrage :
Web Semantique – p. 2/28
Avant propos
Les exemples présentés dans ce cours sont tirés del’ouvrage :
A Semantic Web Primer Grigoris Antoniou and Frank vanHarmelen,MIT Press, Massachusetts Institute ofTechnology, 2004.
Web Semantique – p. 2/28
De XML vers RDF
XML : Cadre uniforme pour pour échanger les donnéeset les meta-données.
Web Semantique – p. 3/28
De XML vers RDF
XML : Cadre uniforme pour pour échanger les donnéeset les meta-données.
XML : La sémantique n’est pas complètement définie :les balises imbriquées ? Exemple :
<course name="Intelligence Artificielle"><lecturer>Maria Malek</lecturer> </course><lecturer name="Maria Malek"><teaches>Intelligence Artificielle</teaches></lecturer><teachingOffering>
<lecturer>Maria Malek</lecturer><course>Intelligence Artificielle</course>
</teachingOffering>Web Semantique – p. 3/28
RDF : Introduction
Un modèle de données ..
Web Semantique – p. 4/28
RDF : Introduction
Un modèle de données ..
Une Phrase est un block : Objet-attribut-valeur.
Web Semantique – p. 4/28
RDF : Introduction
Un modèle de données ..
Une Phrase est un block : Objet-attribut-valeur.
Syntaxe possible : XML.
Web Semantique – p. 4/28
RDF : Introduction
Un modèle de données ..
Une Phrase est un block : Objet-attribut-valeur.
Syntaxe possible : XML.
RDF : dépend du domaine.
Web Semantique – p. 4/28
RDF : Introduction
Un modèle de données ..
Une Phrase est un block : Objet-attribut-valeur.
Syntaxe possible : XML.
RDF : dépend du domaine.
Terminologie définie par l’utilisateur (RDF Schema).
Web Semantique – p. 4/28
RDF : Introduction
Un modèle de données ..
Une Phrase est un block : Objet-attribut-valeur.
Syntaxe possible : XML.
RDF : dépend du domaine.
Terminologie définie par l’utilisateur (RDF Schema).
Comparaisons :XML Schema : structure d’un document XML.RDF Schema : vocabulaire sur les modèles desdonnées.
Web Semantique – p. 4/28
RDF Schema : Utilité
Soit l’exemple suivant :
<academicStaffMember>ChrysBaskiotis</academicStaffMember><professor>Bernard Glonneau</professor><course name="Intelligence Artificielle"><isTaughtBy>Maria Malek</isTaughtBy> </course>
Web Semantique – p. 5/28
RDF Schema : Utilité
Soit l’exemple suivant :
<academicStaffMember>ChrysBaskiotis</academicStaffMember><professor>Bernard Glonneau</professor><course name="Intelligence Artificielle"><isTaughtBy>Maria Malek</isTaughtBy> </course>
Exprimer des relations comme :
Tous les professeurs sont membres du personnelacadémique.Les cours sont donnés par des membres dupersonnel académique.
Web Semantique – p. 5/28
RDF : Idées de base
Ressources : URI (identificateur d’une ressource Web)
peut être l’URL d’une page web,peut être l’identificateur unique d’un objet : ISBN, etc.
Web Semantique – p. 6/28
RDF : Idées de base
Ressources : URI (identificateur d’une ressource Web)
peut être l’URL d’une page web,peut être l’identificateur unique d’un objet : ISBN, etc.
Propri etes : Description des relations entre ressourcesIdentifiées par des URIs.Titre, age, etc.
Web Semantique – p. 6/28
RDF : Idées de base
Ressources : URI (identificateur d’une ressource Web)
peut être l’URL d’une page web,peut être l’identificateur unique d’un objet : ISBN, etc.
Propri etes : Description des relations entre ressourcesIdentifiées par des URIs.Titre, age, etc.
Phrases (Statements): assertion des propriétés desressources :
Triplet : Objet-attribut-valeurContenu : Ressourse-Propriété-valeur
Web Semantique – p. 6/28
Représentation des phrases - 1
Maria Malek est la propriétaire du site :http://www.eisti.fr/˜ mma.
Représentation par le triplet (X,P,Y) :( "Maria Malek", http://www.mydomain.org/site-owner,http://www.eisti.fr/˜ mma).
Représentation par un graphe sémantique.
Représentation basée sur XML.
Web Semantique – p. 7/28
Représentation des phrases - 2
Exemple :("http://www.eisti.fr/˜ mma",http://www.mydomain.org/site- owner, "Maria Malek")( "Maria Malek", http://www.mydomain.org/phone,"317")( "Maria Malek", http://www.mydomain.org/uses,"http://www.eisti.fr")("http://www.eisti.fr",http://www.mydomain.org/site-owner, "EISTI")
Web Semantique – p. 8/28
Représentation des phrases - 2
Exemple :("http://www.eisti.fr/˜ mma",http://www.mydomain.org/site- owner, "Maria Malek")( "Maria Malek", http://www.mydomain.org/phone,"317")( "Maria Malek", http://www.mydomain.org/uses,"http://www.eisti.fr")("http://www.eisti.fr",http://www.mydomain.org/site-owner, "EISTI")
Quelle est la representation par graphe semantique ?
Web Semantique – p. 8/28
Représentation des phrases - 3
Maria Malek est la propriétaire du site :http://www.eisti.fr/˜ mma.
Représentation basée sur XML avec la balise rdf:RDFContenu est le numéro de description en utilisant labalise rdf:DescriptionUne description correspond à une phrase sur uneressource :
attribut : about pour identifier la ressource,attribut ID : pour créer une nouvelle ressource
Web Semantique – p. 9/28
Représentation des phrases - 4
Maria Malek est le proprietaire du site : http://www.eisti.fr/˜ mma..<?xml version="1.0" encoding="UTF-16"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:mydomain="http://www.mydomain.org/my-rdf-ns"><rdf:Description rdf:about="http://www.eisti.fr/˜ mma"><mydomain:site-owner> Maria Malek</mydomain:site-owner> </rdf:Description></rdf:RDF>
Web Semantique – p. 10/28
Représentation des phrases - 5
Compléments :La reification :
Chrys Baskiotis croit que Maria Malek est lepropriétaire du site : http://www.eisti.fr/˜ mma.
Les types de donnees :("David Billington", http://www.mydomain.org/age,"27"(ttp://www.w3.org/2001/XMLSchema#integer )
Probleme : Proprietes binaires !!Exemple : intermediaire(X,Y,Z)Solution :· acteur(negociation,X),· acteur(negociation,Y),· intermediaire(negociation,Z).
Web Semantique – p. 11/28
RDF : La syntaxe XML - Exemple
<!DOCTYPE owl [ <!ENTITY xsd"http://www.w3.org/2001/XMLSchema#"> ]><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:xsd="http://www.w3.org/2001/XLMSchema#"xmlns:uni="http://www.mydomain.org/uni-ns#"><rdf:Description rdf:about="949352"><uni:name>Grigoris Antoniou</uni:name><uni:title>Professor</uni:title> </rdf:Description><rdf:Description rdf:about="CIT3116"><uni:courseName>KnowledgeRepresentation</uni:courseName><uni:isTaughtBy>GrigorisAntoniou</uni:isTaughtBy> </rdf:Description></rdf:RDF> Web Semantique – p. 12/28
RDF : Ressources & Attributs
Comment faire le lien entre cours et professeur ?
<rdf:Description rdf:about="CIT1111"><uni:courseName>IntelligenceArtificielle</uni:courseName><uni:isTaughtBy rdf:resource="949318"/>
</rdf:Description><rdf:Description rdf:about="949318">
<uni:name>Maria Malek</uni:name><uni:title>Enseignante</uni:title>
</rdf:Description>
Web Semantique – p. 13/28
RDF : Descriptions imbriquées
Comment faire le lien entre cours et professeur ?
<rdf:Description rdf:about="CIT1111"><uni:courseName>IntelligenceArtificielle</uni:courseName><uni:isTaughtBy> <rdf:Descriptionrdf:about="949318">· <uni:name>Maria Malek</uni:name>· <uni:title>Enseignante</uni:title></rdf:Description></uni:isTaughtBy>
</rdf:Description>
Web Semantique – p. 14/28
RDF : Types d’éléments
Comment faire la difference entre cours et professeur ?
<rdf:Description rdf:about="CIT1111"><rdf:type rdf:resource="&uni;course"/><uni:courseName>IntelligenceArtificielle</uni:courseName><uni:isTaughtBy rdf:resource="949318"/>
</rdf:Description><rdf:Description rdf:about="949318">
<rdf:type rdf:resource="&uni;lecturer"/><uni:name>Maria Malek</uni:name><uni:title>Enseignante</uni:title>
</rdf:Description>
Web Semantique – p. 15/28
RDF : Syntaxe allégée - 1
Comme XML, les descriptions imbriquees peuvent etre remplaceespar des attributs
<rdf:Description rdf:ID="CIT1111"><rdf:type rdf:resource="&uni;course"/><uni:courseName>IntelligenceArtificielle</uni:courseName><uni:isTaughtBy rdf:resource="#949318"/>
</rdf:Description><rdf:Description rdf:ID="CIT1111"uni:courseName="Intelligence Artificielle">
<rdf:type rdf:resource="&uni;course"/><uni:isTaughtBy rdf:resource="#949318"/>
</rdf:Description>
Web Semantique – p. 16/28
RDF : Syntaxe allégée - 2
On peut decrire des elements par leurs types au lieu derdf:Description
<rdf:Description rdf:ID="CIT1111"><rdf:type rdf:resource="&uni;course"/><uni:courseName>IntelligenceArtificielle</uni:courseName><uni:isTaughtBy rdf:resource="#949318"/>
</rdf:Description><uni:course rdf:ID="CIT1111"uni:courseName="Intelligence Artificielle">
<uni:isTaughtBy rdf:resource="#949318"/></uni:course>
Web Semantique – p. 17/28
RDF : Elements Container - 1
Collectionner un nombre de ressources ou attributs
rdf:Bag : non ordonné, peut contenir plusieursoccurrences.rdf:Seq : ordonné,peut contenir plusieurs occurrences.ref: Alt : un ensemble d’alternatives.Contenu : {rdf:_1, rdf:_1,etc}.Exemple d’utilisation : Représentation de prédicatsnon binaires
Web Semantique – p. 18/28
RDF : Elements Container - 2
Exemple d’utilisation : Représentation de prédicats nonbinaires.
Web Semantique – p. 19/28
RDF : Elements Container - 2
Exemple d’utilisation : Représentation de prédicats nonbinaires.
intermediaire(X,Y,Z).<referee rdf:about=". . .#X">
<actors>· <rdf:Bag>
<rdf:li rdf:resource=". . .#Y"/><rdf:li rdf:resource=". . .#Z"/>
· </rdf:Bag></actors>
</referee>
Web Semantique – p. 19/28
RDF : La réification
Possibilité d’effectuer des phrases décrivant d’autresphrases :
<rdf:Description rdf:about="949352"><uni:name> Maria Malek</uni:name>
</rdf:Description>
<rdf:Statement rdf:about="StatementAbout949352"><rdf:subject rdf:resource="949352"/><rdf:predicate rdf:resource="&uni;name"/><rdf:object>Maria Malek</rdf:object>
</rdf:Statement>
Web Semantique – p. 20/28
RDF schéma : Bases
Description de ressources et du vocabulaire dudomaine.
Web Semantique – p. 21/28
RDF schéma : Bases
Description de ressources et du vocabulaire du domaine.
Classes & Proprietes.
Web Semantique – p. 21/28
RDF schéma : Bases
Description de ressources et du vocabulaire du domaine.
Classes & Proprietes.
Héritage entre classes et notion de subclass.
Web Semantique – p. 21/28
RDF schéma : Bases
Description de ressources et du vocabulaire du domaine.
Classes & Proprietes.
Héritage entre classes et notion de subclass.
Propriétés sont définies globalement en dehors desclasses (pas d’encapsulation des propriétés).
Web Semantique – p. 21/28
RDF schéma : Bases
Description de ressources et du vocabulaire du domaine.
Classes & Proprietes.
Héritage entre classes et notion de subclass.
Propriétés sont définies globalement en dehors desclasses (pas d’encapsulation des propriétés).
Hiérarchie entre propriétés.
Web Semantique – p. 21/28
RDF schéma : Bases
Description de ressources et du vocabulaire du domaine.
Classes & Proprietes.
Héritage entre classes et notion de subclass.
Propriétés sont définies globalement en dehors desclasses (pas d’encapsulation des propriétés).
Hiérarchie entre propriétés.
Ontologie : RDF est un langage primitif
Web Semantique – p. 21/28
RDF schéma : Le langage - 1
Classes fondamentales :rdfs:Resource : la classe de toutes les ressourcesrdfs:Class : la classe de toutes les classesrdfs:Literal : la classe de toutes les littéraux.rdf:Property : la classe de toutes les propriétés.rdf:Statement : la classe des phrases réifiées.Exemple <rdfs:Class rdf:ID="lecturer">...</rdfs:Class>
Web Semantique – p. 22/28
RDF schéma : Le langage - 2
Propriétés fondamentales pour la definition des relations :rdf:type : relier une ressource à sa classe.rdfs:subClassOf : relier deux classes par la relationd’héritage.rdfs:subPropertyOf : relier une propriété à unesuper-propriété.Exemple :
<rdfs:Class rdf:about="lecturer">· <rdfs:subClassOf rdf:resource="staffMember"/></rdfs:Class>
Web Semantique – p. 23/28
RDF schéma : Le langage - 3
Propriétés fondamentales pour la restriction des proprietes :rdfs:domain : spécifier le domaine de la propriété P :laclasse des ressources en question.rdfs:range : spécifier le domaine de P.Exemple :
<rdf:Property rdf:ID="phone">· <rdfs:domain rdf:resource="#staffMember"/>· <rdfs:range rdf:resource="&rdf;Literal"/></rdf:Property>
Web Semantique – p. 24/28
RDF décrit en RDF Schéma -1
<rdfs:Class rdf:ID="Statement" /><rdfs:Class rdf:ID="Property" /><rdfs:Class rdf:ID="Bag"/><rdfs:Class rdf:ID="Seq" /><rdfs:Class rdf:ID="Alt"/><rdf:Property rdf:ID="type"/>
Web Semantique – p. 25/28
RDF décrit en RDF Schéma - 2
<rdf:Property rdf:ID="predicate"><rdfs:domain rdf:resource="#Statement"/><rdfs:range rdf:resource="#Property"/>
</rdf:Property><rdf:Property rdf:ID="subject" >
<rdfs:domain rdf:resource="#Statement"/></rdf:Property><rdf:Property rdf:ID="object">
Web Semantique – p. 26/28
RDF Schéma décrit en RDF Schéma - 1
<rdfs:Class rdf:ID="Resource"><rdfs:Class rdf:ID="comment" rdfs:comment="Usethis for descriptions">
<rdfs:domain rdf:resource="#Resource"/><rdfs:rangerdf:resource="#Literal"/>
</rdfs:Class><rdfs:Class rdf:ID="Class" >
<rdfs:subClassOf rdf:resource="#Resource"/></rdfs:Class>
Web Semantique – p. 27/28
RDF Schéma décrit en RDF Schéma - 2
<rdf:Property rdf:ID="subClassOf"><rdfs:domain rdf:resource="#Class"/><rdfs:range rdf:resource="#Class"/>
</rdf:Property><rdf:Property rdf:ID="subPropertyOf">
<rdfs:domain rdf:resource="&rdf;Property"/><rdfs:range rdf:resource="&rdf;Property"/>
</rdf:Property>
Web Semantique – p. 28/28