0% encontró este documento útil (0 votos)
39 vistas9 páginas

Se RQLSPARQL2

Los lenguajes de recuperación son esenciales para organizar y acceder a la vasta información disponible en la web, permitiendo consultas estructuradas a través de órdenes y operadores. El lenguaje RDF, basado en XML, utiliza una estructura de tripletes para representar información y se complementa con lenguajes de consulta como SeRQL y SPARQL, que permiten realizar búsquedas complejas en grafos RDF. SPARQL, en particular, es un estándar para la consulta de datos RDF, facilitando la interacción con información semántica en la web.

Cargado por

Letuce092
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
39 vistas9 páginas

Se RQLSPARQL2

Los lenguajes de recuperación son esenciales para organizar y acceder a la vasta información disponible en la web, permitiendo consultas estructuradas a través de órdenes y operadores. El lenguaje RDF, basado en XML, utiliza una estructura de tripletes para representar información y se complementa con lenguajes de consulta como SeRQL y SPARQL, que permiten realizar búsquedas complejas en grafos RDF. SPARQL, en particular, es un estándar para la consulta de datos RDF, facilitando la interacción con información semántica en la web.

Cargado por

Letuce092
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

Lenguajes de Recuperacin

La Web representa una gran masa de contenidos heterogneos. A pesar de su inters y utilidad, estos contenidos no podrn tener ningn uso si el usuario que los necesite no los puede encontrar. Por esto, es importante en la recuperacin y organizacin de informacin el uso de lenguajes de recuperacin. Los lenguajes de recuperacin (tambin query languages) son lenguajes informticos utilizados para recuperar informacin de sus almacenes. Puede definirse un lenguaje de recuperacin como un conjunto de rdenes, operadores y estructuras que, organizados segn unas normas lgicas, permiten la consulta de fuentes y recursos de informacin electrnica. Los lenguajes de recuperacin pueden dividirse en dos grandes grupos, distinguiendo si su uso se enfoca a las bases de datos relacionales o a la recuperacin de informacin. Los ejemplos son muy variados, incluyendo a SeRQL y SPARQL. Algunos otros son:

SQL, lenguaje de recuperacin reconocido como estndar y ampliamente utilizado para bases de datos relacionales. XQuery, lenguaje de recuperacin para XML. CODASYL OQL (Object Query Language).

Expresiones
El resultado de la combinacin de estos elementos, siguiendo las normas establecidas, es una expresin, a la que se identifica con el nombre "ecuacin" o query, capaz de interrogar el contenido de la fuente de informacin. Un lenguaje de recuperacin especifica las normas que rigen para la formulacin de estas ecuaciones, esto es, su sintaxis. Aportan la semntica necesaria para la coordinacin de los diferentes elementos que componen una consulta, indicando el orden necesario entre ellos, sus posibilidades combinatorias, prioridades en la ejecucin y dems informaciones. Una ecuacin se compondr bsicamente de trminos y operadores. Los trminos sern aquellas palabras que informarn al sistema sobre las acciones a ejecutar (como puedan ser rdenes de mostrar los documentos resultantes, ejecutar un perfil de usuario...). No todos los lenguajes utilizan el mismo vocabulario para expresar las mismas acciones. Algunos intentos para su homogeneizacin han surgido, como pueda ser el lenguaje CCL promovido por la Unin Europea. Los operadores indican las relaciones que guardan entre s los trminos de una ecuacin. Hay de diversos tipos, dependiendo de su semntica: booleanos, aritmticos, de comparacin...

El lenguaje RDF
El lenguaje RDF (Marco de Descripcin de Recursos, del ingls Resource Description Framework) es un lenguaje de propsito general para la representacin de informacin en la web, mediante la definicin de ontologas y metadatos. El lenguaje RDF se basa en XML. El W3C ha promovido la especificacin RDF/XML para su desarrollo. Desde su publicacin en 1999, RDF es hoy el estndar ms popular y extendido en la comunidad de la web semntica.

Estructura
Este modelo se basa en la idea de convertir las declaraciones de los recursos en expresiones con la forma sujeto-predicado-objeto. El elemento de construccin bsica en RDF es el "triplete" o sentencia, que consiste en dos nodos (sujeto y objeto) unidos por un arco (predicado), donde los nodos representan recursos, y los arcos propiedades. El objeto es el valor de la propiedad o el otro recurso con el que se establece la relacin. Por ejemplo una sentencia podra expresar el hecho de que el autor (predicado) del libro "En la cripta" (sujeto) fue el escritor H.P. Lovecraft (objeto). Encadenando estos tripletes se construyen grafos o redes semnticas para la web. La combinacin de RDF con otras herramientas como RDF Schema y OWL permite aadir significado a las pginas. Con RDF Schema (RDFS) se pueden definir jerarquas de clases de recursos, especificando las propiedades y relaciones que se admiten entre ellas.

