• Nenhum resultado encontrado

Neste capítulo são apresentados os trabalhos relacionados, além de apontar deficiências comuns ente eles. O capítulo se inicia com um breve histórico do surgimento de linguagens gráficas de consultas. Posteriormente, destaca os trabalhos relacionados, e por fim, apresenta uma análise das deficiências comuns entre os trabalhos relacionados mais relevantes.

3.1 INTRODUÇÃO 25

3.1

Introdução

O interesse pela criação e uso de linguagens gráficas de consultas já existe há muito tempo. No ano de 1987 Cruz et al. [CMW87] apresentaram a linguagem G, que foi a primeira proposta de linguagem de consulta gráfica orientada a objetos. Pouco tempo depois, no ano de 1988, Cruz et. al. [CMW88] apresentaram a linguagem sucessora G+. A partir desta linguagem, foram propostas as linguagens Graphlog [CM90] e Good [PdBA+92]. A linguagem Good oferece uma notação uniforme para bancos de dados de objetos, onde os nós representam os objetos e as pontes representam os relacionamentos. Alguns anos depois, surgiu uma linguagem que tinha uma notação parecida com a linguagem Good, linguagem esta chamada de G-Log [PPT95]. A G-Log é uma linguagem gráfica baseada em lógica que torna possível a representação e a consulta de objetos complexos por meio de grafos rotulados direcionados.

Em 1998, começaram a surgir as linguagens que tinham interesse em dados semi-estruturados. A primeira a surgir com este intuito foi a WG-Log [CDPT98]. Esta linguagem foi construída para consultar páginas da internet e dados semi-estruturados adicionando a G-Log algumas fun- cionalidades de hipermídia. Depois de mais alguns anos, surgiu a XML-GL [CDF01, Com01], a primeira linguagem descendente da WG-Log. A XML-GL foi a primeira linguagem de con- sulta visual para XML, entretanto, foi projetada bem antes da XQuery [W3C08h].

A partir deste histórico é possível identificar a importância das linguagens gráficas de con- sulta. Neste capítulo, serão apresentadas as ferramentas que utilizam linguagens gráficas de consulta baseadas no uso de XQuery e suas principais funcionalidades. Além disto, as fer- ramentas serão avaliadas através de alguns critérios importantes que motivaram o desenvol- vimento deste trabalho. Por fim, serão apontadas as principais limitações destas ferramentas, além de um quadro resumo das características dos trabalhos relacionados.

Antes de apresentar de fato as abordagens relacionadas é importante frisar quais foram os critérios utilizados para a avaliação das ferramentas relacionadas. Tais critérios foram:

3.2 XQBE 26

XML;

• Se a ferramenta requer aprendizado de uma linguagem visual por parte dos usuários; • Se houve a realização de validação com usuários leigos em XQuery e tecnologias relaci-

onadas a XML;

• Se a ferramenta foi projetada para funcionar na web; e • Se a ferramenta realiza consultas em um SGBD XML nativo.

3.2

XQBE

Braga et. al. [BCC05] propuseram a XQBE (XQuery By Example). Esta foi a primeira lingua- gem de consulta gráfica a permitir que usuários não conhecedores de linguagens complexas de consulta acessassem e modificassem fontes de dados XML. A XQBE é baseada no paradigma QBE (Query By Example) [Zlo77], pois este paradigma demonstrou que uma linguagem visual é efetiva quando se trata de dar suporte a expressões de consulta intuitivas. A efetividade é ainda maior quando as construções básicas, o paradigma de consulta envolvido, e a abstração visual são compatíveis com a linguagem e o modelo de dados da camada inferior. Consequen- temente, enquanto a QBE é a linguagem de consulta relacional, baseada no uso de tabelas, a XQBE é baseada no uso de árvores, assim aderindo ao modelo de dados hierárquico do XML.

A ferramenta XQBE foi projetada com o objetivo principal de prover facilidade de uso. Além disso, houve também uma preocupação em tentar fazê-la o mais expressiva possível tornando-a diretamente mapeável para a XQuery, de modo que suporte qualquer interface grá- fica capaz de executar no topo de qualquer implementação existente da XQuery. É claro que tais metas não podem ser completamente alcançadas ao mesmo tempo. Visto que a usabilidade é um dos fatores mais críticos para o sucesso, este fator de qualidade foi levado em considera- ção durante todo o processo de projeto da linguagem e da implementação da interface gráfica.

