XML et donnes semistructures - PowerPoint PPT Presentation

1 / 116
About This Presentation
Title:

XML et donnes semistructures

Description:

Data on the Web: Abiteboul, Buneman, Suciu, Morgan Kaufmann ... h1,..,h6, title, address, ... donnent des indications structurelles. center,hr,b,i,big, ... – PowerPoint PPT presentation

Number of Views:239
Avg rating:3.0/5.0
Slides: 117
Provided by: Vin386
Category:

less

Transcript and Presenter's Notes

Title: XML et donnes semistructures


1
XML et données semi-structurées
  • Serge Abiteboul
  • Serge . Abiteboul _at_inria . Fr
  • http//www-rocq.inria.fr/abitebou/DEA-III
  • Data on the Web Abiteboul, Buneman, Suciu,
    Morgan Kaufmann

2
Plan
  • Introduction semi-structuré
  • XML
  • Contexte et cahier des charges
  • Héritage et principes fondamentaux
  • Avantages de XML
  • Zoom sur le langage
  • Typage rapidement
  • Quelques gadgets importants
  • Exemple dapplications
  • Conclusion pour aujourdhui
  • Plan du cours

3
Contexte et cahier des charges
4
La révolution du Web
  • Depuis dix ans, Internet révolutionne
    l'informatique  grand public 
  • HTML est le langage du Web
  • Même si on trouve aussi du .doc, .ps, .pdf et
    des images (jpg, gif), du son, de la vidéo
  • Des milliards de pages existent actuellement
  • public/privé, statique/dynamique, visible/caché
  • Support naturel pour linformation distribuée
  • À destination dêtres humains et
  • de plus en plus, pour des applications

5
Distribution de données sur le Web les
applications arrivent
  • Exemples
  • B2C (commerce électronique)
  • B2B (achats groupés)
  • Bibliothèques et fonds documentaires en ligne
  • G2C (impôts)
  • HTML n'est pas adapté pour ces applications
  • Ces applications (programmes) ont besoin de
    typage pour représenter la structure des données

6
Constat1
  • Pour écrire des programmes, il faut du typage
  • On ne peut pas se contenter dobtenir des
    ensembles de pages HTML comme avec les moteurs de
    recherche du Web
  • Les modèles documentaires à la HTML ne proposent
    pas assez de structure
  • Quel modèle et quelles structures?
  • Un typage à la  bases de données ?

7
Particularités différences avec SGBD
  • On ne connaît pas bien la structure
  • Dans un SGBD, on connaît la structure des tables
    et la sémantique des colonnes pas sur le Web
  • La structure est irrégulière
  • Données manquantes, ou en plus (annotations)
  • Variations de type dollars, euros
  • Standards différents sur les adresses
  • La structure peut être implicite
  • Il faut  parser pour la découvrir
  • La structure peut nêtre que partielle
  • Une partie des données est sas structure plein
    texte, images, son
  • Le typage peut nêtre quindicatif
  • On tolère des données non strictement conforme

8
Particularités différences avec SGBD
  • Le schéma est souvent a posteriori
  • On a des données et on en déduit un type
  • Le schéma est souvent gros et complexe
  • Le schéma est parfois ignoré par les requêtes
  • Requête par mots clé et broutage
  • Le type dune information peut dépendre du
    contexte
  • An objet MyBib est dabord une chaîne de
    caractères, puis un fichier BibTex après
    analyse/classification, il peut obtenir un
     propriétaire  une date_création peut devenir
    ensuite un ensemble de Références après analyse
    syntaxique
  • Le schéma évolue très rapidement
  • Souvent une raison de ne pas choisir un SGBD

9
Constat2
  • Les modèles bases de données classiques proposent
    une structure trop rigide
  • Ni modèle documentaire, ni modèle base de
    données, on va prendre un modèle de données
    semi-structuré qui marrie les deux

10
Deux mondes se rejoignent dans les modèles
semi-structurés
XML
11
Le spectre de linformation et les données
semi-structurées
Structured Data
Meta data
Hierarchy
Systèmes Relationnels
Systèmes Documentaire
Books Contracts Catalogs Bank
accounts Emails Financial Reports Insurance
Policies Economical Analysis
Derivatives Inventory Political
analysis Insurance Claims Financial
News Sports News Resumes
12
Données semi-structurées XML
  • Cible la gestion du champ le plus large possible
    de contenus
  • SGBD
  • Données textuelles
  • Données documentaires
  • Data eXchange Formats
  • ASN1, BibTex, EDI
  • Architecture
  • Client/serveur
  • médiateurs or entrepôts
  • P2P

