• Nenhum resultado encontrado

Gestão e Tratamento de Informação

N/A
N/A
Protected

Academic year: 2021

Share "Gestão e Tratamento de Informação"

Copied!
5
0
0

Texto

(1)








1º
semestre


 




Mini‐Projecto
2
–
Entrega
a
6/11/2009



 


Utilize
 o
 software
 apresentado
 nas
 aulas
 de
 laboratório
 para
 resolver
 cada
 um
 dos
 exercícios
propostos.
Tenha
em
conta
que
a
biblioteca
de
funções
da
linguagem
XPath


2.0
 oferece
 mecanismos
 para
 a
 manipulação
 de
 elementos
 textuais
 através
 de


expressões
regulares.
Nas
aulas
de
laboratório
foi
ainda
introduzida
a
extensão
XQuery


Full‐Text,
 através
 da
 qual
 é
 possível
 efectuar
 pesquisas
 por
 elementos
 contendo


determinados
conteúdos
textuais,
com
base
em
frases
ou
palavras
chave.
 


Exercício
1


Escreva
um
programa
XQuery
que
aceda
à
lista
de
restaurantes
do
site
Web
list.co.uk
 (i.e.,
 converta
 o
 HTML
 para
 um
 documento
 bem
 formado
 para
 posteriormente
 ser
 processado
 com
 expressões
 XPath
 e
 XQuery)
 e
 construa
 um
 novo
 documento
 XML
 com
uma
listagem
dos
restaurantes
localizados
em
Glasgow.


O
 URL
 para
 a
 página
 com
 a
 lista
 de
 restaurantes
 do
 site
 list.co.uk
 é
 o
 seguinte:
 http://www.list.co.uk/places/restaurants/.



Tenha
em
atenção
que
a
listagem
completa
é
apresentada
através
de
uma
sequencia
 de
páginas
HTML,
em
que
cada
uma
contem
apenas
25
itens.
Na
parte
inferior
de
cada
 uma
das
páginas
encontra‐se
um
índice
que
permite
aceder
às
restantes,
por
exemplo
 através
 dos
 links
 Previous
 e
 Next.
 Tenha
 ainda
 em
 atenção
 que
 cada
 restaurante
 da
 lista
possui
uma
página
Web
própria,
contendo
informação
mais
detalhada.
 
 O
programa
desenvolvido
neste
exercício
deverá
recolher
até
4
páginas
da
listagem
 de
restaurantes
(um
máximo
de
100
restaurantes).
Uma
estratégia
de
concretização
 consiste
em,
por
exemplo,
seguir
um
máximo
de
4
links
com
a
âncora
textual
Next.


O
 programa
 desenvolvido
 neste
 exercício
 deverá
 ainda
 produzir
 como
 resultado
 um
 documento
XML
bem
formado,
seguindo
a
estrutura
que
se
exemplifica
na
Figura
1.
 


<restaurantes> <restaurante>

<nome>Alla Turca</nome>

<desc>Proud to be the only Turkish restaurant in Glasgow...</desc> <morada>

<rua>192 Pitt Street</rua> <cidade>Glasgow</cidade> <zip>G2 4DY</zip> </morada> <url>http://www.list.co.uk/place/103016-alla-turca/</url> <phone>0141 332 5300</phone> </restaurante> <!-- restantes restaurantes... --> </restaurantes> Figura
1
–
Documento
XML
com
informação
sobre
restaurantes.


(2)


 O
Fodors
é
um
site
Web
que
publica
resenhas
sobre
restaurantes
de
todo
o
mundo.
 Neste
site,
existe
uma
página
Web
para
cada
restaurante
analisado.
 
 A
lista
de
URLs
da
Figura
2
foi
obtida
através
de
uma
expressão
XQuery
que
faz
uma
 pesquisa
no
site
Web
do
Fodors
através
do
URL
indicado
abaixo:
 http://www.fodors.com/world/europe/netherlands/amsterdam/restaurants-nam_best:26361.html 
 A
expressão
XQuery
extrai
as
cinco
primeiras
hiperligações
para
páginas
do
site
com
 descrições
de
restaurantes
na
cidade
de
Amesterdão.
 
 http://www.fodors.com/world/europe/netherlands/amsterdam/review-150701.html http://www.fodors.com/world/europe/netherlands/amsterdam/review-134210.html http://www.fodors.com/world/europe/netherlands/amsterdam/review-150683.html Figura
2
–
Lista
de
URLs
com
resenhas
de
restaurantes
em
Amesterdão.


2.1
 –
 Apresente
 uma
 expressao
 XQuery
 que
 permita
 aceder
 ao
 Fodors,
 mais
 concretamente