3.2 XQBE 27

Apesar disso, sabe-se que uma representação visual para uma transformação complexa tende inerentemente a se tornar ilegível, dado o alto grau de crescimento no número de nós. A XQBE funciona melhor com transformações simples, sendo fortemente desencorajado pelos autores o seu uso para transformações muito complexas.

Em relação a sua implementação, a XQBE tem uma arquitetura cliente-servidor. De um modo geral, a arquitetura da XQBE funciona da seguinte maneira: o cliente fornece o editor visual de consultas para o usuário; o servidor opera a transformação e, se requisitado, executa a consulta invocando um mecanismo de execução de XQuery. O cliente e o servidor se comu- nicam trocando uma representação interna das consultas em um formato intermediário, que é basicamente uma descrição dos grafos XQBE em XML. A interface gráfica da ferramenta pode ser vista na Figura 3.1.

Figura 3.1: Interface gráfica da ferramenta XQBE

Apesar da motivação de Braga et. al. em criar uma ferramenta amigável, o uso de diversos elementos similares para a representação de diferentes conceitos e a necessidade de um básico

3.3 GXQL 28

conhecimento em XQuery prejudicaram a XQBE em atingir completamente sua meta original.

3.3

GXQL

Z. Qin et. al. [QYLM04] criaram a ferramenta GXQL (Graphical XQuery Language) para endereçar as necessidades não atingidas pela XQBE. A ferramenta proposta é mais expressiva que a XQBE, de modo que algumas consultas que são difíceis de expressar na XQBE, são fáceis de expressar na GXQL. Além do mais, algumas consultas que podem ser representadas na GXQL, não o podem na XQBE. Diferente da anterior, a GXQL tem uma abordagem ba- seada em janelas gráficas, junto com suas respectivas bordas e cores como uma tentativa para melhorar a usabilidade para pessoas que não são familiares com a linguagem XQuery.

A ferramenta utiliza janelas aninhadas para representar os relacionamentos entre pai e fi- lhos. Além disto, os elementos filhos e os atributos são diferenciados visualmente. O uso de janelas aninhadas permite também a visualização da hierarquia da consulta que está sendo cons- truída. A ferramenta apresenta, ainda, funcionalidades que auxiliam o usuário na construção das consultas, de forma que o usuário não tenha que fornecer todas as entradas textualmente, ou ainda, necessite criar todas as consultas do início. A Figura 3.2 apresenta a interface gráfica da ferramenta.

Embora os autores deste trabalho tenham almejado uma maior usabilidade e intuitivismo relativo à abordagem da XQBE, a ferramenta falhou nos seguintes aspectos: a necessidade de conhecer todos os significados das bordas dos retângulos para a construção da consulta; o fato de que os usuários frequentemente perdem a visão geral da construção gráfica da XQuery devido às novas telas que são abertas durante o processo de criação da consulta XQuery; e a necessidade de barras de rolagem relativas à grande quantidade de informação gráfica mostrada. Por fim, apesar de os autores afirmarem que a ferramenta gráfica proposta é amigável para os usuários finais, esta não foi sujeita a nenhum tipo de validação com usuários. Assim, não é possível confirmar que a ferramenta de fato auxilia os usuários sem experiência na construção

3.4 BBQ 29

Figura 3.2: Interface gráfica da ferramenta GXQL

de consultas XQuery.

3.4

BBQ

Munroe et. al. [MP00] apresentaram a ferramenta BBQ (Blended Browsing and Querying) que é baseada na estrutura de navegação de diretórios do sistema operacional Windows [Mic08c], o qual permite operações de drill-down para facilitar a navegação.

3.4 BBQ 30

