A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Consultas ad-hoc de estatísticas disponíveis na Web Idevan Gonçalves Freire Junior

Apresentações semelhantes


Apresentação em tema: "Consultas ad-hoc de estatísticas disponíveis na Web Idevan Gonçalves Freire Junior"— Transcrição da apresentação:

1 Consultas ad-hoc de estatísticas disponíveis na Web Idevan Gonçalves Freire Junior igfj@di.ufpe.br

2 Extrair a estrutura de uma home-page Distinguir as classes url e webdoc. As url s são instâncias de strings com método get definido. Elementos típicos da classe webdoc são paginas HTML. Métodos de webdoc : url, modif, type, hrefs@(label).

3 Modelando a web * Classe url modela um documento como um objeto http://www.di.ufpe.br/~compint/ seria o id-term de um objeto da classe url * Método get para recuperar o documento: http://www.di.ufpe.br/~compint/.get[ ] get transforma uma página HTML em um objeto webdoc * Documentos recuperados têm a seguinte estrutura: url::string [get =>webdoc] webdoc[self =>url; author =>string; modif => string; type =>string; hrefs@(string)=>> url; error =>>string].

4 Consultando a web * Exemplo: http://www.di.ufpe.br/~compint = ourUrl. ourUrl:url. ourServer = www.di.ufpe.br/. X.get:ourPage :- X: ourUrl. Y.get:ourPage :- X:ourPage[hrefs@( _ ) ->> Y], substr(ourServer, Y). t Recupera os links que estão no mesmo servidor X:ourPage[hrefs@( _ ) ->> Y], substr(mailto:,Y). t Recupera todos os endereços de e-mail achados nas páginas visitadas

5 Modelo da Web

6 Integração do Modelo da Web Integração do Modelo da Web

7 Bases de dados semi-estruturadas

8 Web Skeleton * Um extrator web skeleton genérico para FLORID

9 NBA Skeleton Extractor Para NBA: root[src->>{nba}]. nba = "http://www.di.ufpe.br/~streak/espn.sportszone.co m/nba/statistics/1998/". >> ls nba3ptpct.html nbafgpct.html nbascoring.html teamstatoff.html nbaassists.html nbaftpct.html nbasteals.html tmcompare.html nbablocks.html nbarebound.html teamstatdef.html = substr("/nba/statistics/1998/nba",Y). = substr("/nba/statistics/1998/",Y).

10 Operadores de expressões regulares *.* uma linha de def um exemplo simplissimo * \( * \)

11 Percorrendo as páginas As tabelas com os líderes estatísticos estão nas páginas definidas por e que iniciam com nba (como previsto em ). Logo, ?- nba..L. traz todas as páginas dos líderes estatísticos. * Assim podemos construir as tabelas estatísticas: T:tabela :- match(nba..L.get," \(.*\n\)* ","",T). Player Gp PTS AVG Michael Jordan, Chi 82 2357 28.7 Shaquille Oneal, Lal 60 1699 28.3... Rod Strickland, Was 76 1349 17.8

12 Consultas às tabelas estatísticas * Para se identificar os líderes estatísticos de um dos times faz-se (por exemplo): R:crqLal :- T:tabela, match(T,"\(.*Lal.*\)","",R). * Para se armazenar a quantidade de líderes de um determinado time em sua base, faz-se: ?- sys.strat.doIt[]. X[leaders->N] :- X=lal, N = count{R; R:crqLal}. * Definição dos times: * 2 linhas,..., 1 linha

13 Geração de lista ordenada

14 Demo ao vivo


Carregar ppt "Consultas ad-hoc de estatísticas disponíveis na Web Idevan Gonçalves Freire Junior"

Apresentações semelhantes


Anúncios Google