ao
documento
HTML
com
os
restaurantes
de
Amesterdão
(i.e.,
o
URL
 indicado
acima)
e
obter
uma
lista
de
hiperligações
semelhante
á
que
é
apresentada
na
 Figura
 2.
 Em
 lugar
 das
 3
 primeiras
 hiperligações,
 o
 programa
 XQuery
 deverá
 obter
 todos
os
documentos
com
informação
sobre
restaurantes
listados
no
site.


2.2
 ‐
 Utilize
 a
 ferramenta
 RoadRunner
 por
 forma
 a
 extrair
 a
 informação
 sobre
 os
 restaurantes
descritos
nas
páginas
Web
listadas
como
resultado
da
alínea
anterior.

 


O
 documento
 XML
 produzido
 como
 resultado
 pelo
 RoadRunner
 deve
 ser
 utilizado
 como
input
para
uma
expressão
XQuery
que
permita
converter
os
resultados
para
o
 formato
exemplificado
na
Figura
2.



<restaurantes> <restaurante>

<nome>Bagels and Beans</nome> <cuisine>Eclectic</cuisine> <review>This low-key...</review> <url> www.fodors.com/world/europe/netherlands/amsterdam/review-150701.html </url> </restaurante> <!-- restantes restaurantes... --> </restaurantes> Figura
2
–
Documento
XML
com
informação
sobre
restaurantes.


Na
 resposta
 a
 esta
 alínea
 deve
 apenas
 apresentar
 a
 configuração
 do
 RoadRunner
 (caso
tenha
efectuado
alterações
na
configuração
por
omissão)
e
a
expressão
XQuery


que
permite
formatar
os
resultados.
Não
é
necessário
apresentar
o
documento
XML


gerado
 pelo
 RoadRunner,
 nem
 as
 instruções
 para
 criar/carregar
 o
 resultado
 do


RoadRunner
 para
 uma
 base
 de
 dados
 XML,
 no
 caso
 de
 ter
 optado
 por
 usar
 esta


(3)

2.3
–
No
URL
https://dspace.ist.utl.pt/bitstream/2295/370906/1/words‐sentiment.xml
 encontra‐se
 um
 documento
 XML
 que
 contem
 uma
 lista
 de
 palavras
 classificadas
 de
 acordo
 com
 a
 sua
 polaridade,
 i.e.
 palavras
 que
 tipicamente
 têm
 uma
 conotação
 positiva,
 neutra
 ou
 negativa.
 Esta
 lista
 pode
 ser
 usada
 para
 analisar
 as
 opiniões/sentimentos
expressos
nas
resenhas
para
os
restaurantes.


Escreva
 uma
 expressão
 XQuery
 que,
 para
 cada
 restaurante
 da
 lista
 produzida
 como
 resultado
 da
 alínea
 2.2,
 conte
 o
 número
 de
 ocorrências
 de
 palavras
 positivas
 e
 negativas.
 Com
 base
 nestas
 contagens,
 a
 expressão
 XQuery
 deve
 produzir
 um
 novo
 documento
 XML
 com
 o
 formato
 que
 se
 exemplifica
 de
 seguida,
 em
 que
 o
 elemento


rating
toma
o
valor
recomended
ou
not
recomended
consoante
o
número
de
palavras


positivas
 ser
 maior
 ou
 menor
 que
 o
 número
 de
 palavras
 negativas.
 Em
 caso
 de
 igualdade
na
contagem,
não
deve
ser
adicionado
o
elemento
rating.


<restaurantes> <restaurante>

<nome>Alla Turca</nome><cuisine>Turkish</cuisine>

<review>Proud to be the only Turkish restaurant in...</review> <url> www.fodors.com/world/europe/netherlands/amsterdam/review-150301.html </url> <rating>recomended</rating> </restaurante> <!-- restantes restaurantes... --> </restaurantes> Figura
3
–
Documento
XML
com
informação
sobre
restaurantes.
Exercício
3


Em
 https://dspace.ist.utl.pt/bitstream/2295/366642/1/restaurants.csv
 encontra‐se
 um
ficheiro
de
texto
com
valores
separados
por
vírgulas,
contendo
informação
sobre
 restaurantes
em
Portugal
e
as
coordenadas
de
latitude
e
longitude
correspondentes.
 Abaixo
apresenta‐se
o
conteúdo
do
documento
textual
que
se
encontra
online.


Tavares Rico, Chiado, Lisboa, 38.68,-9.15 Salpoeiro, Aveiro, Aveiro, 38.71,-9.15 Porto Rico, G. Nazaré, Aveiro, 40.63,-8.64 Quebra Bilhas, Campo Grande, Lisboa, 38.65,-9.15 Cantinho da Paz, Estrela, Lisboa, 38.68,-9.11 Pateo do Garret, Vila Velha, Sintra, 38.56,-9.15

