Langages de représentation RDF (Resource Description Framework)

Slides:



Advertisements
Présentations similaires
Sintaks : Tentative de guide de mise en œuvre Michel Hassenforder.
Advertisements

Introduction aux Web Services Partie 1. Technologies XML
Transformation de documents XML
DTD Sylvain Salvati
Corese Moteur de recherche sémantique pour RDF
Le langage de requêtes SPARQL SPARQL Protocol And RDF Query Language
Web Sémantique RDF
Le langage de requêtes SPARQL SPARQL Protocol And RDF Query Language
1 Semantic Web Olivier Corby. 2 Semantic Web Évolution du Web pour permettre le traitement automatique des informations (par programme) Documents structur.
Calcul géométrique avec des données incertaines
Ontologies avec la famille SG
Raisonnement et logique
Urbanisation des Systèmes d'Information - Henry Boccon-Gibod1 Urbanisation de système d'information PLM 4 (Product Lifecycle Management) Préoccupation.
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 1 Cilia, un framework de médiation ouvert, léger, multi-personnalités.
Les espaces de nommage XML par Philippe Poulard 1
Le Modèle Logique de Données
le langage les éléments
Ontologie, Méta-données, Sémiotiques
Domaines nominaux XSLT
TP 3-4 BD21.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Introduction aux Web Services Partie 1. Technologies HTML-XML
Développement d’applications web
Etude des Technologies du Web services
XML-Family Web Services Description Language W.S.D.L.
Principes de la technologie orientée objets
le profil UML en temps réel MARTE
Langages du Web Sémantique
Web Sémantique: Le Relief Actuel
Web Structurel
RDF(S)
L’utilisation des bases de données
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
Complément Le diagramme des classes
SYSTEMES D’INFORMATION
OIL & UPML DREVET - HUMBERT Introduction OIL : un langage de description dontologies UPML : un langage de description de systèmes à base.
GPA789 Analyse et conception orientées objet 1 Professeur: Tony Wong, Ph.D., ing. Chapitre 6 Correspondance UML et C++
Programmation concurrente
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Web sémantique : Web de demain
Chapitre 3 Syntaxe et sémantique.
Séminaire Service Interoperability on Context Level in Ubiquitous Computing Environments Davide Bazzi IIUF Etude de larticle: Service Interoperability.
TOLÉRANCEMENT GÉOMÉTRIQUE
Initiation aux bases de données et à la programmation événementielle
Chapitre 3 Les bibliothèques de balises JSP et la JSTL
NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels CEI
Bases de données phénotypique et ontologie
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Initiation à XML Sebti Foufou.
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Algorithmique et programmation (1)‏
Web sémantique Par Lydia Carine Mampais KI Bamba SISSOKO
X xx yyy Document XML Résolution d'entités Résolution espaces de nommages Reader Parsing Contrôle de validité structurelle Contrôle arbre bien formé Contrôle.
Programmation Web : Introduction à XML
Programmation Web : Schémas XSD Jérôme CUTRONA 19:27:07 Programmation Web
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
Martine Toussaint Desir
Le langage Racket (Lisp)
Moteurs de recherche ontologiques
Web sémantique est pratique documentaire
Modélisation des documents: DTD et Schéma
XSD XML Schema Definition Année universitaire UP web.
Cours sur le DOI COULET Alban GREMONT Baptiste GIDO2A Le 13/12/2007.
Apéro Techno Romain Maragou - Aliou Sow Web sémantique.
Initiation aux bases de données et à la programmation événementielle
Préparé par : Marouane FELJA
ARIANE : Interopérabilité sémantique et accès aux sources d'information sur Internet Sylvain Aymard, Michel Joubert, Dominique Fieschi, Marius Fieschi.
Transcription de la présentation:

Langages de représentation RDF (Resource Description Framework) Bali.ahmed@univ-eloued.dz

Introduction Le Web actuel doit changer d’orientation d’un Web présentable qui se contente d’afficher les informations disponibles, à un Web «intelligent» permettant aux machines de mieux exploiter les informations ! "The Semantic Web is an extension of the current web in which information is given well defined meaning, better enabling computers and people to work in cooperation." Tim Berners-Lee