Esta ferramenta facilita a consulta e navegação intuitiva de uma ou mais fontes de dados XML, o refinamento de consultas iterativamente, e ainda, a descoberta de estruturas. As fontes de dados são apresentadas em um formato de interface multi-documentos, onde cada fonte é as- sociada a uma janela contendo seus respectivos dados e esquema mostrados lado a lado no quadro. Tanto os dados quanto o esquema são apresentados em uma estrutura de árvore, como se fossem diretórios, nos quais os usuários podem navegar e colocar condições. A interface gráfica da ferramenta pode ser vista na Figura 3.3.

Figura 3.3: Interface gráfica da ferramenta BBQ

Para a realização das consultas, a ferramenta BBQ utiliza uma mistura de dois paradigmas de pesquisa: o de bancos de dados relacionais e o da web. Quando o foco é o paradigma

3.5 XQUERYVIZ 31

utilizado pelos bancos de dados relacionais, as consultas na BBQ são dirigidas a esquema e utilizam DTD [W3C08c]. Já quando o foco da pesquisa está voltado ao paradigma utilizado na web, assume-se que o usuário não tem certeza absoluta dos resultados esperados da consulta. Assim, o sistema enfatiza a navegação de esquemas e dados e os resultados da consulta podem ser refinados iterativamente.

O refinamento iterativo de consultas é possível, porque os resultados de uma consulta po- dem ser utilizados como fontes em consultas subsequentes. Os usuários podem construir um documento de resultado da consulta e este documento se torna uma fonte de dados de primeira classe dentro da BBQ, significando que este pode ser navegado, consultado, ou ainda, utilizado para construir outro documento de resultado da consulta. A ferramenta BBQ dá suporte a mais do que uma fonte de dados simultaneamente e usa uma DTD adicionada ao mecanismo de inferência que ajuda a refinar o processo de escrita de consultas XQuery.

Embora esta seja uma das primeiras ferramentas a focar na interação com o usuário, bem como em prover uma construção de consultas XQuery de forma mais rápida e efetiva, a ferra- menta tem como público-alvo usuários que já conhecem a estrutura aninhada dos dados XML, além de alguns conceitos de linguagens de consulta a bancos de dados, tais como, junções e agregações. Assim, Munroe et. al. sugerem webmasters, desenvolvedores ou administradores de bancos de dados como usuários para a sua ferramenta.

3.5

XQueryViz

Karam et. al. apresentaram a ferramenta XQueryViz [KBOK06]. A ferramenta tem, além de outras metas, o propósito de auxiliar os usuários finais com a criação de consultas XQuery / XPath [W3C08f]. Isto torna-se possível através da manipulação direta da representação em árvore do XML Schema usado em sua abordagem gráfica.

Com o intuito de ajudar aos usuários, a ferramenta gráfica é baseada no uso de ícones e de conexões entre estes ícones. Estas conexões são criadas utilizando enlaces de dados. Além do

3.5 XQUERYVIZ 32

mais, devido à existência destes enlaces de dados, o usuário consegue visualizar como os dados estão sendo passados nas construções visuais.

A ferramenta proposta é uma representação gráfica completa de todas as construções da XQuery, visto que os autores almejaram contemplar em sua ferramenta o maior número possí- vel de construções desta linguagem. Apesar de ser principalmente intencionada para auxiliar estudantes da linguagem XQuery, a ferramenta XQueryViz é tão complexa quanto a linguagem XQuery em si. A Figura 3.4 apresenta a tela da ferramenta.

Figura 3.4: Interface gráfica da ferramenta XQueryViz

3.6 XGI 33

rios finais que não detêm conhecimento em XQuery / XPath, esta afirmação não pôde ser confirmada, pois não foram realizados testes com usuários deste nível. Todos os usuários que participaram da avaliação da ferramenta detinham algum nível de conhecimento em XQuery / XPath.

Assim, embora a ferramenta proposta seja, atualmente, a ferramenta que tem maior repre- sentatividade da linguagem XQuery, não é plausível pensar que tal ferramenta ajude usuários não conhecedores de XQuery a consultar informações em um banco de dados XML, visto que, a ferramenta requer um mínimo conhecimento de uma linguagem tão complexa quanto a XQuery.

3.6

XGI