Figura
4
–
Documento
CSV
com
informação
sobre
restaurantes.


3.1
–
Escreva
uma
expressão
XQuery
que
faça
a
transposição
dos
dados
representados
 no
documento
online,
produzindo
um
novo
ficheiro
de
texto
com
valores
separados
 por
 vírgulas
 em
 que
 as
 colunas
 do
 ficheiro
 original
 correspondem
 às
 linhas
 do
 novo
 ficheiro.
Abaixo,
na
Figura
5,
apresenta‐se
o
resultado
da
transformação
do
conteúdo
 apresentado
na
Figura
4.


Tavares Rico, Salpoeiro, Porto Rico, Quebra Bilhas, Cantinho da Paz, Pateo do Garret Bairro Alto, Aveiro, G. Nazaré, Campo Grande, Estrela, Vila Velha

Lisboa, Aveiro, Aveiro, Lisboa, Lisboa, Sintra 90.68, 38.71, 40.63, 38.65, 38.68, 38.56 -9.15, -9.15, -8.64, -9.15, -9.11, -9.15

(4)

resultados
para
o
formato
KML
usado
pelo
Google
Earth.
O
formato
de
saída
encontra‐ se
exemplificado
na
Figura
6.
Apenas
os
restaurantes
pertencentes
à
cidade
de
Lisboa
 devem
ser
apresentados
no
documento
KML
produzido
como
resultado.
 <kml xmlns="http://www.opengis.net/kml/2.2"> <Response> <name>Restaurants in Portugal</name> <Status><code>200</code><request>geocode</request></Status> <Placemark id="p1"> <name>Tavares Rico</name> <address>Chiado, Lisboa</address> <AddressDetails Accuracy="4"> <Country> <CountryNameCode>PT</CountryNameCode> <CountryName>Portugal</CountryName> </Country> </AddressDetails> <Point><coordinates>38.68,-9.15,0</coordinates></Point> </Placemark>

<!—Restantes restaurantes representados como Placemarks --> </Response> </kml> Figura
6
–
Documento
KML
de
exemplo.
Exercício
4


Para
 cada
 um
 dos
 problemas
 que
 se
 seguem,
 escreva
 uma
 função
 XQuery
 que,
 utilizando
 as
 funções
 da
 biblioteca
 XPath
 2.0
 relacionadas
 com
 a
 avaliação
 de


expressões
regulares,
aceite
como
parâmetro
uma
cadeia
de
caracteres
e
retorne
um


valor
Booleano
indicando
se
a
cadeia
de
caracteres
é
válida
no
domínio
do
problema.
 


4.1
‐
Verificar
se
uma
dada
cadeia
de
caracteres
corresponde
a
um
par
de
coordenadas
 de
latitude
e
longitude,
segundo
os
formatos
que
se
exemplificam
abaixo.
Note
que
 ambos
 os
 formatos
 são
 válidos,
 devendo
 a
 solução
 utilizar
 uma
 única
 expressão
 ou
 duas
expressões
regulares
(i.e.,
uma
em
cada
padrão
frequente)
para
fazer
a
validação.
 
 -9.500 Lon ; 25.50 Lat -9º30’00’’ LON ; 25º30’00’’ LAT -9º30’00’’ lon ; 25º30’00’’ lat Tenha
em
atenção
que
a
expressão
regular
deve
verificar
se
os
valores
estão
dentro
 dos
intervalos
válidos.
Na
representação
decimal,
a
latitude
varia
entre
‐90
e
90
e
a
 longitude
varia
entre
‐180
e
180.
Os
valores
de
latitude
e
longitude
podem
ainda
ter
 um
número
indeterminado
de
0s
à
esquerda
da
sua
parte
inteira
e
a
parte
decimal,
 caso
 esteja
 representada,
 ocupa
 um
 máximo
 de
 6
 algarismos.
 Na
 representação
 em
 graus,
minutos
e
segundos,
os
valores
associados
aos
minutos
e
segundos
variam
entre
 0
e
60,
enquanto
que
os
valores
para
os
graus
de
latitude
e
longitude
variam
entre
‐90
 e
90
e
‐180
e
180,
respectivamente.


4.2
 –
 Verificar
 através
 de
 uma
 expressão
 regular
 se
 uma
 dada
 cadeia
 de
 caracteres
 alfanuméricos
corresponde
a
uma
capicua
(i.e.,
uma
cadeia
que
lida
da
direita
para
a
 esquerda
ou
da
esquerda
para
a
direita
é
idêntica)
e
se
representa,
simultaneamente,
 um