Vers un Web Sémantique Le Web de demain est vu comme une amélioration du Web actuel dans lequel la signification des données est prise en compte. La réalisation de cette nouvelle vision du Web s’appuie sur l’utilisation de : Méta-données : 1er pilier du WS Par définition des données sur des données Elles complètent donc l’information sur les données à un niveau d’abstraction supérieure. Elles peuvent être structurées afin de décrire une ressource quelconque Elles rajoutent un sens aux contenus afin de favoriser leur exploitation par des agents logiciels Des connaissances qui s'appuient sur des ontologies : 2ème pilier du WS définitions des concepts voire aussi des axiomes liés à un certain domaine Modélisent les connaissances nécessaires à la description et au traitement d’un ensemble de ressources le Web informel est déjà disponible. C’est la formalisation qui fait le WS. Différents langages pour décrire, exploiter et raisonner sur les contenus des ressources Langages de représentation de connaissances afin d’exprimer les ontologies et décrire les annotations Des moteurs de raisonnement Encapsulés dans des systèmes de requêtes et permettant d’inférer sur les annotations d’après les axiomes déclarés dans les ontologies, afin d’interroger le Web et agir sur les réponses obtenues

Langages de représentation RDF (Resource Description Framework) D’abord standard de méta-données (97). Un langage pour décrire des ressources. Utilisation de graphes étiquetés orientés (RDF Model) triplets : sujet - propriété - objet ou ressource - propriété - valeur (ressource ou chaîne) Utilise les URIs (Universal Resources Identifiers) utilisables pour les pages (et parties de pages) mais aussi pour tout objet qui dispose d’un schéma URI (documents, …) Dispose d'une syntaxe XML et des espaces de nom XML (mais ce n'est pas l'unique syntaxe). RDF Schema (98-) modèle de classes … sur RDF

RDF : Langage d’assertions et d’annotations  Présentation Les assertions affirment l’existence de relations entre des objets. Elles sont donc adaptées à l’expression des annotations associées aux ressources du Web. Le W3C a adopté le langage RDF comme formalisme standard de représentations, à base de XML qui est déjà un standard. Le langage RDF fournit un moyen pour ajouter la sémantique à un document Le but de RDF est de fournir un cadre de description de données contenues dans des ressources du Web (principalement des pages Web), sans préjuger à priori sur des domaines d’applications particuliers, ni sur la sémantique de ces domaines.

Modèle de données de RDF RDF associe trois types d’objets : une ressource « resource » définie par des propriétés « properties » qui possèdent des valeurs l’association d’une ressource à une propriété par une valeur de propriété est une déclaration « statement » : Ressource : Toutes les choses décrites par des expressions RDF sont appelées des ressources. Dans la perspective d'un Web sémantique, les ressources doivent être clairement identifiées, sans quoi il n'est pas possible de partager l'information, les ressources sont référencées par des URI. Exemple : Il existe par exemple des dizaines de Mohamed Boudiaf ; Comment décrire l'une d'elles sur le Web, sans risquer de la confondre avec d'autres ? La solution proposée par le Web sémantique est d'associer un identifiant unique à chaque chose : Il s'agit de l'URI (Uniform Resource Identifier).

2. Propriété  c’est un aspect, une caractéristique, un attribut ou une relation spécifique pour décrire une ressource. Chaque ressource possède une signification spécifique, définit ses valeurs permises, les types de ressources qu’elle peut décrire et les relations qu’elle entretient avec les autres ressources.

Déclaration  Une ressource spécifique, associée à une propriété définie ainsi que la valeur de cette propriété pour cette ressource est une déclaration RDF. Exemple Considérons la phrase suivante : La page d’adresse « www.adresse de la page.com » a été écrite par «www. auteur de la page.com » qui a pour mail « mail de l’auteur » Sujet (ressource) www.adresse de la page.com  Prédicat (propriété) créateur Objet (ressource) www. auteur de la page.com 

Représentation graphique  Dans le schéma suivant : Une ressource est représentée par un cercle (ovale), Un prédicat (propriété) est représenté par un arc, Un objet est représenté par un rectangle

www.adresse de la page.com Graphe RDF www.adresse de la page.com créateur www.auteur de la page e-mail Mail de l’auteur

La syntaxe de RDF Le graphe fournit une architecture conceptuelle abstraite pour décrire le contenu d’une ressource et affirmer des relations entre les ressources(Equivalent aux réseaux sémantiques). Cependant les graphes RDF ne sont pas exploitables par les machines. Plusieurs présentations formels, à savoir: XML, N3, N-triples.

Sérialisation XML/RDF Le RDF propose également une syntaxe XML, présentant l’avantage d’être à la fois standardisée et interopérable. Le RDF a besoin également des espaces de nom (NameSpace) pour associer à chaque propriété le schéma qui la définit.

