Rafał Hryniów Tomasz Pieciukiewicz

Slides:



Advertisements
Podobne prezentacje
HTML 5.0 Marcin Badurowicz .
Advertisements

Przekształcanie dokumentów XML - XSL
Procedury wyzwalane Procedura wyzwalana (ang. trigger) - stanowi kod użytkownika przechowywany wewnątrz bazy i uruchamiany w określonych sytuacjach np.
Bazy danych i inżynieria oprogramowania
Bezpieczeństwo wyjątków w C++: OpenGL
Bazy danych II Instrukcja SELECT Piotr Górczyński 25/08/2001.
Relacyjny model danych
Tomasz Pieciukiewicz Rafał Hryniów
XPath XSLT – część XPath. XSLT – część 12 XPath – XML Path Language Problem: –jednoznaczne adresowanie fragmentów struktury dokumentu XML.
XPath. XSLT – część XPath. XSLT – część 12 XPath – XML Path Language Problem: –jednoznaczne adresowanie fragmentów struktury dokumentu XML.
XML w integracji aplikacji
XSL – część 2.
Marcin Pamuła Mateusz Stefek
Visual Studio Codename „Orcas”, LINQ
XSL Extensible Stylesheet Language 6 listopada 2003.
Zaawansowana składnia XML XML Schema
XPath. XSL – część 1..
XML Schema XML Schema2 Definiowanie języków XML, SGML – metajęzyki. Definiowanie języków (zastosowań, typów dokumentów, schematów): –określanie.
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 1.
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 3.
Maciej Zabielski 15 stycznia 2003
Generyczne Repozytorium Dokumentów w XML
Aplikacje w sieciach Internet/Intranet
Aplikacje ASP.NET Arkadiusz Twardoń ZTiPSK
PySBQL Język zapytań dla obiektowych baz danych. Aplikacje bazodanowe Główny nurt budowania aplikacji opiera się na połączeniu: SQL JDBC Java Jak wyświetlić
OPERATORY WYSZUKIWAWCZE
Dokumentowanie wymagań w języku XML
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 8: Perspektywy i sekwencery.
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 2: Język bazy danych - SQL Proste zapytania.
WekaSQL Język i aplikacja przetwarzania oraz eksploracji danych.
WekaSQL Język i aplikacja przetwarzania oraz eksploracji danych.
Co to jest studium przypadku?
PODSTAWY JĘZYKA PHP 1. czym jest 2. składnia 3. wersje 4. bazy danych
Zapytania SQL: wydajność i optymalizacja
Resource Description Framework
WYKONYWANIE ZAPYTAŃ Przygotował Lech Banachowski na podstawie: 1.Raghu Ramakrishnan, Johannes Gehrke, Database Management Systems, McGrawHill, 2000 (książka.
Multimedialne bazy danych
FP-Growth Adam Pieśkiewicz Kamil Niezręcki Krzysztof Grześkowiak
Wprowadzenie do JSP Copyright © Politecnico di Milano September 2003 Translation: Kamil Żyła, Politechnika Lubelska.
SQL – Structured Query Language (3)
System webowy do tworzenia kolektywnych prototypów aplikacji sieciowych i mobilnych Łukasz Przywarty
Web Serwisy w praktyce Technologie internetowe ( )
LATEX profesjonalny i darmowy system składu
HTML DOM, XHTML – cel, charakterystyka
UML 2.x Robert Pająk.
Arkadiusz Twardoń ZTiPSK
Języki i środowiska programowania systemów rozproszonych, Wykład 01 SBA&SBQL, Slajd Języki i środowiska programowania systemów rozproszonych Wykładowca:
XML – eXtensible Markup Language
Języki i środowiska programowania systemów rozproszonych, Wykład 01, Slajd Języki i środowiska programowania systemów rozproszonych Wykładowca:
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Internetowe surfowanie
Autor: Joanna Barańska Promotor: dr inż. Paweł Figat Konsultant:
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Temat 12: Formularze.
Iwona Moczydłowska 4 listopada 2011r. Blogi w nauczaniu języka obcego.
Projektowanie stron WWW
Specjalizacja "Dziennikarstwo On-line„ HTML – XHTML część 1 Prowadzący: Dariusz Jaruga
XML Publisher Przedmiot i zakres szkolenia Przedmiot i zakres szkolenia Przeznaczenie XML Publisher Przeznaczenie XML Publisher Definiowanie Definiowanie.
DOM Ewa Dukała Piotr Muszyński. DOM DocumentBuilder Factory Document Builder XML Data object obiectobject DocumentDOM.
Obiekty DOM.
Hibernate Podstawy.
Odwzorowania relacyjno-obiektowe Hibernate Podstawy.
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
ŁÓDŹ Budowa cyfrowego archiwum przy pomocy aplikacji IBM DB2 Content Manager Anna Leśniak 18 stycznia 2005.
Optymalna konfiguracja Microsoft SQL Server 2014
Temat nr 5 Struktura strony www _________________________________________________________________________________________________________________ [ Przedmiot:
Aplikacje internetowe XML Paweł Lenkiewicz. Aplikacje internetowe – XML2 eXtensible Markup Language Uniwersalny język opisu danych Często używany we współpracy.
MAS Rafał Hryniów. Agenda  Zasady  Referaty  Projekt  Kolosy.
Widoki (views) - Perspektywy:
Strukturalny język zapytań SQL - historia
Zapis prezentacji:

Rafał Hryniów Tomasz Pieciukiewicz Język zapytań dla XML Rafał Hryniów Tomasz Pieciukiewicz

Plan prezentacji Przedstawienie podstawowych założeń języka Porównanie z innymi rozwiązaniami Omówienie implementacji Potencjalne kierunki rozwoju

Założenia języka Naturalny dla użytkownika, Prosty w użyciu, Duże możliwości rozwoju, Oparty na solidnych podstawach teoretycznych (podejście stosowe), Obsługa danych półstrukturalnych (XML)

Założenia języka Jednoczesna obsługa wielu plików XML, Obsługa linków Operatory algebraiczne: Arytmetyczne Logiczne Porównania Operacje na łańcuchach tekstowych Operacje na kolekcjach Złączenia Operator zmiany nazwy

Założenia języka Operatory nie-algebraiczne Kwantyfikatory Selekcja Zależne złączenie Rozróżnianie pomiędzy węzłem XML, a tekstem zawartym w tym węźle (atrybut o nazwie TextValue)

Porównanie z XML Query Porównanie zostanie przeprowadzone przy pomocy przykładów. Zapytania w XML Query pochodzą z dokumentów W3C dotyczących tego języka

Porównanie (1) – zapytanie w XML Query Tytuły i rok wydania książek opublikowanych przez „Addison-Wesley” wydanych po roku 1991 <bib> { for $b in document("http://www.bn.com")/bib/book where $b/publisher = "Addison-Wesley" and $b/@year > 1991 return <book year="{ $b/@year }"> { $b/title } </book> } </bib>

Porównanie (1) – zapytanie w YATL make bib [ *book [ @year [ $y ], title [ $t ] ] ] match "www.bn.com/bib.xml" with title [ $t ] ], publisher [ name [ $n ] ] ] where $n = "Addison-Wesley" and $y > 1991

