LIRMM FMIN306 2009
Définition métadonnées Contexte actuel Illustration Base de données Services attendus Un exemple de standard Données relatives à des données, de l information ajoutant du sens à des données méta : niveau d abstraction supérieur données : donc manipulables en tant que telles (structuration et interrogation notamment)
Contexte d utilisation Contexte actuel Illustration Base de données Services attendus Un exemple de standard Historique : BD notamment avec les dictionnaires de données et Systèmes d exploitation en force depuis l émergence du Web domaines consommateurs : BD, Web sémantique, Systèmes distribués, Calculs parallèles et grilles, sciences du vivant, sciences de l environnement, sciences de l éducation,... Qualité première de la métadonnée : être à la fois exploitable par les machines et compréhensible par les utilisateurs
Des Exemples concrets Contexte actuel Illustration Base de données Services attendus Un exemple de standard Quelques exemples illustratifs les dictionnaires dans le monde des bases de données informations associées à un répertoire de fichiers : droits d accès, taille, date de création, propriétaire,... informations ajoutant du sens : indicateurs de qualité par exemple...
Contexte actuel Illustration Base de données Services attendus Un exemple de standard Méta-schéma : des métadonnées pour le gestionnaire de données Metaschema Table des tables Table des attributs Table des contraintes... Schema de donnees Table Client Contrainte Client_PK... Donnees (tuples) Figure: Niveau d abstraction
Les rôles potentiels Métadonnées Contexte actuel Illustration Base de données Services attendus Un exemple de standard Multiples mais centrés sur l échange, le transport, la localisation, la recherche, l intégration, la médiation,... avec des soucis de qualité accès aux ressources (localisation, catalogage) aide à la structuration et à la recherche d information (Web) documentation des ressources du Web (standard Dublin Core par ex.) échange de données, médiation, fédération de sources de données croisement de domaines (annotations sémantiques) évaluation de contenus qualité, traçabilité des informations
Contexte actuel Illustration Base de données Services attendus Un exemple de standard Standard de métadonnées Dublin Core (W3C) Dublin Core : ensemble d indications souvent bibliographiques applicables à toute ressource disponible sur le Web a a http://dublincore.org/ Resource <Describes Dublin Core Qualificatif Element identifier Language... Title Creator Subject Source...
Resource Description framework Les notions essentielles Dublin Core intégrant la vision RDF Resource décrite par des annotations Dublin Core Noeud anonyme langage RDF (Resource Description Framework) du W3C : initiative pour décrire des ressources (notamment Web) au travers de métadonnées Idées phares : Est défini comme ressource tout ce qui a une identité chacun peut apporter sa perception sur une ressource au travers d annotations (couples propriété-valeur) sans modifier la ressource chaque annotation (vue ici comme une métadonnée) va être exploitée de manière décentralisée
Modèle RDF : ensemble de triplets Les notions essentielles Dublin Core intégrant la vision RDF Resource décrite par des annotations Dublin Core Noeud anonyme Déclaration ou triplet RDF : {Sujet, prédicat, Objet} Espaces de nom : xmlns:animal="http://www.lirmm.fr/animal#" xmlns:rdf= http://www.w3.org/1999/02/22 rdf syntax ns# Ovale : Ressource Arete : Propriete Rectangle : Litteral sujet animal:tom predicat rdf:type objet animal:chat animal:estdecouleur "grise" Figure: Exemple illustratif
Espace de noms Métadonnées Les notions essentielles Dublin Core intégrant la vision RDF Resource décrite par des annotations Dublin Core Noeud anonyme Les espaces de noms et les Uniform Resource Identifier jouent un rôle essentiel dans l intégration des ressources Les ressources peuvent être nommées au travers d URIs Les ressouces peuvent être anonymes (BNode) : structure composite, relation n-aire, entité non identifiée Les objets des triplets peuvent être des valeurs littérales (prenant un type de données XML Schema) Les prédicats (property) sont également étiquetées via un URI Déclaration ou triplet RDF : {U B x U x U B L } Avec U : URI, L : Literal et B : Blank Node
Aller vers le modèle de graphe RDF Un nouveau diagramme pour le Dublin Core Les notions essentielles Dublin Core intégrant la vision RDF Resource décrite par des annotations Dublin Core Noeud anonyme Resource Litteral Value Described Resource Value 1 Entity Property Value Pair hasrange hasdomain Property 1 Figure: Diagramme de classes Métadonnées, UML RDF, : Dublin RDFS et Core OWL
Les notions essentielles Dublin Core intégrant la vision RDF Resource décrite par des annotations Dublin Core Noeud anonyme Exemple d exploitation du Dublin Core Une chanson des Beatles s:johnlennon s:paulmccartney rdf:type s:musician dc:creator dc:creator s:yellowsubmarine rdf:type s:song dc:title "Yellow Submarine" xmlns:s="http://www.lirmm.fr/songs#" xmlns:dc="http://purl.org/dc/elements/1.1# xmlns:rdf= http://www.w3.org/1999/02/22 rdf syntax ns# Figure: Graphe RDF
Exemple de noeud anonyme noeud composite sans étiquette Les notions essentielles Dublin Core intégrant la vision RDF Resource décrite par des annotations Dublin Core Noeud anonyme xmlns:rdf= http://www.w3.org/1999/02/22 rdf syntax ns# xmlns:s="http://www.lirmm.fr/songs#" s:paulmccartney rdf:type s:musicia xmlns:loc="http://www.example.org/location#" loc:address loc:city loc:street "London" "Beaver Avenue" Figure: Noeud anonyme
Eléments d introduction Un exemple RDF Schema a (RDFS) : définir des vocabulaires RDF tout en s exprimant en RDF (toute application supportant du RDF peut suppoter du RDFS) a www.w3.org/tr/rdf-schema/ notion centrale de Resource : tout objet qui est nommée par une URI. Dans le méta-modèle RDFS, elle correspond à la classe racine RDSResource. décrit les ressources à partir des concepts de classe (class) et de propriété (property) Les classes comme les propriétés vont pouvoir être organisées en hiérarchies
Primitives de RDFS Eléments d introduction Un exemple Les classes et les propriétés sont définies de manière indépendante classes propriétés contraintes rdfs:resource rdf:type rdfs:domain rdf:property rdfs:subclassof rdfs:range rdfs:class rdfs:subpropertyof rdfs:constraintproperty
Exemple de graphe RDFS Eléments d introduction Un exemple xmlns:s="http://www.lirmm.fr/songs# xmlns:rdf= http://www.w3.org/1999/02/22 rdf syntax ns# xmlns:rdfs="http://www.w3.org/tr/wd rdf schema#" s:people rdfs:class Instance Classe rdfs:subclassof s:johnlennon rdf:type s:musician s:paulmaccartney rdf:type Figure: Hiérarchie de classes RDFS
Essai de définition Métadonnées Ontology Web Language Ontologie : spécification d une conceptualisation partagée ; décrire de manière consensuelle un domaine scientifique donné Points forts : raisonner intégrer différentes sources de données
Ontology Web Language Langage pour les ontologies : OWL Ontology Web Language : Extension de RDFS OWL-Lite, OWL-DL et OWL-Full emprunts aux logiques de description : opérateurs logiques, classes disjointes, restriction sur les cardinalités, objectproperty et datatypeproperty...
Illustration OWL Métadonnées Ontology Web Language owl:class owl:objectproperty s:people owl:individual owl:class rdfs:subclassof owl:objectproperty rdfs:subpropertyof owl:symetricproperty s:johnlennon rdf:type s:musician rdfs:subpropertyof s:playswith s:paulmccartney rdf:type connaissance implicite xmlns:s="http://www.lirmm.fr/songs#" xmlns:rdf= http://www.w3.org/1999/02/22 rdf syntax ns# xmlns:rdfs="http://www.w3.org/tr/wd rdf schema#" xmlns:owl="http://www.w3.org/2002/07/owl# Figure: Aller vers les ontologies
Illustration RDF/XML Formats de sérialisation Des outils <owl:symmetricproperty rdf:id="playswith"> <owl:inverseof rdf:resource="#playswith"/> <rdfs:range rdf:resource="#people"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#objectproperty"/> <rdfs:domain rdf:resource="#people"/> </owl:symmetricproperty> <Musician rdf:id="paulmccartney"> <PlaysWith> <Musician rdf:id="johnlennon"> <PlaysWith rdf:resource="#paulmccartney"/><hasfirstname rdf:datatype="http://www.w3.org/2001/xmlschema#string" >John</hasFirstName> </Musician>
Illustration N3 Métadonnées Formats de sérialisation Des outils default:playswith a owl:objectproperty, owl:symmetricproperty ; rdfs:domain default:people ; rdfs:range default:people ; owl:inverseof default:playswith. default:paulmccartney a default:musician ; default:playswith default:johnlennon ; default:hasfirstname "Paul"^^xsd:string.
Formats de sérialisation Des outils Des outils pour exploiter RDF, RDFS et OWL Liste non exhaustive Editeur Protégé APIs Java : Jena, OWL-API Jena http://jena.sourceforge.net SPARQL Paquetage pour l exploitation de graphes RDF (com.hp.hpl.jena.rdf.model) exploiter un classifier comme Pellet API PHP : RAP RDF API for PHP
Illustration Jena Métadonnées Formats de sérialisation Des outils public static final String owl_file = "songs.owl"; public static void main( String[] args ) { OntModel m = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM); FileManager.get().readModel( m, owl_file ); String s ="http://www.lirmm.fr/songs#"; OntClass mu = m.getontclass(s+"musician" ); System.out.println("classe : "+mu.getlocalname()); ResIterator res_i = m.listsubjectswithproperty( RDF.type, mu ); while (res_i.hasnext()) { Resource pr = res_i.nextresource(); System.out.println( "Musicien : " + pr.getlocalname()); } }