La représentation du modèle de donnée (graphe RDF) en RDF/XML est le suivant : <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s=http://description.org/schema/ xmlns:v=http://description.org/identity/> <rdf:Description about="http://www.adresse de la page "> <s:createur rdf:resource = http://www.auteur de la page /> </rdf:Description> <rdf:Description about="http://www.auteur de la page"> <v:Email>mail de l’auteur</v:Email> </rdf:RDF>

Namespace Pour modulariser les schémas : À un schema est associé un URI Les balises issues du schéma sont préfixées par cet URI, Appelé namespace. Trois espaces de nom ont été déclarés : Le premier permet de faire référence à la définition de la syntaxe de RDF. Chaque primitive rdf fera référence à cet espace. Le deuxième espace de nom ‘s’ permet de rendre disponible un large vocabulaire de propriétés défini dans cet espace de nom (la propriété Createur fait référence à l’espace de nom s). il en est de même pour le troisième espace de nom ‘v’(la propriété Email appartient à l’espace de nom v).

<rdf:Description about=" http://www.adresse de la page.com "> contient l'identification de la ressource en cours de description. fournit un moyen de donner une seule fois le nom de la ressource pour plusieurs déclarations. Lorsque l’attribut ‘about’ est spécifié, les déclarations dans ‘Description’ se réfèrent à la ressource dont l'identificateur est déterminé grâce à ‘about’. Les attributs – About : pour se référer à une URI d'une ressource existante. –Id : pour spécifier la création d'une nouvelle ressource.

<s:Créateur rdf:resource="http://www.auteur de la page.com"/> </rdf:Description> ‘s:Créateur’ fait référence à l’espace de nom intitulé ‘s’, défini précédemment. ‘Créateur’ fait partie du vocabulaire défini dans cet espace de nom. Nous pouvons ainsi comprendre que la personne identifiée par « http://www.auteur de la page.com » est le créateur de la ressource « http://www.adresse de la page.com ». ‘rdf:resource’ faire référence à une ressource dans le document à savoir « http://www.auteur de la page.com ». Généralement, Syntaxe : <propriété>valeur</propriété> Utiliser des espaces de noms pour qualifier les propriétés Les valeurs sont des éléments ou bien des chaînes de caractères.

Formats N-triples et N3 Format N-triples <http://www.univ-mlv.fr/~ocure> <http://purl.org/dc/elements/1.1/title> "Page de olivier Cure" . <http://purl.org/dc/elements/1.1/author> "Olivier Cure" . Format N3 @prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . dc:author "Olivier Cure"; dc:title "Page de olivier Cure" .

Modélisation avec RDF (Primitives) Primitives : 7 pour les classes, 7 pour les propriétés et une pour les instances Classe : –rdf:Statement : la classe des triplets contenant un sujet, une propriété et un objet. rdf:Property : la classe des propriétés rdf:Bag, rdf:Seq et rdf:Alt : les classes des collections. rdf:List : la classe des listes RDF. rdf:XMLLiteral : un type de donnée,qui permet de définir une classe pour les littéraux XML.

Modélisation avec RDF (Primitives) Propriété : rdf:first et rdf:rest : représentent la relation entre une liste et son premier élément (le reste des éléments). rdf:predicate, rdf:subject et rdf:object : ils définissent les ressources propriété, le sujet et l'objet d'une déclaration (statement). rdf:type : pour définir la classe d'appartenance d'une ressource. rdf:List : la classe des listes RDF. rdf:value: pour définir la valeur d'une propriété lorsque celle-ci est une ressource structurée (un RDF statement). Instance : rdf:nil: pour décrire une liste vide.

Liaisons entre déclarations Le sujet d'une déclaration peut être l'objet d'une autre déclaration. On sépare les déclarations (comme dans le diapo 13). Ou bien, on intègre l’une à l’autre: <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s=http://description.org/schema/ xmlns:v=http://description.org/identity/> <rdf:Description rdf:about="http://www.adresse de la page "> <s:createur> <rdf:Description rdf:about="http://www.auteur de la page"> <v:Email>mail de l’auteur</v:Email> </rdf:Description> </s:createur> </rdf:RDF> N.B. ces deux sérialisations ont la même graphe RDF.

Ressources multiples Exemple: <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s=http://description.org/schema/ xmlns:v=http://description.org/identity/> <rdf:Description about="http://www.page1.com "> <s:createur> createur1</s:createur> </rdf:Description> <rdf:Description about="http://www.page2.com "> <s:createur> createur2</s:createur> </rdf:RDF>

