Web - XML databases
-
Upload
sabin-buraga -
Category
Technology
-
view
1.811 -
download
0
description
Transcript of Web - XML databases
![Page 1: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/1.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Tehnologii Web
Dr. SabinCorneliu BuragaFacultatea de Informatica
Universitatea “A.I.Cuza” – Iasi, Romania
http://www.infoiasi.ro/~busaco/
![Page 2: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/2.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Marcarea datelor pentru <Web />
Baze de date native XMLLimbajul de interogare XQuery
Detalii in [TX, 153‐177]
![Page 3: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/3.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interogarea datelor XMLIntroducere
Stocarea datelor XMLDefinitii
Limbajul XQuerySisteme de manipulare a informatiilor XML
cuprins
![Page 4: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/4.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
In sens strict, un document XMLeste o baza (colectie) de date
viziune centrata spre documente (document centric)
intro
![Page 5: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/5.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Pentru managementul datelor XML,trebuie sa existe suport pentru: stocare (documente/arbori XML)
scheme (DTD, scheme XML, RELAX NG etc.)limbaje de interogare (XPath, XSLT, XQuery,...)
procesare – via API‐uri (SAX, DOM,...)
intro
![Page 6: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/6.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Mai trebuie asigurate: stocarea eficientamecanismele de indexaresecuritatea datelortranzactiileintegritatea dateloraccesul concurentmultiusertrigger‐eleinterogarile rapide in documente multiple...
intro
![Page 7: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/7.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Maniere:documente centrate pe date(datacentric documents)
viziunea centrata pe documente(documentcentric documents)
stocarea datelor XML
![Page 8: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/8.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Documente centrate pe date: XML folosit pentru transportul datelorDocumente XML proiectate pentru a fi eficientprocesate de calculator: structura regulata, reprezentari fine ale datelor
Exemple: orare de curse aeriene, date stiintifice, ordine de plata
Caracter structurat al datelor stocare in baze de date relationale + interschimb de date
stocarea datelor XML
![Page 9: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/9.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Viziunea centrata pe documente: XML utilizat pentru date destinate oamenilorExemple: carti electronice, mesaje email, documente XHTML
Caracter semistructurat al datelor(structura interna nu este atit de regulata)
Ordinea aparitiei unor elemente situate pe acelasi nivel (siblings) este, uzual, importanta
Documentele sunt concepute manual sau provin din alte formate, fara a fi stocate in baze de date clasice
stocarea datelor XML
![Page 10: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/10.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Practic, cele doua categorii nu pot fi distinseintotdeauna clar
stocarea datelor XML
avansatavansat
![Page 11: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/11.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Datele se stocheaza in baze de date relationale, orientate‐obiect ori ierarhice
Datele pot fi accesate in format XML via sisteme XMLenabledSchema DB ↔ schema XMLAdoptarea unui model obiect‐relationalXML binding
Documentele (nu datele) sint stocatein baze de date native XML ori in sistemede management al continutului (CMS‐uri)
stocarea datelor XML
avansatavansat
Modelul RHOX(Relational,
Hypertext, Object,XML)
![Page 12: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/12.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Baze de date native XML ≡ baze de date proiectatespecial pentru a stoca documente XML
unitatea fundamentala de stocare (logica)este documentul XML (si nu inregistrarea – record)
nu necesita folosirea unui sistem de stocare fizica
“definitii”
![Page 13: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/13.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Baze de date native XML
arhitectura interna poate fi bazate petext (fisier, cimp BLOB/CLOB) sau model (arbore DOM)
utilizate pentru stocarea informatiilor centratepe documente si pentru managementul datelor
semi‐structurate
“definitii”
![Page 14: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/14.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
NormalizareaDependente functionaleRedundanta & anomaliilecauzate de actualizarile datelor XML
Integritatea referentialaID, IDREF, key & keyref (XML Schema), XLink
ScalabilitateaOperatiile sa aiba loc in termen rezonabilsi pentru documente XML de mari dimensiuni
aspecte importante
![Page 15: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/15.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Utilizarea colectiilor de documentecolectie ≡ tabela (la modelul relational)ori director (la sistemul de fisiere)
Recurgerea la limbaje de interogare
Suport pentru tranzactii, locking, concurenta
Folosirea de API‐uri
facilitati
![Page 16: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/16.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Optimizarea accesului (roundtripping)
Accesul la date la distanta (remote data)
Suportul pentru indexare(value/structural/fulltext indexes)
facilitati
![Page 17: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/17.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
RDBMS vs. XMLDBS
BazeBaze de date de date relationalerelationale BazeBaze de date native XMLde date native XML
O O bazabaza de date de date relationalarelationalacontinecontine tabeletabele
O O bazabaza de date XML de date XML continecontine colectiicolectii
O O bazabaza de date de date relationalarelationalacontinecontine inregistrariinregistrari avindavindaceeasiaceeasi schemaschema
O O colectiecolectie continecontine documentedocumenteXML XML avindavind scheme scheme identiceidentice orioridiferitediferite
O O inregistrareinregistrare reprezintareprezinta oo listalistaneordonataneordonata de de valorivalori ideniden‐‐tificatetificate prinprin numenume sisi avindavind tipuritipuriaaprioripriori stabilitestabilite
Un document XML Un document XML reprezintareprezintaun un arborearbore de de nodurinoduri, , cece poatepoateinclude date semiinclude date semi‐‐structuratestructurate
O O interogareinterogare intoarceintoarce un setun setneordonatneordonat de de inregistrariinregistrari
O O interogareinterogare intoarceintoarce o seco sec‐‐ventaventa ordonataordonata de de nodurinoduri
![Page 18: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/18.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Scop #1Dezvoltarea unor limbaje de interogare
a continutului XML
interogare
![Page 19: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/19.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Necesitati:Obtinerea rezultatelor in format XMLSuportul pentru procesare pe partea de serverRealizarea de operatii complexe(selectii, extractii, reductii, restructurari,...)
Suportul pentru alte standarde XML (XPath, spatii de nume, XML Schema etc.)
Suportul pentru noi tipuri de date
interogare
![Page 20: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/20.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Precursori: WebSQL, XML‐QL, XML‐GL, XQL, UnQL, XMAS,...
Standarde: XPath 1.0/2.0:
www.w3.org/TR/xpath-datamodel/ XSLT 1.0/2.0: www.w3.org/TR/xslt20/XQuery 1.0: www.w3.org/TR/xqueryXQueryX: www.w3.org/TR/xqueryx
interogare
![Page 21: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/21.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Model:document XML ≡ arbore compus din noduri
(conform XPath 2.0 + XSLT 2.0)
Documentul XML interogat poate avea asociatao schema (optionala)
interogare: xquery
![Page 22: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/22.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
O valoare (value) ≡ secventa de nodurisau de valori atomice
O secventa de noduri este ordonata, de obiceiin ordinea aparitiei acestora in document
Valorile atomice sunt cele tipice (vezi XML Schema)
interogare: xquery
![Page 23: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/23.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Spatii de nume ce pot fi folosite:xs (schema XML) http://www.w3.org/2001/XMLSchemaxsi (instanta de schema XML)
http://www.w3.org/2001/XMLSchema-instancexdt (tipuri de date XPath 2.0)
http://www.w3.org/2003/xpath-datatypeslocal (functii XQuery locale)
http://www.w3.org/2003/11/xquery-local-functionsxml (XML)
http://www.w3.org/XML/1998/namespace
interogare: xquery
![Page 24: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/24.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Pentru selectarea nodurilor, se foloseste XPathOrice expresie XPath reprezinta un program XQueryRezultatul unui program XQuery este o padure(secventa de arbori XML)
Ca la XSLT, interogarile pot fi incluse in sabloanecare sa genereze rezultatul dorit
<proiecte>{ /projects/project/* }</proiecte>
interogare: xquery
Program XQueryce contine o expresie
XQuery
![Page 25: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/25.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
O expresie de forma $nume este o referintala variabila nume
Variabilele pot fi folosite(si) in cadrul expresiilor XPath
Variabilele pot contine valori sau rezultateale expresiilor FLOWR
(ForLetOrderWhereResult)
interogare: xquery
![Page 26: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/26.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
for serveste la atasarea de valori unor variabile, in maniera iterativa (se permit si join‐uri)
let asigneaza valoarea unei expresii unei variabilewhere permite formularea de conditii (filtrari de date) asociate unei constructii for
order by specifica ordinea de selectare a valorilorreturn intoarce rezultatul unei expresii XQuery, putind include sabloane, expresii XPath, sub‐expresii FLOWR imbricate
interogare: xquery – expresii
![Page 27: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/27.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Exemplu
for $stud in doc("students.xml")//student where $stud/year = 2 return $stud/name
echivalent cu fraza SQL
select stud.name from students stud where stud.year = 2
interogare: xquery – expresii
![Page 28: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/28.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Se poate recurge la facilitatile XPath 2.0:cuantificatori (all si some),
expresii conditionale (if...then...else), operatori (cei de la XPath 2.0 + suplimentari), functii (predefinite ori scrise de utilizator)
Nu sunt acceptate toate axele XPath
interogare: xquery – expresii
![Page 29: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/29.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Pot fi declarate tipuri de date(cele oferite de XML Schema)pentru valorile intoarse
for $contor as xs:integer in 1 to 5return $contor * 3
interogare: xquery – expresii
![Page 30: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/30.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Erori & depanare: error(), trace()Accesori de date: node-name(), string(), data()Numerice: abs(), ceiling(), round(), count(), avg(),
max(), min(), sum(),...Siruri de caractere: compare(), concat(), string-join(),
substring(), string-length(), upper-case(), translate(),escape-uri(), contains(), starts-with(), ends-with(),substring-before(), substring-after(),...
Expresii regulate: matches(), replace(), tokenize()
interogare: xquery – functii uzuale
![Page 31: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/31.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Data & timp: duration-equal(), time-less-than()...Noduri: name(), local-name(), namespace-uri(), root()Secvente: zero-or-one(), one-or-more(), exactly-one(), index-of(),
empty(), exists(), distinct-values(), remove(), insert-before(), reverse(), unordered(), deep-equal(),...
Context: position(), last(), current-dateTime(),...Generare de secvente: doc(), collection()
Detalii la http://www.w3.org/TR/xpath-functions/ Pot fi folosite si functii externe
interogare: xquery – functii uzuale
![Page 32: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/32.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
for $proj in doc ("http://www.infoiasi.ro/projects.xml")/projects/*
where some $projid in $proj/@idsatisfies ($projid = $stud/project)
return<project class="{ $proj/@class }">
{ $proj/title }{ $proj/desc }
</project>
interogare: xquery – exemple
Generareaaltei structuri
XML
![Page 33: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/33.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
(: Listeaza ca document XHTML toti studentiiale caror nume contin 'Ping' si se termina cu 'uin‘ :)
<div style="font-size: 14pt">{for $stud in doc ("students.xml")//studentlet $e := $stud/name[ contains (string (.), "Ping")
and ends-with (string (.), "uin") ]where exists ($e)return<p><em> { $stud/name/text() } </em> cu proiectul<span style="color: blue"> { $stud/project/text() } </span></p>
}</div>
interogare: xquery – exemple
![Page 34: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/34.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Modularizare via fisiere‐modul (.xqm) si functii‐utilizator
module namespace utils="http://urn:infoiasi.ro:xdb-utils";(: Declara o secventa de nume de luni :)declare variable $utils:months { ("Ian", "Feb", "Mar", "Apr", "Mai", "Iun",
"Iul", "Aug", "Sep", "Oct", "Nov", "Dec")};(: Transforma data in forma dd Mmm yyyy :)declare function utils:format-date-RO ($date as xs:dateTime)
as xs:string {string-join ((
day-from-date ($date),item-at ($utils:months, month-from-date ($date)),
year-from-date ($date)), " ")};
interogare: xquery – exemple
![Page 35: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/35.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Utilizarea functiei definite anterior:
import module namespaceutils="http://urn:infoiasi.ro:xdb-utils";
declare variable $data external; <data>{ utils:format-date-RO ($data) } </data>
interogare: xquery – exemple
![Page 36: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/36.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
(: Autentificare prin nume de cont & parola preluatedin sesiunea HTTP curenta; intoarce o pereche(user, password) sau o secventa vida in caz de esec :)
declare function main:checkUser() as xs:string* {let $user := request:get-session-attribute ("user"),
$pass := request:get-session-attribute ("password"),$login := xdb:authenticate ("xmldb:exist:///db",
$user, $pass)return
if ($login) then($user, $pass)
else()
};
interogare: xquery – exemple
Se folosesc functiiexterne – aici, oferitede serverul eXist
![Page 37: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/37.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Limbajul XQuery in varianta actuala nu oferasuport pentru actualizarea datelor XML
(operatii CRUD)
XUpdate – in curs de standardizare,dar suportat deja de o serie de aplicatii
Viitoarele versiuni ale XQuery vor includesi posibilitati de actualizare a datelor
interogare: alte limbaje
![Page 38: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/38.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Pentru tipuri particulare de documente,pot fi folosite limbaje de interogare speciale
exemplu: SPARQL pentru RDF
interogare: alte limbaje
![Page 39: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/39.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
SPARQLStandard W3C:
www.w3.org/TR/rdfsparqlquery/
Inspirat din RDQL (oferit de Jena, RAP, Redland etc.)
Limbaj descriptiv pentru realizarea de interogari pe baza potrivirilor de sabloane referitoare la triple RDF
interogare: alte limbaje
![Page 40: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/40.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
SPARQLUn sablon specifica variabile indicind date ce vor fi
returnate in urma realizarii interogarii: ?subiect ?predicat ?obiect .
Exemplu: lista persoanelor inter‐conectate via foaf:knows se obtine cu:
?persoana foaf:knows ?alta_persoana .
Sabloanele pot fi combinate pentru a forma sabloane mai complexe sabloane de tip graf (graph patterns)
interogare: alte limbaje
![Page 41: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/41.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
PREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX s: <http://infoiasi.ro/varste#>SELECT ?nume ?adresa ?aniWHERE {?pers foaf:name ?nume .?pers s:ani ?ani . FILTER (?ani < 33) .
OPTIONAL { ?pers foaf:mbox ?adresa . }}ORDER BY ?ani DESC (?nume)LIMIT 10
interogare: alte limbaje
Optional, se ofera si adresa de email
Informatii despre primele 10 persoane cu virsta < 33(extrase dintr‐un document FOAF)
![Page 42: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/42.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Instrumente, aplicatii & implementari (exemple):Editare & depanare: <oXygen />, Stylus StudioSuport pentru baze de date native XML: Berkeley DB XML, eXist, Mark Logic’s CIS, Sedna
Sisteme relationale XMLenabled: Oracle, MS SQL Server
API‐uri – e.g., Saxon (Java, .NET),XML::XQuery (modul Perl), XQuery API for Java (XQJ) – JSR 225
interogare: implementari
![Page 43: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/43.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Scop #2:Implementarea unor sisteme de management
al informatiilor XML
manipulare
![Page 44: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/44.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Middleware:DB2XML, DBIx::XML, XDBC (XML DataBase Connectivity)
Sisteme de baze de date native XML:Berkeley DB XML, DBDOM, eXist, Tamino, XDB, Xindice,...
Servere (suportind) XML:AxKit, Enhydra, WebObjects
Servere XMLenabled: DB2 Information Integrator, MS SQL, Oracle,…
manipulare
![Page 45: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/45.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Motoare de interogare XML
Conectoare (XML data binding)
Sisteme de management al continutului:Docato, Dynabase, Frontier, iENGINE, Mark Logic’s CIS,
Prowler, Syncato, UltraXML,...
API‐uri: Persistent DOM (PDOM), XML:DB, XQJ
manipulare
![Page 46: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/46.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Integrarea datelor semi‐structurate:date privitoare la afaceri
“Get a coherent view of the mess in the back office”(Michael Champion)
analiza cererilor de plata
productia de stiri (online)
date financiare
manipulare: utilizari
![Page 47: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/47.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Integrarea datelor semi‐structurate:informatii privitoare la transport (aerian)
industrii: medicala, de divertisment,...
suportul acordat clientilor(in contextul CRM – Client Relationship Management)
informatii din domeniul legal
manipulare: utilizari
![Page 48: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/48.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Necesitatea suportului pentru tranzactiistocare
cozi de mesajearhive
meta‐datedepozite
manipulare: utilizari
![Page 49: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/49.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Elsevier Sciencepeste 2 TB de informatii
>5 mil. articole, >60 mil. referinte + rezumate,>1000 carti,...Mark Logic’s CIS
Oxford University Pressplatforma online de publicare,
continutul stocat in format XML, facilitati de cautareMark Logic’s CIS
manipulare: exemple
![Page 50: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/50.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Autodeskmanuale (HTML, PDF, CHM,...) in >30 de limbi
X‐Hive/DB
Las Vegas Sun>10 GB (peste 750000 doc. XML, imagini si doc. PDF)
FDX XML Server
US Navypeste 100 mii volume tehnice
Tamino
manipulare: exemple
![Page 51: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/51.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interogarea datelor XMLIntroducere
Stocarea datelor XMLDefinitii
Limbajul XQuerySisteme de manipulare a informatiilor XML
rezumat
![Page 52: Web - XML databases](https://reader034.fdocuments.in/reader034/viewer/2022051609/547b29abb4af9fef158b4d82/html5/thumbnails/52.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
??