websql querying the world wide web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfmotivacejazyk...

29
Motivace Jazyk WebSQL Form´ aln´ ı s´ emantika Cena dotaz˚ u avˇ er WebSQL Querying the World Wide Web. Radek Strnad [email protected] 12. dubna 2011 Radek Strnad [email protected] WebSQL

Upload: others

Post on 12-Sep-2019

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

WebSQLQuerying the World Wide Web.

Radek Strnad

[email protected]

12. dubna 2011

Radek Strnad [email protected]

WebSQL

Page 2: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Web je heterogennı prostredı dokumentu, provazanych odkazy.Nejcastejsı metodou vyhledavanı Webu je dotazovanı indexacnıchserveru. Uzivatel ale musı byt seznamen s jejich prednostmi,nevyhodami a dotazovacım rozhranım. Tyto servery takeneumoznujı vyuzıt topologie dokumentu a dotazovat se na jejichstrukturu.

Radek Strnad [email protected]

WebSQL

Page 3: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Proc WebSQL?

Vyuzitı struktury dokumentu

Vyuzitı stavajıcıch indexacnıch serveru

Nastroj s minimalistickym navrhem

Radek Strnad [email protected]

WebSQL

Page 4: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Historicke zarazenı

Je treba upozornit na datum navrhu WebSQL, ktere jej radı do let1994-1996, kdy neexistovaly nektere soucasne vyhledavace - vpracıch se odkazuje na Yahoo a Lycos. V soucasne dobe je vyvojneaktivnı a pod pojmem Web SQL se skryva HTML 5 API propodporu SQL na strane klienta.

Radek Strnad [email protected]

WebSQL

Page 5: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Historie vyhledavacu

1990 Archie

...

1994 Lycos, Go.com, WebCrawler, MetaCrawler

1995 Yahoo! (katalog), Altavista

1996 Hotbot, Ask Jeeves

1997 Northern Light

1998 Google, MSN Search

1999 AlltheWeb

...

2004 Yahoo! search

...

2012 Novy Hledac?

Radek Strnad [email protected]

WebSQL

Page 6: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Velikost Internetu

Radek Strnad [email protected]

WebSQL

Page 7: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Relacnı model WWW

Jazyk WebSQL ma podobnou syntaxi jazyku SQL.

Chybı schema databaze

Minimalisticky navrh - pouzijı se objekty, kterymi lzeidentifikovat libovolny dokumentu

Uniform Resource Locator (URL)Binarnı obsahMIME typeTitulekVelikost obsahuDatum poslednı zmeny

Radek Strnad [email protected]

WebSQL

Page 8: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

n-tice Document

Document[url, title, text, type, length, modif]

Prıklad - vsechny dokumenty referujıcı o IBM

SELECT d.url, d.title, d.length, d.modif

FROM Document d SUCH THAT d MENTIONS "IBM"

WHERE d.type = "text/html"

Radek Strnad [email protected]

WebSQL

Page 9: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Odkazy

Tag <a href="link">label</a> definuje vztah mezi dokumenty

zdrojove URL

cılove URL

popisek odkazu

Radek Strnad [email protected]

WebSQL

Page 10: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

n-tice Anchor

Anchor[base, href, label]

Prıklad - vsechny odkazy s popiskem “applet” z dokumentu o Jave

SELECT y.label, y.href

FROM Document x SUCH THAT x MENTIONS "Java",

Anchor y SUCH THAT base = x

WHERE y.label CONTAINS "applet"

Radek Strnad [email protected]

WebSQL

Page 11: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Druhy odkazu

interior 7→ cıl se nachazı uvnitr zdrojoveho dokumentu

local → zdroj i cıl jsou dokumenty ruzne, ale v ramci jednohoserveru

global ⇒ zdroj i cıl se nachazejı na ruznych serverech

Vyrazy slozene z 7→,→,⇒ se vyuzıvajı pri znacenı cesty mezidokumenty. Prazdna cesta se znacı =. Vyrazy se dale mohouskladat (.), prıpadne vyuzıvat logicke spojky nebo (|), ci opakovanı(*).

Radek Strnad [email protected]

WebSQL

Page 12: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Prıklad

Na domovske strance MFF hledej vsechny dokumenty v hloubcedva a mene odkazu (nachazajıcıch se na stejnem serveru), jejichztitulek obsahuje “Dotazovacı jazyky”.

