Lenguaje de recuperacion X-QUERY


Introducci?n


X-Query es un lenguaje de recuperaci?n de consultas est?ndar, publicado por el W3C (World Wide Web Consortium) que utiliza la notaci?n XML para definir consultas y manejar los resultados. X-Query es lo suficientemente flexible como para consultar un amplio espectro de or?genes de datos, incluyendo bases de datos relacionales, documentos XML,Servicios Web,aplicaciones y sistemas heredados.


X-Query es un lenguaje de recuperaci?n que provee mecanismos para extraer informaci?n de bases de datos XML nativas, as? como de otro tipo de or?genes de datos (como ser bases de datos relacionales). Entre otras cosas, permite la posibilidad de obtener datos de un archivo XML y una tabla de la base de datos relacional con una sola consulta. X-Query se presenta como un lenguaje de recuperaci?n funcional, en vez de ejecutar comandos como lo har?a un lenguaje procedural, cada consulta es una expresi?n a ser evaluada. Las expresiones se pueden combinar para hallar nuevas expresiones. X-Query hace un uso intensivo de XPath (un lenguaje utilizado para seleccionar porciones de XML); de hecho algunos ven a X-Query como un superconjunto de XPath. En el gr?fico que se muestra m?s adelante se puede visualizar algunas de las especificaciones del W3C, ubicadas por orden de aparici?n. XPath en un principio fue parte de XSL 1.0 y luego se desarroll? como una especificaci?n separada. La nueva versi?n de XPath (XPath 2.0) est? siendo desarrollada de manera conjunta a X-Query, por el mismo grupo de trabajo. Los terminos formales de X-Query est?n definidos en el documento: X-Query 1.0 y XPath 2.0


Requisitos t?cnicos de X-QUERY


El grupo de trabajo X-Query del W3C ha definido una serie de requerimientos t?cnicos para dicho lenguaje. Los m?s importantes son:


  • XQuery debe ser un lenguaje declarativo.
  • XQuery debe ser independiente del protocolo de acceso a la colecci?n de datos.
  • Las consultas y los resultados deben respetar el modelo de datos XML.
  • Debe ser capaz de soportar XML-Schemas y DTDs y tambi?n debe ser capaz de trabajar sin ninguno de ellos.
  • XQuery debe poder trabajar con independencia de la estructura del documento, esto es, sin necesidad de conocerla.

Cla?sulas FLWOR


En X-Query las consultas pueden estar compuestas por cla?sulas de hasta cinco tipos distintos. En concreto son:


  • For:vincula una o m?s variables a expresiones escritas en XPath, creando un flujo de tuplas en el que cada tupla est? vinculada a una de las variable.
  • Let: vincula una variable al resultado completo de una expresi?n a?adiendo esos v?nculos a las tuplas generadas por una cl?usula for o, si no existe ninguna cl?usula for, creando una ?nica tupla que contenga esos v?nculos.
  • Where: filtra las tuplas eliminando todos los valores que no cumplan las condiciones dadas.
  • Order by: ordena las tuplas seg?n el criterio dado.
  • Return: construye el resultado de la consulta para una tupla dada,despu?s de haber sido filtrada por la cl?usula where y ordenadapor la cl?usula order by.

A continuaci?n y por ?ltimo se muestra un gr?fico con el orden de ejecuci?n y el resultado de las cinco cla?sulas posibles:


cla?sulas de consulta de X-query
Material adicional.


Bibliograf?a utilizada:


Informaci?n recopilada por: Ernesto Salvan?s Castilla.