13
Accès à de telles données
  • Requêtes aspects principaux
  • Bases de données style SQL/OQL
  • Navigation (style broutage Web)
  • Mots clés (style moteur recherche Web) et pattern
    matching (style grep)
  • Requêtes sans connaître la structure des données
    interroger données et structure simultanément
  • Requêtes tenant compte du temps, requêtes sur des
    versions, archives, requêtes sur les changement
  • Appui linguistique synonymes, correction de
    fautes dorthographe

14
A la découverte de XML
15
XML eXtensible Markup Language
  • Un format universel pour les documents et données
    (semi-) structurés sur le Web
  • Une version simplifiée de SGML (ISO 8879)
  • Lespéranto du Web qui va remplacer HTML
  • Beaucoup de bruit pour rien du marketing
  • Une famille de standards en train de naître
  • XLink, XPointer, XSchema, DOM, SAX, Xpath, XSL,
    XQuery, SOAP, WSDL,
  • Un modèle de données fondé sur des arbres et un
    langage de représentation basé sur le balisage
    ( bannières )

16
Exemple
La structure est dans les bannières La sémantique
aussi ltagtlt/agt
  • ltfichegt
  • ltnomgt
  • ltfngtSergelt/fngt
  • ltlngtAbiteboullt/lngt
  • lt/nomgt
  • ltjob naturerecherche"gt
  • INRIA
  • ltadressegt
  • ltvillegtLe Chesnaylt/villegt
  • ltzipgt92310lt/zipgt
  • lt/adressegt
  • ltemailgtserge_at_inria.frlt/emailgt
  • lt/jobgt
  • ltmissiongtJaime enseigner ? ?
  • lt/missiongt
  • lt/fichegt

fiche
Syntaxe
mission
nom
job
nature
fn
ln
adresse
email
INRIA
Jaime
recherche
fn
ville
zip
Serge
Abiteboul
serge_at_inria.fr
92310
Le Chesnay
Éléments Attributs Données
fn
nature
92310
17
Remarques
  • XML fournit une syntaxe, pas de sémantique  a
    priori 
  • Les balises n'ont pas de présentation ou de
    signification définie par le langage mais elles
    peuvent bien sûr avoir un sens pour les
    applications
  • ltnomgtjeanlt/nomgt
  • ltmatièregtjeanlt/matièregt
  • XML ne définit que la structure et le contenu
    d'un document, pas son comportement ni son
    traitement

18
Remarques
  • Développement et promotion par W3C
  • Industriels tous les poids lourds, notamment
    Oracle, IBM, Compaq, Xerox, Microsoft, etc..
  • Laboratoires de recherche MIT (représentant les
    US), INRIA (Europe), université Keio au Japon
    (Asie)
  • Sur Internet publication et échange
    dinformation
  • Simplicité
  • Production
  • Lecture, analyse syntaxique, compréhension
  • Les mêmes données (avec différentes feuilles de
    style) disponibles pour de nombreux supports (pc,
    pda) et de nombreuses applications

19
XML est un univers impitoyableLes standards
naissent et meurent
  • XML données
  • DTD,Xschema typage
  • Les documents doivent être bien formés mais le
    typage ( valide ) nest pas obligatoire
  • XSL/T, Xquery transformation et requêtes
  • XPATH chemins
  • XLink liens entre documents
  • DOM Application programing interface
  • SOAP distributed computing
  • WebDAV distributed authoring and versioning
  • Plus des tas dautres et de logiciels

20
Héritage et principes fondamentaux
21
XML  successeur  de HTML
  • HTML Hypertext Markup Language.
  • Un ensemble prédéfini et limité de balises
    surtout de présentation, défini par une norme
    (HTML 2.0, 3.2, 4.0).
  • Sémantiques des balises
  • h1,..,h6, title, address, donnent des
    indications structurelles
  • center,hr,b,i,big,small, ne servent qu'à décrire
    une mise en page
  • Tim Berners-Lee (le créateur de HTML) a lui-même
    prêché pour un successeur. Pourquoi?

22
Exemple de html
Des méta données Surtout de la présentation
23
Problèmes liés à HTML
  • L'affichage d'un document est fortement dépendant
    de l'interprétation qu'en fait le navigateur
  • Il est nécessaire de disposer de plusieurs
    versions du document en fonction du média de
    rendu
  • L'indexation de documents ne peut se faire que
    sur la partie textuelle
  • Document et pas donnée

24
SGML et le balisage structurel
  • Il fallait passer dun de balisage de
    présentation à un BALISAGE STRUCTUREL
  • XML comme SGML dont il est un descendant
    utilisent un balisage structurel
  • SGML Standardized Generalized Markup Language
  • Très utilisé en documentation technique
  • Airbus la doc doit être précise et non ambiguë
  • SGML vocabulaire contrôlé ontologie
  • Ce sont des métalangages de description et
    déchange de documents structurés
  • Métalangage possibilité de définir des
     dialectes  dans des domaines particuliers