valor
hexadecimal
com
8
dígitos.


(5)

Exercício
5
 
 Em
 https://dspace.ist.utl.pt/bitstream/2295/374324/1/featured‐restaurants.xml
 encontra‐se
um
feed
XML,
no
formato
RSS,
com
descrições
de
restaurantes.
Para
cada
um
dos
seguintes
problemas,
escreva
expressões
XQuery
que,
utilizado
as
 funções
 XPath
 para
 processamento
 de
 expressões
 regulares
 ou
 os
 mecanismos
 de
 extensão
da
XQuery
with
Full
Text,
permitam
obter
a
informação
pretendida.
 
 5.1
–
Encontrar
os
títulos
de
todas
as
entradas
que
obedeçam
aos
seguintes
critérios.
 Deve
considerar
cada
uma
das
seguintes
alíneas
como
um
problema
separado.
 
 1. 
Contêm
a
palavra
chave
“wines”
na
descrição
da
entrada.
 2. 
Contêm
a
palavra
“bistro”
no
título
e
não
contêm
“refined”
na
descrição.
 3. 
Têm
a
expressão
“restaurant
and
bar”
no
título
da
entrada.
 4. 
Foram
efectuadas
num
dia
do
mês
que
corresponde
a
um
número
ímpar.

 
 5.2
–
Extrair
os
URLs
de
imagens
que
se
encontram
mencionados
no
texto
descritivo
 das
entradas
que
contêm
as
palavras
“restaurant”
ou
“bar”
no
título
ou
na
descrição.
 Deverá
ter
o
cuidado
de
eliminar
potenciais
URLs
em
duplicado.
 


5.3
 –
 Encontrar
 as
 duas
 entradas
 mais
 relevantes
 para
 uma
 pesquisa
 pelas
 palavras
 chave
“grill”
e
“meat”.
Entrega
do
segundo
mini‐projecto
 
 A
resolução
do
mini‐projecto
deve
ser
entregue
via
Fénix
sob
a
forma
de
um
ficheiro
 com
a
extensão
.zip,
até
às
24:00
do
dia
estipulado
para
a
entrega.
O
ficheiro
.zip
deve
 conter
os
seguintes
elementos:
 • Ficheiros
de
texto
com
as
soluções
(e.g.,
documentos
XML
ou
ficheiros
de
texto
com
 as
interrogações
XPath/XQuery)
para
cada
uma
das
perguntas/alíneas
individuais.


• Um
 relatório
 com
 a
 resolução
 das
 várias
 perguntas,
 em
 formato
 PDF.
 O
 relatório


deve
 ter
 uma
 folha
 de
 rosto
 ou
 um
 cabeçalho
 identificando
 claramente
 qual
 o
 número
 do
 grupo
 e
 quais
 os
 números
 mecanográficos
 dos
 3
 elementos
 do
 grupo.
 Para
 cada
 pergunta,
 e
 alem
 de
 listar
 a
 solução,
 o
 relatório
 deve
 ainda
 indicar
 claramente
qual
o
nome
do
ficheiro
que
contem
a
sua
resolução.


Não
serão
aceites
trabalhos
entregues
via
e‐mail,
nem
trabalhos
onde
o
relatório
não
 obedece
às
regras
estipuladas.
Na
aula,
posteriormente
ao
dia
da
entrega
electrónica,
 deve
ainda
ser
entregue
ao
corpo
docente
uma
versão
impressa
do
relatório.


Referências

Documentos relacionados

A Psicologia, por sua vez, seguiu sua trajetória também modificando sua visão de homem e fugindo do paradigma da ciência clássica. Ampliou sua atuação para além da

Com fatores como a realidade aumentada, a animação e a arte interativa, o desenho nos novos meios parece englobar, até o momento, muitas referências de sua própria

A teoria das filas de espera agrega o c,onjunto de modelos nntc;máti- cos estocásticos construídos para o estudo dos fenómenos de espera que surgem correntemente na

No entanto, para aperfeiçoar uma equipe de trabalho comprometida com a qualidade e produtividade é necessário motivação, e, satisfação, através de incentivos e política de

Otto: Este filósofo e teólogo toma como base para sua definição de religião a experiência religiosa e introduz na discussão um conceito que muito vai influenciar a compreensão

Taking into account the theoretical framework we have presented as relevant for understanding the organization, expression and social impact of these civic movements, grounded on

Neste estudo foram estipulados os seguintes objec- tivos: (a) identifi car as dimensões do desenvolvimento vocacional (convicção vocacional, cooperação vocacio- nal,

Os resultados revelam que houve expressivo esforço indutor da esfera estadual para fomentar o processo de descentralização e regionalização das ações de vigilância laboratorial