Li et. al., com a ferramenta XGI [LGB07], fornecem a proposta mais próxima de permitir a criação de consultas XQuery por usuários não-especialistas através de uma ferramenta intuitiva. A ferramenta aborda a construção de consultas de uma forma intermediária entre os dados estruturados e não-estruturados.

Com o intuito de auxiliar os usuários no entendimento do esquema existente, a ferramenta XGI fornece aos usuários uma árvore fonte navegável. Além disto, a ferramenta fornece tam- bém uma maneira gráfica de escolher elementos que estão nesta árvore fonte para permitir que sejam adicionados ao esquema da consulta.

Em se tratando de implementação, a ferramenta XGI foi projetada para funcionar em uma arquitetura WEB. Isto ocorreu devido ao fato de que o custo de implantação seria reduzido, dado que os pesquisadores bio-médicos não teriam a responsabilidade de instalar e manter o software. Além do mais, este tipo de arquitetura facilita o acesso à ferramenta, permitindo que qualquer pesquisador possa construir suas consultas de qualquer lugar em que se encontre. A Figura 3.5 apresenta a interface gráfica da ferramenta.

3.6 XGI 34

Figura 3.5: Interface gráfica da ferramenta XGI

em XQuery pudessem criar consultas facilmente, tal objetivo não foi completamente atingido. Isto deve-se ao fato de que existem alguns conceitos utilizados na construção de consultas na ferramenta que obrigam o usuário a ter, no mínimo, algum conhecimento em XML. Como exemplo destes conceitos, pode-se citar: a necessidade de criação de um root para que o usuário possa iniciar a criação da consulta e o conhecimento dos conceitos de árvore utilizados no XML (nós filhos) para que seja criada a estrutura de retorno desta mesma consulta.

Apesar de ter havido validação por parte de usuários, tal validação foi realizada apenas por um usuário especialista. Com esta validação, os autores não são capazes de demonstrar que de

3.7 CONSIDERAÇÕES FINAIS 35

fato a ferramenta ajuda os não-conhecedores das tecnologias relacionadas a XML na criação de consultas. Além do mais, há um reconhecimento pelos próprios criadores que a proposta de facilitar a criação de consultas pela popularização da XQuery não foi completamente al- cançada, porque a ferramenta XGI apenas adiciona valor a usuários experientes em linguagens complexas como a XQuery.

3.7

Considerações Finais

Embora as diversas ferramentas supracitadas, e suas respectivas linguagens visuais, assegurem que facilitam a recuperação de informações por usuários não-conhecedores de XQuery atra- vés do uso de interfaces amigáveis, nenhuma delas realizou testes de validação com usuários detentores deste nível de conhecimento, o que não comprova suas afirmações.

Além do mais, através da análise realizada, não foi possível identificar em nenhuma destas ferramentas qual é exatamente a metodologia utilizada para gerar consultas XQuery a partir das ferramentas visuais. A XQBE e a XGI mencionam a utilização de uma BNF [Gar08], mas não explicitam como funciona o processo de transformação.

Também deve ser realçado o fato de que nenhuma das ferramentas discutidas permite con- sultas a sistemas de gerenciamento de bancos de dados XML nativos. Assim, não permitem que os usuários usufruam das funcionalidades comumente presentes nos SGBD, tais como: controle de concorrência, segurança, recuperação de falhas, entre outros.

Finalmente, é importante notar que apenas uma das ferramentas relacionadas foi desenvol- vida para funcionar em um ambiente WEB, o que significa uma perda potencial significativa de cooperação e colaboração entre os usuários da maioria destas ferramentas. O Quadro 3.1 mostra um resumo das características examinadas e o resultado da análise realizada.

3.7 CONSIDERAÇÕES FINAIS 36 Quadro 3.1: Resumo das características avaliadas dos trabalhos relacionados.

Ferramenta Nível de co- nhecimento requerido do usuário Requer aprendizado de linguagem visual Validação com usuários leigos em XQuery Funciona na web Consulta SGBD XML nativo

XQBE Básico Sim Não realizado Não Não

BBQ Básico Não Não realizado Não Não

GXQL Nenhum Sim Não realizado Não Não

XQueryViz Avançado Sim Não realizado Não Não

C

APÍTULO

4

Documentos relacionados