Modèle Graphe (RDF & PGM)web4.ensiie.fr/~stefania.dumbrava/GDA/cours2_GDA.pdf · 1989 - World Wide...
Transcript of Modèle Graphe (RDF & PGM)web4.ensiie.fr/~stefania.dumbrava/GDA/cours2_GDA.pdf · 1989 - World Wide...
IntroductionRDFPGM
Modele Graphe (RDF & PGM)
Stefania Dumbrava
ENSIIE
10 Fevrier 2020
1/48
IntroductionRDFPGM
Planning du Module
03/02 - Evolution des Modeles NoSQL
10/02 - Modele Graphe (PGM & RDF)
17/02 - Fondements des Requetes Graphe (Cypher & SPARQL)
17/02 - [TP] Modele Graphe (RDF & PGM) & Neo4j Cypher
24/02 - [TP] Neo4j Cypher Avance
09/03 - Gestion des Donnees Graphe
09/03 - [TP] Discussion & Soutenances
16/03 - [TP] Discussion & Soutenances
2/48
IntroductionRDFPGM
Rappel: Evolution des SGBDs
Figure: Evolution des SGBDs
3/48
IntroductionRDFPGM
Rappel: Projet
http://web4.ensiie.fr/~stefania.dumbrava/gda_project.pdf
Vous pouvez travailler en binome.
Commencer tot.
Utiliser la documentation Cypher :
https://neo4j.com/docs/cypher-manual/current/
Profiter des prochains TPs pour poser des questions.
4/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
Briques de Base (I)
5/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
Briques de Base (II)
Graphe Simple
Domaine d’objets OUn graphe est une structure (V,E ) t.q
Les noeuds sont des objets V ⊆ OLes arretes sont des sous-ensembles E ⊆ {{x , y} | x , y ∈ V}
Graphe Oriente (Directed Graph)
Les arretes sont des paires E ⊆ V × V
Multi-graphe
Un graphe est une structure (V,E , ρ) t.q
Les arretes sont des objets E ⊆ Oρ : E → {{x , y} | x , y ∈ V} (non-orientees) ouρ : E → V × V (orientees)
6/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
Briques de Base (II)
6/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
Briques de Base (III)
Etiquettes (Labels)
Information de type associe aux objets
Denotent quel sorte d’entite du monde reel les objets representent
Domaine d’etiquettes LUn graphe etiquete est une structure (V,E , λ) t.q
Noeuds etiquettes λ : V → LArretes etiquettees λ : E → LNoeuds et arretes etiquettes λ : V ∪ E → LNoeuds multi-etiquettes λ : V → 2L
Arretes multi-etiquettees λ : E → 2L
Noeuds et arretes multi-etiquettes λ : V ∪ E → 2L
7/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
Briques de Base (IV)
Donnees/Proprietes (Data/Proprieties)
Information/enonces associes aux objets
Objets “riches” (le contenu reel des objets)
Domaine de donnees/valeurs DDomaine de cle des proprietes/attributes KUn graphe de donnees est une structure (V,E , ν) t.q
Donnees de noeuds ν : V → DDonnees d’arretes ν : E → DDonnees de noeuds et d’arretes ν : V ∪ E → DProprietes de noeuds ν : V × K → DProprietes d’arretes ν : E ×K → DProprietes de noeuds et d’arretes ν : (V ∪ E)×K → D
8/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
Hierarchie des Modeles Graphe
9/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
10/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
RDF dans l’Hierarchie des Modeles Graphe
11/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
RDF (Resource Description Framework) : Contexte
1989 - World Wide Web invente par Tim Berners-Lee au CERN
Figure: Extrait de “Information Management: A Proposal”
12/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
RDF (Resource Description Framework) : Contexte
Web de ressources qui ont des etats...
variables adans le tempsmanipulables (consultation, modification, creation) indirectement atravers des representations (donnees structurees)
1990 - conception des trois technologies Web de base
HTML (HyperText Markup Language) :formattage des documents
URI (Uniform Resource Identifier) :identification unique (“addresse”) des ressources, e.g.,http://web4.ensiie.fr/~stefania.dumbrava/
HTTP (Hypertext Transfer Protocol) :recuperation des ressources liees
12/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
RDF (Resource Description Framework)
Modele de Donnees pour le Web Semantique
Fondament du web semantique
Decrit les ressources du Web en exploitant des metadonnees
Interoperabilite Web d’applications s’echangeant de l’information
Fait partie du standard W3C (World Wide Web Consortium)
https://www.w3.org/RDF/
Syntaxe XML (mais ce n’est pas la syntaxe unique)
13/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
RDF (Resource Description Framework)
Concepts de Base
Ressources - Sujets/Subject
donnees decrites a l’aide d’expressions RDF
sont referencees par des URIs -https://tools.ietf.org/html/rfc3986
ou par des IRIs (Internationalized Resource Identifiers) -https://tools.ietf.org/html/rfc3986
e.g., (fragment de) page Web, image, video, etc.
Proprietes - Predicats/Predicates
caracteristiques/attributs/relations entre les ressources.
Valeurs - Objets/Objects - associees a une propriete
Declarations RDF
triplet (R,P,V) : “la ressource R a la valeur V pour la propriete P”
14/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
RDF (Resource Description Framework) : Exemple
Les ressources sont nommees avec des URIs, e.g. :
https://www.ensiie.fr/enseignants-chercheurs/#ecole
http://xmlns.com/foaf/0.1/member
http://web4.ensiie.fr/~stefania.dumbrava/#page
Notation simplifie (prefixes courts correspondant a des prefixes d’URI) :
ensiie: → https://www.ensiie.fr/enseignants-chercheurs/#
foaf: → http://xmlns.com/foaf/0.1/
dumbrava: → http://web4.ensiie.fr/~stefania.dumbrava/#
15/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
RDF (Resource Description Framework) : Exemple
Figure: Declaration RDF (forme graphique) avec l’usage des noms prefixes
15/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
RDF (Resource Description Framework)
Litteraux
Les ressources peuvent etre aussi liees a des donnees typees
Ces donnees, qui ont des types dites primitives (entiers, reels,chaınes de caractere, date), sont nommees litteraux
Figure: Declaration RDF (forme graphique) avec l’usage d’un litteral
16/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
RDF (Resource Description Framework)Noeuds Vierges/Blank Nodes
en RDF on peut parler d’une ressource sans connaıtre son URI.
semantiquement, c’est equivalent a utiliser une variable quantifieeexistentiellement.
Figure: Declaration RDF (forme graphique) avec l’usage d’un noeud vierge
17/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
RDF (Resource Description Framework)
Graphe RDF
ensemble de declarations RDF
les noeuds sont des sujets (R) ou des objets (V) RDF(peuvent etre vides, i.e., blank nodes)
les arretes sont des proprietes (P) RDF
18/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
RDF (Resource Description Framework)
Figure: Graphe RDF
18/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
RDF Schema (RDFS)
Classes : types pour les noeuds RDF (sujets et objets)
rdfs:Resource (toutes les autres classes sont une sous-instance)
rdfs:Class (classe des ressources qui sont des classes)
rdf:Property (classe de resources qui sont des proprietes RDF)
rdf:Statement (classe des triplets RDF)
rdf:Bag, rdf:Seq, rdf:Alt (classe des collections)
rdf:List (classe des listes RDF)
rdf:XMLLiteral (classe des litteraux XML)
19/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
RDF Schema (RDFS)
Proprietes (instances de rdfs:Property)
rdfs:range - le cible d’une arrete(meta-propriete qui denote que les valeurs d’une propriete sont desinstance d’une/de plusieurs classes ou d’un datatype)
rdfs:domain - la source d’une arrete(meta-propriete qui denote que toute ressouce qui a une proprieteest une instance d’une/de plusieurs classes)
rdf:type (denote qu’une ressource est une instance d’une classe)
rdf:subClassOf et rdfs:subPropertyOf(relations sous-ensemblistes pour les classes et les proprietes)
rdf:label (version human-readable du nom d’une ressouce)
...liste complete ici :
https://www.w3.org/TR/rdf-schema/#ch_resource
20/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
RDF Schema (RDFS) : Exemple
21/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
RDF Schema (RDFS) : Exemple
21/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
RDF Schema (RDFS) : Exemple
21/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
RDF Schema (RDFS) : Exemple
21/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
RDF Schema (RDFS) : Exemple
21/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
RDF/XML
premiere syntaxe recommandee par le W3C (1999)
basee sur XML → complexe & verbeuse
syntaxe : http://www.w3.org/TR/rdf-syntax-grammar/
validateur : http://www.w3.org/RDF/Validator/
22/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
RDF/XML
Figure: Exemple de syntaxe RDF/XML
22/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
N-Triples
formattage text a base de lignes
chaque ligne se termine par un “.” et encode un triplet RDF ou lesujet, predicat et objet sont separes par des espaces blancs
les URIs/IRIs sont entoures par < et >
syntaxe : https://www.w3.org/TR/2014/REC-n-triples-20140225/
Figure: Exemple de syntaxe N-Triples
23/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
Turtle (Terse RDF Triple Language)
formattage plus compacte, facile a ecrire et a editer
abbreviations pour replacer les repetitions des :prefixes URI/IRI, sujets (paires predicat-objet separees par “;”) etpaires sujet-predicat (objets separes par “,”)
syntaxe : https://www.w3.org/TR/2014/REC-turtle-20140225/
Figure: Exemple de syntaxe N-Triples
24/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
Correspondance entre les formats RDF
25/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
Entites Simples
26/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
Entites Multi-valuees
27/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
Relations 1:N
28/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
Relations N:M
29/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
Relations avec proprietes
compatible avec les relations N:M
engendre un changement de schema
30/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
Relations avec des proprietes
schema peut rester inchange
31/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
Exercice I : Modelisation RDF
concepts : une personne, un etudiant, un enseignant et un cours
proprietes : estEnseignant, etudiantsCours, possedeNom et cours
Proposer un schema RDFS correspondant et une instance valide.
32/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
Exercice II : Modelisation RDF
Ecrire le document RDF suivant en format Turtle et graphe :
33/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
Exercice III : Modelisation RDF
Representer le graphe RDF suivant en format RDF/XML:
34/48
IntroductionRDFPGM
Briques de Base RDFSyntaxes Concretes RDFModelisation RDF
Exercice III : Modelisation RDF
Ecrire un modele RDF/RDFS qui represente les assertionssuivantes :
URI1 et UR2 sont des classes
URI3 et URI7 sont des proprietes
URI1 est une sous-classe de URI2
URI3 est une sous-propriete de URI7
URI3 a le domaine URI1 et le range URI2
URI4 est une instance de URI1
URI5 et URI6 sont des instances de la classe URI2
(URI6,URI4) est une instance de la propriete URI3
35/48
IntroductionRDFPGM
Property Graph ModelModelisation PGM
Property Graph Model (PGM)
36/48
IntroductionRDFPGM
Property Graph ModelModelisation PGM
Hierarchie des Modeles Graphe
37/48
IntroductionRDFPGM
Property Graph ModelModelisation PGM
Modele PGM Canonique
Multi-graphe etiquette, oriente, avec des attributs
graphe d’objets “riches”
les noeuds et les arretes peuvent avoir des ettiquetes(typage)
les noeuds et les arretes peuvent avoir des proprietes(paires cle-valeur)
Figure: Exemple de Graphe de Proprietes
38/48
IntroductionRDFPGM
Property Graph ModelModelisation PGM
Entite avec proprietes
39/48
IntroductionRDFPGM
Property Graph ModelModelisation PGM
Relations N:M
40/48
IntroductionRDFPGM
Property Graph ModelModelisation PGM
Relations N:M : Exemple
41/48
IntroductionRDFPGM
Property Graph ModelModelisation PGM
Relations N-aires
42/48
IntroductionRDFPGM
Property Graph ModelModelisation PGM
Relations N-aires : Exemple
43/48
IntroductionRDFPGM
Property Graph ModelModelisation PGM
Proprietes Multi-valuees
44/48
IntroductionRDFPGM
Property Graph ModelModelisation PGM
Hierarchie des Modeles Graphe
45/48
IntroductionRDFPGM
Property Graph ModelModelisation PGM
Conclusion
briques de base des modeles graphe
noeuds, arretesorientation, multi-graphesetiquettes, donnees, proprietes
hierarchie des modeles graphe
modeles les plus repandus : RDF & PGM
46/48
IntroductionRDFPGM
Property Graph ModelModelisation PGM
Solutions TD2
47/48
IntroductionRDFPGM
Property Graph ModelModelisation PGM
Solutions TD2
47/48
IntroductionRDFPGM
Property Graph ModelModelisation PGM
Solutions TD2
47/48
IntroductionRDFPGM
Property Graph ModelModelisation PGM
Solutions TD2
47/48
IntroductionRDFPGM
Property Graph ModelModelisation PGM
Solutions TD2
47/48
IntroductionRDFPGM
Property Graph ModelModelisation PGM
Solutions TD2
47/48