25
XML contre SGML
  • SGML norme ISO 88791986
  • Très utilisé dans l'industrie pour de grandes
    documentations techniques.
  • Trop complexe pour une utilisation  grand
    public  ou dans des domaines moins exigeants sur
    la précision
  • SGML trop de trucs compliqués et inutiles
  • XML utilise 10 de SGML pour représenter
    efficacement la plupart des besoins des
    applications

26
Exemple de document
Logo
En-tête
Objet
Date
Salutation
Destinataire
Formule de politesse
Corps
Signature
Pied de page
27
Représentation XML
ltdategt 30 Nivose 2004 lt/dategt ltsalutationgt
Monsieur, lt/salutationgt ltcorpsgt ltparagt
Ici le premier paragraphe lt/paragt ltparagt
et là le deuxième lt/paragt lt/corpsgt lt/lettregt
ltlettregt ltentetegt ltlogo loc"logo-graph.vml"/gt
ltadressegt abrev-adresse
lt/adressegt lt/entetegt ltdestinatairegt ltnomgt Mr
Schnock lt/nomgt ltadressegt ltruegt rue
des églantiers lt/ruegt ltvillegt
Saint Glin lt/villegt lt/adressegt lt/destinatai
regt ltobjetgt bla bla lt/objetgt
28
Points importants
  • La représentation de cette lettre en XML ne
    comporte aucune indication sur sa mise en page
  • Les aspects graphiques ou typographiques sont
    absentes du source XML
  • Ces aspects seront définis par l'intermédiaire
    d'une feuille de style
  • Une feuille de style est un ensemble de règles
    pour spécifier la réalisation concrète d'un
    document sur un média particulier

29
Principe de fonctionnement des feuilles de style
30
Exemples dapplications
31
Principe général
  • Pour une application particulière
  • On se définit une syntaxe un dialecte XML
  • On définit la sémantique de ce dialecte
  • Pour me demander un rendez-vous, il faut
    menvoyer le document xml-rdv du type suivant
  • ltrdvgtltdgtltngtxlt/ngtltpgtylt/pgtlt/dgt
  • lth232gtzlt/h232gtltpgtplt/pgtlt/rdvgt
  • Où x est votre nom, y votre prénom, z la date
    et lheure du rdv au format ISO et p optionnel,
    un lieu de rdv.

32
Exemples de dialectes XML
  • XHTML
  • MathML
  • SVG
  • XSL
  • SOAP
  • WSDL
  • XML Schema

33
XHTML HTML avec un syntaxe XML
  • Reformulation de HTML en tant qu'application XML
  • En gros on ferme ce quon a ouvert
  • Intérêt
  • Syntaxe plus rigoureuse
  • Importation de fragments de documents d'autres
    domaines nominaux
  • Possibilité d'utiliser les applications XML
    standard

34
MathML les maths en XML
  • Permettre l'échange et le traitement
    d'expressions mathématiques sur le Web
  • Insertion aisée d'expressions mathématiques dans
    des documents HTML ou XML
  • Communication d'expressions entre applications au
    plan sémantique

35
SVG le graphique 2D en XML
  • Langage de description de graphiques 2D
  • Graphiques vectoriels
  • Interactifs et dynamiques
  • Animations déclaratives
  • Programmation ECMAScript
  • Recommandation du 04/09/2001

36
SOAP calcul distribué en séchangeant du XML
  • Simple Object Access Protocol
  • SOAP 1.1 soumission au W3C du 08/05/2000
  • Protocole d'échange de données entre applications
    distantes
  • Adapté pour être utilisé au-dessus du protocole
    HTTP (méthode POST)
  • Structure d'un message SOAP
  • Enveloppe Envelope Entête Header
  • Corps Body

37
Exemple
ltevpEnvelope xmlnsevp'http//schemas.xmlsoap.or
g/soap/envelope/' evpencodingStyle'http//schema
s.xmlsoap.org/soap/encoding/'gt ltevpHeadergt
lttTransaction xmlnst'http//stock.org/regi
stry/updPriceList/'gt evpmustUnderstand'1'gt
5 lt/tTransactiongt lt/evpHeadergt
ltevpBodygt ltmGetLastTradePrice
xmlns'http//stock.org/registry/updPriceList'gt
ltsymbolgtDEFlt/symbolgt ltcompanygtDEF
Corplt/companygt lt/mGetLastTradePricegt
lt/evpBodygt lt/evpenvelopgt
38
Avantages de XML
39
Echange et partage dinformation
  • En XML, une communauté d'auteurs invente
    librement les balises qui lui paraissent utiles
    pour représenter les informations quils comptent
    échanger ou partager
  • Exemple diverses façons de représenter une date
  • ltdategt 5 Janvier 2000 lt/dategt
  • ltdategt
  • ltagt2000lt/agtltmgt01lt/mgtltjgt05lt/jgt
  • lt/dategt
  • ltdate format'ISO-8601'gt 2000-01-05 lt/dategt
  • Exemples
  • Commandes en commerce électronique ou toute
    transaction
  • Publication et recherche dinformation dans un
    domaine industriel comme lindustrie des
    biotechnologies

