Modèle Graphe (RDF & PGM)web4.ensiie.fr/~stefania.dumbrava/GDA/cours2_GDA.pdf · 1989 - World Wide...

Post on 22-Aug-2020

4 views 0 download

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