SELECT d.url, d.title

FROM Document d SUCH THAT

"http://www.mff.cuni.cz/" =|→|→ .→ dWHERE d.title CONTAINS "Dotazovacı jazyky"

Radek Strnad [email protected]

WebSQL

Page 13: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Prıklad

Na domovske strance MFF hledej vsechny dokumenty v hloubcedva a mene odkazu (nachazajıcıch se na stejnem serveru), jejichztitulek obsahuje “Dotazovacı jazyky”.

SELECT d.url, d.title

FROM Document d SUCH THAT

"http://www.mff.cuni.cz/" =|→|→ .→ dWHERE d.title CONTAINS "Dotazovacı jazyky"

Radek Strnad [email protected]

WebSQL

Page 14: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Formalnı definice jazyka WebSQL

Query := SELECT AttrList FROM DomainSpec [ WHERE Condition ] ;

AttrList := Attribute {, Attribute}

Attribute := Field | TableVar.Field

Field := Id

TableVar := Id

DomainSpec := DomainTerm {, DomainTerm}

DomainTerm := Table TableVar SUCH THAT DomainCond

DomainCond := Node PathRegExp TableVar

| TableVar MENTIONS StringConstant

| Attribute = Node

Node := StringConstant

| TableVar

Radek Strnad [email protected]

WebSQL

Page 15: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Formalnı definice jazyka WebSQL - pokracovanı

Condition := BoolTerm {OR BoolTerm}

BoolTerm := BoolTerm {AND BoolTerm}

BoolTerm := Attribute = Attribute

| Attribute = StringConstant

| Attribute CONTAINS StringRegExp

| (Condition)

PathRegExp := PathTerm {| PathTerm}

PathTerm := PathFactor {PathFactor}

PathFactor := PathPrimary[*]

PathPrimary := Link

Link := =|⇒|→|7→

Radek Strnad [email protected]

WebSQL

Page 16: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Datovy model

Nynı se pokusıme zadefinovat WebSQL z formalnıho hlediska zapouzıtı tzv. virtualnıch grafu (struktury WWW).

Dokumenty - Node = [id : Oid , ..., ai : ti , ...]Odkazy - Link = [from : Oid , to : Oid , ..., bj : tj , ...]

Radek Strnad [email protected]

WebSQL

Page 17: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Vytvorenı virtualnıho grafu

prohledavanı znamych dokumentu

dotazovanı vyhledavacu

mapovanı dokumentu a odkazu na Node a Link

PLink = {α, β, γ, ...}PNode = {P,Q,R, ...}, {x | x ∈ dom(Oid),P(x) = true} -napr. asociace s urcitym klıcovym slovem

Radek Strnad [email protected]

WebSQL

Page 18: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Definice virtualnıho grafu

Virtualnı graf je ctverice Γ = (ρNode , ρLink ,PNode ,PLink), kde platı:

ρNode : dom(Oid)→ dom(Node)

ρLink : dom(Oid)→ 2dom(Link)

ρNode a ρLink jsou castecne rekurzivnı funkce

PNode je mnozinou unarnıch predikatu z dom(Oid)

PLink je konecnou mnozinou unarnıch predikatu z dom(Link)

Povsimnete si, ze definice grafu Γ v sobe obsahuje definiciorientovaneho grafu G (Γ) = (V ,E ), kde V = ρNode(dom(Oid)) aE = ∪oid∈dom(Oid)ρLink(oid)

Radek Strnad [email protected]

WebSQL

Page 19: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Cesty v grafu

Podobne jako v orientovanem grafu si zadefinujeme cesty vevirtualnım grafu:

p = (e1, e2, ...)

Pro hranu e vybereme z PLink mnozinu vlastnostı α.

Mnozinu vlastnostı odkazu e definujeme jakoΛ(e) = {α ∈ PLink | α(e) = true}Pokud je p = (e1, e2, ...) cesta, pak definujemeΛ(p) = (Λ(e1),Λ(e2), ...)

Radek Strnad [email protected]

WebSQL

Page 20: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Atomicke vzdalenosti

Definice

Cesta p odpovıda regularnımu vyrazu R prave kdyzΛ(p) ∩ L(R) 6= ∅

Definice

Jako atomickou vzdalenost v grafu Λ povazujeme jednu snasledujıcıch moznostı:

Path(u, R, x) u, x jsou typu Oid , prıpadne promenne, R jeregularnı vyraz