Un ejemplo
Utilizaremos RDF para describir un CD de msica: <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cd="http://www.recshop.fake/cd#"> <rdf:Description rdf:about="http://www.recshop.fake/cd/Empire Burlesque"> <cd:artist>Bob Dylan</cd:artist> <cd:country>USA</cd:country> <cd:company>Columbia</cd:company> <cd:price>10.90</cd:price> <cd:year>1985</cd:year> </rdf:Description> </rdf:RDF>

El documento est basado en XML, con su declaracin en la primera lnea. Tras ella, la raz del documento RDF <rdf:RDF>. Se especifican ah las URLs de los namespaces xmlns:rdf y xmlns:cd. El elemento <rdf:Description> contiene la descripcin del recurso identificado mediante el atributo rdf:about. Los elementos <cd:artist>, <cd:country>, <cd:company>, etc. son las propiedades del recurso.

Lenguajes de consulta
De modo similar al lenguaje SQL en las bases de datos, investigacin en los ltimos aos trata de desarrollar lenguajes de consulta para RDF, que permita ejecutar bsquedas complejas sobre un grafo RDF mediante una sintaxis sencilla. A falta de acuerdo sobre un lenguaje estndar comnmente aceptado, diferentes iniciativas particulares han surgido y prosperado, como puedan ser:

RDQL, por Hewlett Packard, posiblemente el ms extendido. RQL, por el instituto ICS-FORTH de Grecia. SeRQL, por la empresa holandesa Aidministrator. SPARQL.

SeRQL
SeRQL (Sesame RDF Query Language, pronunciado como "circle") es un lenguaje de recuperacin para RDF/RDFS desarrollado por Aduna como parte del software Sesame. Combina caractersticas de otros lenguajes (principalmente RQL, RDQL, N-Triples y N3) y aade otras propias. Se asocia al programa Sesame. Sesame es un framework para RDF de cdigo libre, con soporte para inferencias en RDF Schema y recuperacin mediante queries. Originalmente desarrollado por Aduna, ahora es mantenido en cooperacin con NLnet Foundation, y un grupo de desarrolladores voluntarios. El diseo de SeRQL tuvo el objetivo de unificar algunas de las ventajas que ofrecan otros lenguajes, como parte de un lenguaje de recuperacin ligero pero potente. Algunas de las caractersticas ms importantes de SeRQL para la recuperacin y organizacin de la informacin son:

Tranformacin de grafos. Soporte de RDF Schema. Soporte de los tipos de datos de XML Schema. Emparejado de caminos opcionales.

Sintaxis
La sintaxis de SeRQL es similar a la de RQL, aadiendo algunas modificaciones para facilitar el anlisis sintctico (parsing) del lenguaje. Como RQL, SeRQL se basa en una interpretacin formal del grafo de RDF, diferencindose de RQL en que se basa directamente en RDF Model Theory. SeRQL soporta expresiones generales de camino, restricciones booleanas y emparejado de caminos opcionales, como tambin dos iteradores bsicos:

select-from-where: Devuelve tablas con variables y valores para los cuales se ha conseguido un matching con los datos. construct-from-where: Devuelve un subgrafo de los datos con los que se ha conseguido un matching. Permiten el uso de queries compuestas.

Otros recursos

Manual de SeRQL Ejemplos de queries Artculo "SeRQL: A Second Generation RDF Query Language" Artculo "SeRQL: An RDF Query and Transformation Language"