40
Interopérabilité des outils de traitement
  • Existence doutils pour données XML
  • Parseurs, éditeurs, browser
  • Conséquences
  • Un serveur de documents XML est susceptible de
    répondre à l'ensemble des besoins d'une
    organisation.
  • Un seul éditeur permet de traiter l'ensemble des
    données d'une organisation.

41
Modularité et réutilisation
  • Chaque utilisateur est libre de définir ses
    propres structures de document
  • Il peut aussi se conformer à des structures
    types, appelées DTD
  • Chaque communauté peut ainsi proposer des
    structures normalisées
  • La conformité à une DTD permet l'automatisation
    des traitements et assure une possibilité de
    contrôle de validité

42
Accès à des sources d'information hétérogènes
  • L'interrogation et l'échange de données entre
    systèmes d'information hétérogènes est souvent
    complexe
  • XML contribue à résoudre ce problème
  • format d'échange normalisé indépendant de toute
    plateforme
  • L'indexation et l'interrogation de grosses bases
    documentaires
  • informations structurelles en plus d'informations
    textuelles.

43
Zoom sur le langage
44
Exemples de documents XML
ltdocument/gt
ltdocumentgt lt/documentgt
ltdocumentgt Bonjour! lt/documentgt
ltdocumentgt ltsalutationgt Bonjour! lt/salutationgt
lt/documentgt
lt?xml version"1.0" standalone"yes" ?gt
ltdocumentgt ltsalutationgt Bonjour! lt/salutationgt
lt/documentgt
45
Structure d'un élément
XML 1.0
  • Un élément est de la forme
  • ltnom attr'valeur'gt contenu lt/nomgt
  • ltnomgt est la balise d'ouverture
  • lt/nomgt est la balise de fermeture
  • éléments vides, indifféremment ltnomgt lt/nomgt ou
    lt/nomgt
  • contenu est le contenu d'un élément ?
  • composé dune liste (peut-être vide) de texte,
    d'autres éléments, d'instructions de traitement
    et de commentaires
  • attr'valeur' représente un ensemble
    éventuellement vide d'attributs, c'est à dire de
    paires (nom,valeur). Un élément ne peut posséder
    qu'un seul attribut de nom donné

46
Exemples déléments
  • ltagtlt/agt lt/agt
  • ltagtBonjour comment va?lt/agt
  • ltagtltbgtlt/bgtltbgtlt/bgtltagtlt/agtlt/agt
  • ltagtltbgtlt/bgtBonjourltbgtlt/bgtSalutlt/agt
  • Contenu dun élément Forêt déléments ou de
    texte
  • Texte UNICODE peut représenter nimporte quel
    alphabet (russe, hébreu, arabe, japonais,
    chinois)

47
Contrainte sur les noms (détail)
XML 1.0
  • Un nom d'élément ou dattribut est une suite non
    vide de caractères pris parmi
  • les caractères alphanumériques le tiret-souligné
    (undescore) le signe moins le point le
    caractère deux-points () sens particulier
  • qui doit satisfaire les contraintes suivantes
  • le premier caractère doit être alphabétique ou un
    tiret-souligné
  • les trois premiers caractères ne doivent pas
    former une chaîne dont la représentation en
    lettres minuscules est "xml".