Imbrication de ressources Exemple: <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s=http://description.org/schema/ xmlns:vi=http://description.org/identity2/> <rdf:Description about="http://www.page1.com "> <s:createur> <rdf:Description rdf:about="http://www.auteur de la page"> <vi:FN>Ahmed</v:FN> <vi:EMAIL>bali-ahmed@univ- eloued.dz</vi:EMAIL> </rdf:Description> </s:createur> </rdf:RDF>

"A blank node is a node that is not a URI Blank nodes "A blank node is a node that is not a URI reference or a literal... A blank node is just a unique node that can be used in one or more RDF statements" (W3C). 2 advantages: – go for n-ary relations. – make statements about resources that may not have URIs but that are described in terms of relationships with other resources that do have URIs. A blank node is refered in RDF/XML using rdf:nodeId attribute.

Blank nodes Exemple: <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s=http://description.org/schema/ xmlns:vi=http://description.org/identity2/> <rdf:Description about="http://www.page1.com "> <s:createur> <rdf:Description rdf:about="http://www.auteur de la page"> <vi:FN>Ahmed</v:FN> <vi:EMAILS rdf:nodeID=‘’X1 ’’/> </rdf:Description> </s:createur> <rdf:Description rdf:nodeID="x1"> <vi:epersonnel>e1@mail.com</vi:epersonnel> <vi:eprofessionnel>e2@mail.com</vi:eprofessionnel> </rdf:RDF>

Its graph …

Les conteneurs RDF Nécessité de faire référence à une collection de ressources : les conteneurs RDF Trois types de conteneurs sont définis : Bag : Une liste non ordonnée de ressources ou de littéraux. Utilisée pour déclarer qu'une propriété possède plusieurs valeurs Les valeurs identiques sont permises Sequence : Une liste ordonnée de ressources ou de littéraux. utilisée pour déclarer qu'une propriété a plusieurs valeurs et que l'ordre de ces valeurs a un sens. Les valeurs identiques sont permises. Alternative : Une liste de ressources ou de littéraux qui représentent des alternatives pour la valeur (unique) d'une propriété.

Les conteneurs RDF Représentons la phrase suivante avec le modèle RDF : « Les enseignants du cours I.H.M sont Ali, Omar, et Ramzi. » La valeur de la propriété ‘enseignants’ est formulée comme un ‘bag’. La forme généralisée ‘rdf:li’ permet de définir les différentes ressources du conteneur (les différentes valeurs possibles).

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ns=http://description.org/schema-ns/ <rdf:Description about="http://www.info.dz/cours/IHM "> <ns:staff> <rdf:Bag ID='sta'> <rdf:li>ramzi</rdf:li> <rdf:li>Ali</rdf:li> <rdf:li>Omar</rdf:li> </rdf:Bag> </ns:staff> </rdf:Description> </rdf:RDF>

Syntaxe abrégée On peut convertir les propriétés en attributs: <rdf:Description about="http://www.page.com "> <infs:createur>b-a</infs:createur> <infs:title>page de cours</infs:title> <infs:date>17/11/2013</infs:date> </rdf:Description> Devient <rdf:Description about="http://www.page.com" infs:createur="b-a" infs:title="page de cours" infs:date="17/11/2013" />

RDF dans HTML <html> <head> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:infs="http://…/…/…/"> <rdf:Description about="" infs:createur="b-a" infs:title="page de cours WS" infs:date="17/11/2013"/> </rdf:RDF> <title>Cours WS pour le 2ème Master informatique</title> </head> <body> . </body> </html>

Les limites de RDF RDF est un langage formel qui permet d’affirmer des relations entre des «ressources». Il sera utilisé pour annoter des documents écrits dans des langages non structurés ; RDF est muni d’une syntaxe et d’une sémantique. Quand les données de XML sont déclarées au format RDF, les applications peuvent comprendre une grande partie de la traduction des données.

Les limites de RDF Cependant Mais on est en droit d’être plus exigeant. Nous avons besoin de connaître des informations sur les ressources identifiées, comme par exemple ce qu’elles représentent exactement : Si nous avons une propriété représentant un auteur, nous pouvons en effet exiger que la valeur d’une telle propriété fasse référence à une personne (et non une voiture ou une maison). C’est pour cela que l’on associe à RDF le standard RDF Schéma (RDFS), qui est un peu l’équivalent des DTDs (Document Type Definition) pour le XML.