Ejemplos de SeRQL
Para ejecutar las queries, necesitamos un conjunto de datos sobre el que recuperar la informacin. Para ello, tomemos por ejemplos el documento en RDF, que describe a una persona trabajando para una compaa: <?xml version=?1.0??> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foo="http://www.mycompany.smthg/company#"> <rdf:Description about="http://www.mycompany.smthg/company/Person"> <foo:worksFor> rdf:resource="http://www.mycompany.smthg/company/Company" </foo:worksFor> </rdf:Description> <rdf:Description about=?http://www.mycompany.smthg/company/Company?> <rdf:type>rdf:resource="http://www.mycompany.smthg/company/ CompanySchema#ITCompany"</rdf:type> </rdf:Description> </rdf:RDF> Supongamos que queremos recuperar de este grafo de RDF personas que trabajan para compaas de IT. Podemos entender este proceso como encontrar el siguiente patrn en los datos: {Person} ex:worksFor {Company} rdf:type {ex:ITCompany} En esta lnea, las partes rodeadas por llaves representan los nodos en el grafo de RDF, y los textos entre ellas representan los enlaces dentro del grafo. La direccin de los arcos (propiedades) en SeRQL es siempre de izquierda a derecha. Expresiones de camino mltiple pueden ser especificadas separndolas con comas. Por ejemplo, la expresin anterior puede expresarse con dos expresiones menores: {Person} ex:worksFor {Company}, {Company} rdf:type {ex:ITCompany} Los nodos y enlaces en las expresiones de camino pueden ser variables, URIs o literales. Tambin, un nodo puede dejarse vaco en caso de que su valor no interese al usuario. Algunos ejemplos seran: {Person} ex:worksFor {} rdf:type {ex:ITCompany} O en otros contextos: {Painting} ex:painted_by {} ex:name {"Picasso"} {comic:RoadRunner} SomeRelation {foo:WillyECoyote}

Queries

El lenguaje de recuperacin SeRQL soporta dos modos de query. El primero, ?select queries?, se caracteriza por devolver una tabla con un conjunto de uniones variablevalor. El segundo, ?construct queries?, devuelve un grafo de RDF, que puede ser un subgrafo del grafo completo de datos, u otro grafo con informacin derivada. Una consulta SeRQL usualmente se compone de una a seis palabras clave. Estas son:

SELECT o CONSTRUCT: determina qu se construye con los resultados encontrados. En SELECT, puede indicarse las variables para las que se quiere obtener en los resultados. En CONSTRUCT, pueden especificarse los tripletes a ser devueltos. FROM: Opcional. Contiene expresiones de camino. Define patrones de tripletes en un grafo de RDF que son relevantes para la consulta. WHERE: Opcional. Contiene restricciones booleanas para los valores obtenidos en los resultados, permitiendo establecer filtros en estos. LIMIT y OFFSET: Opcionales. Pueden usarse de forma separada o conjunta para conseguir un subconjunto de los resultados. LIMIT impone un nmero mximo de respuestas, y OFFSET determina qu resultado se devolver en primera posicin. USING NAMESPACE: Opcional. Puede contener declaraciones de namespace, y asociaciones de estos a prefijos para un uso ms cmodo.

Como ejemplo, pondremos la siguiente consulta SELECT: SELECT DISTINCT * FROM {Country1} ex:borders {} ex:borders {Country2} USING NAMESPACE ex = <http://example.org/things#> En la cual se indica que se obtengan todos los pases con frontera con Country1 y Country2, sin repetir elementos (DISTINCT). Un ejemplo de consulta CONSTRUCT: CONSTRUCT {Parent} ex:hasChild {Child} FROM {Child} ex:hasParent {Parent} USING NAMESPACE ex = <http://example.org/things#> Esta consulta define la inversa de la propiedad foo:hasParent como foo:hasChild. De este modo, se consigue un grafo con informacin no contenida en los datos originales, pero derivada de ellos.

SPARQL
SPARQL (pronunciado "sparkle") es un lenguaje de recuperacin basado en RDF; su nombre es un acrnimo recursivo del ingls SPARQL Protocol and RDF Query Language. Se trata de una recomendacin para crear un lenguaje de consulta dentro de la Web semntica que est ya implementada en muchos lenguajes y bases de datos. Desde 2005 est en proceso de estandarizacin por el RDF Data Access Working Group (DAWG) del W3C; en abril del 2006 se anunci el paso de su especificacin a Candidate Recomendation, aunque volvi al estado de Working Draft en octubre de 2006. Con SPARQL los desarrolladores y usuarios finales pueden representar y utilizar los resultados obtenidos en las bsquedas a travs de una gran variedad de informacin como son datos personales, redes sociales y metadatos sobre recursos digitales como msica e imgenes.

Especificacin
SPARQL consiste en tres especificaciones separadas, que contienen diferentes partes de su funcionalidad. En total, consiste en un lenguaje de query, un formato para las respuestas, y un medio para el transporte de consultas y respuestas:

SPARQL Query Language: Ncleo de SPARQL. Explica la sintaxis para la composicin de sentencias y su concordancia. SPARQL Protocol: Formato utilizado para la devolucin de los resultados de las bsquedas (queries SELECT o ASK), a partir de un esquema de XML. SPARQL Query XML Results Format: Describe el acceso remoto de datos y la transmisin de consultas de los clientes a los procesadores. Utiliza WSDL para definir protocolos remotos para la consulta de bases de datos basadas en RDF.

Otros recursos

Gua rpida de SPARQL

Ejemplos de uso de SPARQL


Para dar unos ejemplos del uso de SPARQL para las bsquedas sobre RDF, tomaremos un conjunto de datos inicial. Los datos elegidos son la descripcin en RDF de la tabla peridica. Un pequeo fragmento de esta descripcin puede verse ahora, con las propiedades asociadas al elemento "Sodio": <Element rdf:ID="Na" xmlns="http://www.daml.org/2003/01/periodictable/PeriodicTable#"> <name>sodium</name> <symbol>Na</symbol> <atomicNumber>11</atomicNumber> <atomicWeight>22.989770</atomicWeight> <group rdf:resource="#group_1"/> <period rdf:resource="#period_3"/> <block rdf:resource="#s-block"/> <standardState rdf:resource="#solid"/> <color>silvery white</color> <classification rdf:resource="#Metallic"/> <casRegistryID>7440-23-5</casRegistryID> </Element>

Tripletes en SPARQL
As como RDF se compone de tripletes, tambin lo hace SPARQL, consistentes en sujeto-predicado-objeto, y terminadas con un punto. Los tripletes en este lenguaje representarn patrones mediante los cuales se buscarn tripletes coincidentes en los datos. Un triplete para el ejemplo anterior expresado en SPARQL sera: <http://www.daml.org/2003/01/periodictable/PeriodicTable#Na> table:name "sodium". Las URIs se escriben dentro de smbolos < y >, y las cadenas entre comillas simples o dobles. Es importante la especificacin de los namespaces, sea mediante URIs o con la notacin namespace:elemento. SPARQL especifica una serie de abreviaciones para la fcil escritura de complejos tripletes. En el anterior patrn, todos los datos sobre el triplete buscado se dan, lo cual no es verdaderamente til pues slo nos permitira ver si ese triplete existe. Para buscar ms de un triplete en los datos es necesario el uso de variables. Tanto el sujeto, predicado y objeto de un triplete pueden ser sustituidos por variables. El siguiente ejemplo muestra variables en el sujeto y el objeto. ?element table:name ?name. Una variable puede asociarse a cualquier valor concreto. De este modo, el patrn anterior devolver todo recurso RDF con una propiedad name. En SPARQL todos las

posibles asociaciones se consideran, con lo que si un recurso tiene varias instancias de una propiedad, varios resultados sern devueltos para ese recurso.

Queries en SPARQL
Mostraremos un ejemplo ahora de query completa: PREFIX table: <http://www.daml.org/2003/01/periodictable/PeriodicTable#> SELECT ?name FROM <http://www.daml.org/2003/01/periodictable/PeriodicTable.owl> WHERE { ?element table:name ?name. } En la primera lnea encontramos la palabra clave PREFIX. Su funcin es equivalente a la declaracin de namespaces en XML: asocia una URI a una etiqueta, que se usar en adelante para describir el namespace. Pueden incluirse varias de estas etiquetas en una misma query. El comienzo de la query queda marcado por la palabra clave SELECT. Semejante a su uso en SQL, sirve para definir los datos que deben ser devueltos en la respuesta. En el ejemplo tan slo se devolver el nombre del elemento. La palabra clave FROM identifica los datos sobre los que se ejecutar la consulta. En este ejemplo, se limitar al RDF de la tabla peridica. Una consulta puede incluir varios FROM. La palabra clave WHERE indica el patrn sobre el que se filtrarn los tripletes del RDF. El patrn del ejemplo es el comentado en la seccin anterior. El resultado que se obtendr es una tabla como la siguiente: row name 1 2 3 sodium neon iron

SPARQL aporta otra serie de palabras clave que pueden ser utilizadas para refinar nuestras consultas. Consultas UNION pueden permitirnos combinar consultas alternativas. Tambin pueden ordenarse los resultados, limitarse mediante LIMIT, o conseguir desplazamientos mediante OFFSET.

También podría gustarte