48
Syntaxe des attributs
XML 1.0
  • Un attribut est une paire nom'valeur' qui permet
    de caractériser un élément. Un élément peut avoir
    plusieurs attributs. Dans ce cas, les paires
    nom'valeur' seront séparées par un espace.
  • ltrapport langue'fr' dern-modif'08/07/99'gt
  • ltannuaire generator'SQL2XML V2.0'
    update'07.08.99'gt
  • La valeur d'un attribut est une chaîne encadrée
    par des guillemets (") ou des apostrophes simples
    ('). Une valeur d'attribut ne doit pas contenir
    les caractères , et .
  • Un élément a un ensemble d attributs (ordre na
    pas de sémantique pour les attributs)

49
Document bien formé
XML 1.0
  • Un document XML doit représenter un arbre
    d'éléments
  • Il existe dans un document un et un seul élément
    père qui contient tous les autres. C'est la
    racine du document.
  • Un élément distinct de la racine est totalement
    inclus dans son père
  • ltpgt ltbgt bla bla lt/pgt bla lt/bgt NON!
  • On dit quun document XML doit être bien formé

50
Typage de XML
51
Structure dun document
  • Un document XML se compose
  • dun prologue, éventuellement vide
  • dun arbre déléments
  • de commentaires et dinstructions de traitement,
    facultatifs

lt?xml version"1.0" standalone"yes" ?gt
ltdocumentgt ltsalutationgt Bonjour! lt/salutationgt
lt/documentgt
52
Le prologue contient
  • Une déclaration XML, facultative
  • lt?xml version"1.0" encoding"ISO-8859-1"
    standalone"yes"gt
  • indique au processeur qui va traiter le document
  • la version du langage XML utilisée
  • le codage de caractères utilisé
  • l'existence de déclarations extérieures au
    document
  • Une déclaration de type de document, facultative
  • lt!DOCTYPE exemple SYSTEM "exemple.dtd"
    déclarations gt
  • indique la structure particulière à laquelle doit
    se conformer un document

53
Document bien formé sans typage
  • Exemple
  • lt?xml version"1.0" standalone"yes" ?gt
  • ltdocumentgt
  • ltsalutationgt
  • Bonjour!
  • lt/salutationgt
  • lt/documentgt

54
Documents valides
  • Un document est dit valide si
  • son prologue contient une déclaration de type de
    document
  • son arbre d'éléments respecte la structure
    définie par la déclaration de type
  • lt?xml version"1.0" encoding"ISO-8859-1"
    standalone"yes" ?gt
  • lt!DOCTYPE document
  • lt!ELEMENT document (salutation)gt
  • lt!ELEMENT salutation (PCDATA)gt
  • gt
  • ltdocumentgt
  • ltsalutationgt Bonjour! lt/salutationgt
  • lt/documentgt

55
Exemple de DTD simple
lt?xml version"1.0" encoding"ISO-8859-1"
standalone"yes" ?gt lt!DOCTYPE document SYSTEM
"accueil.dtd"gt ltdocumentgt ltsalutationgt Bonjour!
lt/salutationgt lt/documentgt
lt!- fichier accueil.dtd. Exemple de DTD simple
--gt lt!- Auteur --gt lt!- Date --gt lt!-
la déclaration XML n'est pas obligatoire dans une
DTD --gt lt!- permet de s'assurer que les
documents qui la référence --gt lt!- utilisent la
même version de XML --gt
lt?xml version"1.0" encoding"ISO-8859-1"
standalone"yes" ?gt lt!- Définition de l'élément
racine --gt lt!ELEMENT document (salutation)gt lt!-
Un élément salutation ne contient que du texte
--gt lt!ELEMENT salutation (PCDATA)gt
56
Une autre DTD un peu plus compliquée
lt!ELEMENT note (to, from, heading, body)gt
lt!ELEMENT to (PCDATA)gt lt!ELEMENT from
(PCDATA)gt lt!ELEMENT heading (PCDATA)gt
lt!ELEMENT body (PCDATA)gt Pour chaque élément,
on définit une expression régulière qui définit
le langage des sous éléments
57
La même chose en XML schema cest du XML
lt?xml version"1.0"?gt ltxsschema
xmlnsxs"http//www.w3.org/2001/XMLSchema"gt
ltxselement name"note"gt ltxscomplexTypegt
ltxssequencegt ltxselement name"to"
type"xsstring" minOccurs'1'
maxOccurs'1'/gt ltxselement name"from"
type"xsstring"/gt ltxselement
name"heading" type"xsstring"/gt
ltxselement name"body" type"xsstring"/gt
lt/xssequencegt lt/xscomplexTypegt
lt/xselementgt lt/xsschemagt
58
Quelques gadgets importants autour de XML
59
DOM
  • Document Object Model DOM
  • modèle de document
  • interface de programmation indépendante du
    langage et des plates-formes
  • Permet d'accéder
  • la structure des documents (HTML et XML)
  • le contenu des documents
  • Exemple Premier-Enfant, Premier-Enfant(Section)
  • Suivant, Parent, Attribut(ID)
  • API définie pour trois langages
  • OMG IDL, Java, ECMAScript

60
XPath
  • Langage d'expressions de chemin
  • adresser des parties de documents XML
  • Une expression élémentaire XPath contient
  • un axe qui spécifie la relation structurale 
    fils, descendants, ancêtres, frères,
    attributs,...
  • un test qui spécifie le type de noeud
  • des prédicats pour raffiner la sélection
  • Brique de base d'autres applications XML
  • Xlink, XSLT, Xquery,

61
XLink
  • XML Linking Language
  • Hypertexte avancé
  • permet d'insérer dans les documents XML de quoi
    décrire les liens entre ressources Web
  • Liens simples unidirectionnels à la HTML
  • Liens hors document
  • Liens multidirectionnels
  • Comportement des liens
  • XLink utilise XPath pour adresser l'intérieur des
    structures XML

62
Si on ajoute des références cela devient un
graphe
personne
personne
père
époux
époux
nom
prénom
nom
prénom
adam
eve
personne
personne
filsde
filsde
nom
prénom
nom
prénom
filsdadam
filsdadam
cain
abel
63
Transformation de documents
  • Le Web présente de multiples cas de
    transformation
  • Formatage
  • Réutilisation de document
  • Adaptation aux outils de présentation
  • Conversion de format, par exemple XML vers HTML
  • Trois approches
  • Des programmes utilisant le DOM
  • Les feuilles de transformation XSLT
  • Le langage de requêtes XQuery

64
XSLT
  • Langage de transformation
  • le Perl de XML
  • Une feuille de transformation XSLT contient un
    ensemble de règles pattern/template
  • Pattern
  • Contexte structurel dans l'arbre source
  • Expression XPath
  • Template
  • Un fragment du résultat à produire pour le
    pattern correspondant
  • Principe
  • Quand le pattern est reconnu dans le document
    source, le template correspondant est engendré
    dans le document résultat

65
XQuery
  • le SQL de XML
  • Pas complètement fixé
  • Les requêtes XQuery
  • Peuvent sélectionner des documents entiers ou des
    sous-arbres qui répondent à la requête
  • Peuvent construire des documents nouveaux fondés
    sur ce qui est sélectionné

66
Exemple de XQuery
  • FLW prononcer "flower"
  • Dans le style du SFW de SQL
  • Exemple
  • FOR p IN document("bib.xml")//publisher
  • LET b document("bib.xml)//bookpublisher
    p
  • WHERE count(b) gt 100
  • RETURN p
  • p parcourt la séquence des éléments publisher
  • b contient la séquence des book associés à p
  • WHERE filtre la liste des tuples (p,b)
  • RETURN construit pour chaque tuple le résultat

67
XML et traitement de données
  • On voit arriver des processeurs XQuery
  • SGBD relationnelles adaptées pour XML
  • Oracle a maintenant un XML-Box, IBM
  • SGBD objets refaits à la mode XML
  • Excellon vient de Object Design
  • SGBD  natif  XML
  • Tamino de Software AG (recyclage?)
  • Repository XML natif
  • Xyleme on verra peut-être

68
A quoi cela sert?
  • Exemples dapplications

69
Applications
  • Commerce électronique et aussi administration
    électronique
  • Gestion documentaire
  • Bibliothèque numérique, documentation, sites Web,
    portail
  • Gestion de données distribuées
  • Entrepôt de contenu
  • Gestion de données personnelles
  • Domotique, informatique embarquée, gestion de
    réseau

70
Gestion de données personnelles demain matin -)
  • Adresse, agendas, photos, musique, films, reçus,
    comptes bancaires
  • Où sont-elles?
  • PDA, téléphone cellulaire (et autres), PC maison,
    PC portable (et autres PC), home cinéma (et
    autres domotique), voiture, Web
  • Intégration de données de la maison (époux,
    enfants), de lentreprise (patron, assistants,
    clients, fournisseurs), du Web
  • Protocole pour intégrer/synchroniser ces données
    les services Web
  • Format de ces données XML

71
Gestion de ces données Exemple de nouveaux
services
  • Je veux passer un message à Mme Michu
  • Je me moque du media par téléphone (son
    portable, sa secrétaire), boite vocale (sur son
    portable, son PC), courriel, sms
  • Suivant son profile et son activité et qui je
    suis, un choix de livraison est choisi
  • On cherche un restaurant avec des copains
  • Le système choisi suivant notre localisation, nos
    profiles (nos goûts), notre budget

72
Content warehouse (vs. Relational warehouse)
  • A general concept
  • A precise example in mind Xyleme

73
Warehouse
  • Goal to provide an integrated access to
    heterogeneous, autonomous, distributed sources of
    information
  • Main functionalities acquire, transform, filter,
    clean and integrate data, support for queries
  • Centralized access to information
  • Warehouse vs. mediation
  • Warehouse information is acquired in advance
  • ? Mediation information acquired when needed

74
Content vs. data warehouse
75
Warehouse
  • Import data from many sources
  • Add value to it without interfering with
    operational data
  • Export integrated views of it

76
Functionalities
Exploiting
GUI, Web services, reporting
Feeding
Web
77
Functionalities Feeding
  • Loading from the Web (Internet and Intranet)
  • Web search
  • Web crawl
  • Access Web data via forms or Web services
  • Plug-ins to load from
  • File systems, document management systems
  • Data bases, LDAP
  • Newsgroup, emails
  • Other applications
  • Extraction and transformation
  • XSL-T or Xquery mappings for XML sources
  • XML-izers to load data from other formats
  • Monitoring of the feeding

78
Functionalities More feeding
  • User feeding
  • Document editing
  • Meta data editing
  • Publication
  • API SOAP and WebDAV

79
Functionalities Storage
  • Storage of (massive volume of) XML (terabytes)
  • Indexing of (massive volume of) XML
  • By structure
  • By full-text
  • Linguistic support multi language, stemming,
    synonyms, etc.
  • Very efficient XML query processing
  • Importance ranking
  • Monitoring of the warehouse (support for
    subscriptions)
  • Access control and security
  • Versioning, archiving
  • Recovery
  • Possibly transaction mechanism

80
Functionalities Enrichment
  • Global organization
  • Global schema management
  • Management of collections
  • Incorporate domain ontologies and thesauri
  • Document classification
  • Cleaning by filtering out documents from
    collections, etc.
  • Document enrichment
  • Concept extraction and tagging
  • Cleaning inside de document
  • Summarization, etc.
  • Relationships between documents
  • Tables of contents
  • Tables of index
  • Cross referencing, etc.

81
Functionalities View integration
  • View management
  • Document restructuring/mapping
  • Schema to schema mapping
  • Semantic integration
  • Manual for complex ones and (semi-) automatic for
    simple ones
  • Tools to analyze a set of schemas
  • Tools to integrate them
  • Processing for queries on integration view
  • Management of virtual data in a mediator style

82
Functionalities Exploitation
  • Access to the warehouse
  • Browsing
  • Querying by keywords, XPaths or Xquery
  • Temporal queries
  • Query subscription
  • Reporting
  • Generation of complex reports with pointers to
    documents, counts, abstracts
  • Organized by collections, content, domains
  • By GUI or from programs (Web service-based API)

83
Conclusion
84
Ce quil faut retenir
  • Semi-structuré mariage des systèmes
    documentaires et des systèmes de gestion de bases
    de données
  • XML
  • Des arbres ordonnes étiquetés et des liens
  • La sémantique et le typage est dans les bannières
  • Format d échange de données XML
  • Protocole pour échanger des données les services
    Web

85
Et avec quelle technologie
  • La techno base de données
  • Arbre-B, hachage, optimisation de requêtes
  • La techno documentaire
  • Indexe plein texte, classification
  • La techno réseau
  • Requêtes distribuées, table hachage dynamique
  • La techno XML propre
  • Automate, automate darbres

86
Plan du cours
  • Modele de donnees Serge Abiteboul
  • Modeles de requetes Ioana Manolescu
  • Typage Serge
  • Xquery Ioana
  • Optimisation de requetes Ioana
  • Web information management Serge
  • Active XML Serge et Ioana
  • Présentation de papier par les élèves avec Serge

87
Examen pas encore final
  • Par présentation de papiers
  • Control continu
  • Présence obligatoire participation et absences
    notées
  • Résumé et critique individuelle dun module du
    cours
  • Résumé de ½ page
  • Critique de ½ page

88
Mercisil reste du temps Xyleme
89
Construction of a dynamic Warehouse from Web data
  • The Xyleme Project

90
Xyleme in short
  • The Xyleme project
  • Initiated at INRIA
  • Joint work with researchers from Orsay, Mannheim
    and CNAM-Paris universities
  • The Xyleme company www.xyleme.com
  • Started in 2000
  • About 20 people now
  • Mission Deliver a new generation of content
    technologies to unlock the potential of XML
  • Here focus on the Xyleme project

91
Goal of the Xyleme project
  • Focus is on XML data (but also handle HTML)
  • Semantic
  • Understand tags, partition the Web into semantic
    domains, provide a simple view of each domain
  • Dynamicity
  • Find and monitor relevant data on the web
  • Control relevant changes in Web data
  • XML storage, index and queries
  • Manage efficiently millions of XML documents and
    process millions of simultaneous queries

92
The goal of Xyleme project XML Dynamic
Datawarehouse
  • Many research issues
  • Query Processor
  • Semantic Classification
  • Data Monitoring
  • Native Storage
  • XML document Versioning
  • XML automatic or user driven acquisition
  • Graphical User Interface through the Web

93
Functional Architecture
Query Processor
Repository and Index Manager
94
Architecture
-------------------- I N T E R N E T
-----------------------
95
Prototype main choices
  • Network of Linux PCs
  • (Also works with SUN servers)
  • C on the server side
  • Corba for local communications between PCs
  • HTTP SOAP for external communications
  • Direct communications for query processing
  • For performance reasons

96
Scaling
  • Parallelism based on
  • Partitioning
  • XML documents
  • URL table
  • Indexes (semantic partitioning)
  • Memory replication
  • Autonomous machines (PCs)
  • Caches are used for data flow

97
Change control
98
Research on Data Acquisition
  • Xyleme crawler visits the HTML/XML web
  • Management of metadata on pages
  • Sophisticate strategy to optimize network
    bandwidth
  • importance ranking of pages
  • change frequency and age of pages
  • publications (owners) subscriptions (users)
  • Each crawler machine visits about 4M page/day
  • Each index machine indexes 1M page/day

99
Research on Change Management
  • The Web changes all the time
  • Data acquisition
  • automatic and via publication
  • Monitoring subscriptions
  • Monitoring continuous queries
  • Versioning mechanism
  • Based on Deltas between consecutive vers

100
Subscription
  • Users can subscribe to certain events, e.g.,
  • changes in all pages of a certain DTD or of a
    certain semantic domain
  • insertion of a new product in a particular
    catalog or in all catalogs with a particular DTD
  • They may request to be notified
  • at the time the event is detected by Xyleme
  • regularly, e.g., once a week

101
Continuous Queries
  • Queries asked regularly or when some events are
    detected
  • send me each Monday the list of movies in
    Pariscope
  • send me each Monday the list of new movies in
    Pariscope
  • each time you detect that a new member is added
    to the Stanford DB-group, send me their lists of
    publications from their homepages

102
Versions and Deltas
  • Store snapshots of documents
  • For some documents, store changes (deltas)
  • storage last version sequence of deltas
  • complete delta reconstruct old versions
  • partial delta allow to send changes to the user
    and allow refresh
  • Deltas are XML documents
  • so changes can be queried as standard data
  • Temporal queries
  • List of products that were introduced in this
    catalog since January 1st 2002

103
The Information Factory
Web
loaders
subscription processor
send notification
change detection
documents and deltas
continuous queries
time
Repository
results
version queries
104
Results
  • Very efficient XML Diff algorithm
  • Computes difference between versions
  • Best but didnt test yet the new MS package
  • Representation of deltas based on an original
    naming scheme for XML elements
  • one element is assigned a unique identifier for
    its entire life
  • compact way of representing these IDs
  • Efficient versioning mechanism

105
Results
  • Sophisticate monitoring algorithm
  • Detection of simple patterns (conjunctions) at
    the document level
  • Detection of changes between consecutive versions
    of the same documents
  • Scale to dozens of crawlers loading each millions
    of documents per day for a single monitor

106
Issues languages for monitoring
  • In the spirit of temporal languages for
    relational databases
  • But
  • Data model is richer (trees vs. tables)
  • Context is richer versions, continuous queries,
    monitoring of data streams

107
Semantic Data Integration
108
Data Integration
  • One application domain -- Several schemas
  • heterogeneous vocabulary and structure
  • Xyleme Semantic Integration
  • gives the illusion that the system maintains an
    homogeneous database for each domain
  • abstracts a set of DTDs into an abstract DTD a
    hierarchy of pertinent terms for a particular
    domain

109
Technology in short
  • Cluster DTDs into application domains
  • Business, culture, tourism, biology,
  • For an application domain semi-automatically
  • Organize tags into a hierarchy of concepts using
    thesauri such as Wordnet and other linguistic
    tool
  • This provides the abstract DTD for the particular
    domain
  • Generate mappings between concrete DTDs and the
    abstract one

110
Query Processing
111
Xyleme Query Language
  • A mix of OQL and XQL, will use the W3C standard
    when there will be one
  • Select product/name, product/price
  • From doc in catalogue,
  • product in doc/product
  • Where product//components contains flash
  • and product/description contains camera


112
Principle of Querying
query on abstract DTD
Union of concrete queries (possibly with joins)
catalogue/product/price ? d1//camera/price ?
d2/product/cost catalogue/product/description
? d1//camera/description ?
d2/product/info, ref ? d2/description
MAPPINGS between concrete and abstract DTDs
113
Query Processing
  • Partial translation, from abstract to concrete,
    to identify machines with relevant data
  • Algebraic rewriting, linear search strategy based
    on simple heuristics in priority, use in memory
    indexes and minimize communication
  • Decomposition into local physical subplans and
    installation
  • Execution of plans
  • If needed, Relaxation

114
Query processing
  • Essential use of a smart index combining
    full-text and structure

115
Repository
116
Storage System Xyleme Store
  • Efficient storage of trees in variable length
    records within fixed length pages
  • Balancing of tree branches in case of overflow
  • minimize the number of I/O for direct access and
    scanning
  • good compromise compaction / access time

117
Tree Balancing in Xyleme Store
Record 1
Overflow more children in other page
Overflow Sub-tree in other page
Record 3
Record 2
Record 4
Write a Comment
User Comments (0)
About PowerShow.com