Porównanie (1) – Zapytanie w Lorel select xml(bib:{ (select xml(book:{@year:y, title:t}) from bib.book b, b.title t, b.year y where b.publisher = "Addison-Wesley" and y > 1991)})

Porównanie (1) – Zapytanie w XQL document("http://www.bn.com")/bib { book[publisher/name="Addison-Wesley" and @year>1991] { @year | title }

Porównanie (1) – Zapytanie w XML-QL CONSTRUCT <bib> { WHERE <bib> <book year=$y> <title>$t</title> <publisher><name>Addison-Wesley</name></publisher> </book> </bib> IN "www.bn.com/bib.xml", $y > 1991 CONSTRUCT <book year=$y><title>$t</title></book> } </bib>

Porównanie (1) – zapytanie u nas Wersja skrócona (bib.book where (year>1991 AND publisher.TextValue='Addison-Wesley')).(year , title) Wersja dająca prawie identyczny wynik jak XML Query (bib.book where (year>1991 AND publisher.TextValue='Addison-Wesley')).(year as Year, title) as Book

Porównanie (2) – zapytanie w XML Query Lista par autor-tytuł, każda para zamknięta w elemencie „result” <results> { for $b in document("http://www.bn.com")/bib/book, $t in $b/title, $a in $b/author return <result> { $t } { $a } </result> } </results>

Porównanie (2) – zapytanie w YATL make results [ *result [ title [ $t ] author [ $a ] ] ] match "www.bn.com/bib.xml" with bib [ *book [ title [ $t ], *author [ $a ] ] ]

Porównanie (2) – zapytanie w Lorel select xml(results:{ (select xml(result:{title: t,author: a}) from bib.book b, b.title t, b.author a)})

Porównanie (2) – zapytanie w XQL Zadanie tego zapytania nie jest możliwe

Porównanie (2) – zapytanie w XML-QL CONSTRUCT <results> { WHERE <bib> <book> <title>$t</title> <author>$a</author> </book> </bib> IN "www.bn.com/bib.xml" CONSTRUCT <result> </result> } </results>

Porównanie (2) – zapytanie u nas bib.book.(author, title) as Result

Porównanie (3) – zapytanie w XML Query Dla każdej książki wyświetla tytuł i listę autorów <results> { for $b in document("http://www.bn.com")/bib/book return <result> { $b/title } { $b/author } </result> } </results>

Porównanie (3) – zapytanie w YATL make results [ *result [ title [ $t ], $as ] ] match "www.bn.com/bib.xml" with bib [ *book [ title [ $t ], *($as) author ]

Porównanie (3) – zapytanie w Lorel select xml(results:{ select xml(result{b.title, b.author}) from bib.book b})

Porównanie (3) – zapytanie w XQL document("http://www.bn.com")/bib->results { book->result { title | author }

Porównanie (3) – zapytanie w XML-QL CONSTRUCT <results> { WHERE <bib> <book> <title>$t</title> </book> CONTENT_AS $b </bib> IN "www.bn.com/bib.xml" CONSTRUCT <result> { WHERE <author>$a</author> IN $b CONSTRUCT <author>$a</> } </result> } </results>

Porównanie (3) – zapytanie u nas (bib.book as x, bib.book as y where x=y).(x.title, y.author group as autorzy) Ze względu na brak operatora pozwalającego stworzyć strukturę bez opakowanie jej w węzeł wynik różni się nieco od wyniku XML Query

Obsługa linków - przykład <bib> <person id="A1"><last>Stevens</last><first>W.</first></person> <person id="A2"><last>Abiteboul</last><first>Serge</first></person> <person id="A3"><last>Buneman</last><first>Peter</first></person> <person id="A4"><last>Suciu</last><first>Dan</first></person> <book year="1994"> <title>TCP/IP Illustrated</title> <author pointer="true">A1</author> <publisher>Addison-Wesley</publisher> <price> 65.95</price> </book> <book year="2000"> <title>Data on the Web</title> <author pointer="true">A2</author> <author pointer="true">A3</author> <author pointer="true">A4</author> <publisher>Morgan Kaufmann Publishers</publisher> <price>39.95</price> </bib>

Obsługa linków - przykład bib.book.(author.person, title) as Result (bib.book as x, bib.book as y where x=y).(x.title, y.author.person group as autorzy)

Implementacja - narzędzia Java SE 1.4, Xerces 1.4.3 (działa też z nowszymi), JFlex, CUP.

Implementacja - decyzje Wykorzystanie drzewa DOM jako składu obiektów, Przechowywanie całości danych w pamięci, Wyniki udostępniane użytkownikowi w formie referencji do węzła XML (ResultNode),

Implementacja - problemy Użycie drzewa DOM jako składu spowodowało problemy implementacyjne, Wartości tekstowe w DOM Brak typów danych w XML

Kierunki rozwoju Uzupełnienie systemu o perspektywy, Wykorzystanie DTD lub XML Schema, Wprowadzenie cech obiektowych, Optymalizacja zapytań, Zmiana modelu składu, Indeksowanie itp., …

Bibliografia Przykłady zapytań w XML Query pochodzą z „XML Query Use Cases” (http://www.w3.org/TR/xmlquery-use-cases/) Przykładowe zapytanie w YATL pochodzi z XML Query Languages: Experiences and Exemplars (http://www.w3.org/1999/09/ql/docs/xquery.html)

Dziękujemy Pytania???