P(x) P ∈ PNode a x je Oid nebo promenna

From (u, x) u, x jsou typu Oid , prıpadne promenne

Radek Strnad [email protected]

WebSQL

Page 21: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Semantika WebSQL

Predpoklady:

sestaveny graf Γ = (ρNode , ρLink ,PNode ,PLink), syntaktickyspravny

PNode = {Cw | w ∈∑∗}, pro kazde w ∈

∑∗,Cw (n) = true,pokud dokument n obsahuje slovo w

uvazujeme PLink = {7→,→,⇒}

Radek Strnad [email protected]

WebSQL

Page 22: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Semantika WebSQL

Kalkulus WebSQL

SELECT L FROM δ WHERE φ se prelozı na πLσφδ′

δ′ = {x1, ..., xn | A1, ...,An} se zıska z δ = C1, ...,Cn dlenasledujıcıch pravidel

Ci = Document x SUCH THAT uRx , pak Ai = Path(u,R, x)

Ci = Document x SUCH THAT x MENTIONS w , pakAi = Cw (x)

Ci = Anchor x SUCH THAT x .base = u.url , pakAi = From(u, x)

Radek Strnad [email protected]

WebSQL

Page 23: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

V konvencnı databazı zjistujeme cenu dotazu, coz je funkcevelikosti databaze. Ve WebSQL znamena zjistenı ceny dotazu urcitvelikost podsıte, ktera se pri ocenovanı dotazu musı prohledavat.

Dulezitym faktorem je rovnez cena prıstupu k takove podsıti. Vsoucasne architekture webu to znamena stahnutı kopie, kde jeuzkym hrdlem prıpojenı na internet. Cena je v tomto prıpadeovlivnena velikostı jednotlivych souboru

Radek Strnad [email protected]

WebSQL

Page 24: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Vyrazy bez globalnıch linku mohou pristupovat jen k lokalnımdokumentum a majı cenu O(1)

Vyrazy, ktere obsahujı “hvezdickovane” podvyrazy mohoueventuelne indexovat vsechny dokumenty v sıti. Proto je cenaO(n)

Vyrazy s globalnımi linky, ale zadny z nich nenı“hvezdickovany” muze pristoupit k omezenemu mnozstvıdokumentu. Pokud bude vyraz ve tvaru→l1 .⇒ .→l2 .⇒ ...→lm , kdy l = 1 + max(l1, l2, ...lm), jepocet dokumentu omezenychmin(n, (m(l + 1)(k ∗min(s, k l))m))

Radek Strnad [email protected]

WebSQL

Page 25: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

min(n, (m(l + 1)(k ∗min(s, k l))m))

k - pocet URL v jednom dokumentu

s - pocet dokumentu v ramci jednoho serveru

min(s, k l) - pocet ruznych dokumentu, zıskanych cestou →li ,k ∗min(s, k l) je nejhorsım prıpadem

k ∗min(s, k l) - pocet dokumentu na konci cesty, nasobımedelkou cesty

vyse uvedeny prıpad je nejhorsım moznym odhadem

Radek Strnad [email protected]

WebSQL

Page 26: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Vyhodnocenı

Neuvedeno do praxe

Zustalo u navrhu a testovacı implementace

Rychlost - od desıtek sekund po desıtky minut na univerzitnılince a na dvouprocesorvem SPARCu s 256MB RAM (rok1995!)

Uzitı zamysleno pro programatory

selektivnı indexaceobdoba “views” z databazıudrzba linku na strankach

Radek Strnad [email protected]

WebSQL

Page 27: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Struktura Java appletu

Radek Strnad [email protected]

WebSQL

Page 28: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Vzhled Java appletu

Radek Strnad [email protected]

WebSQL

Page 29: WebSQL Querying the World Wide Web. - ksi.mff.cuni.czpokorny/dj/prezentace/3_58.pdfMotivaceJazyk WebSQLForm aln s emantikaCena dotaz uZ av er Web je heterogenn prost red dokument u,

Motivace Jazyk WebSQL Formalnı semantika Cena dotazu Zaver

Zdroje:

A. O. Mendelzon, G. A. Mihalia, T. Milo - Querying theWorld Wide Web (1996)

http://en.wikipedia.org/wiki/Web search engine

http://www.searchenginehistory.com/

Radek Strnad [email protected]

WebSQL