Sei sulla pagina 1di 6

Recuperación y organización de la información a

través de RDF usando SPARQL


Edwin Valencia Castillo
Universidad Pontificia de Salamanca – Campus de Madrid
evalcas@gmail.com

Resumen. El presente trabajo busca definir y explicar como es el proceso de recuperación y


organización de la información a través de RDF (Resource Descripción Framework) usando
SPARQL (acrónimo recursivo del inglés SPARQL Protocol and RDF Query Language), en el marco
de desarrollo de la web semántica.
Keywords: Web semántica, RDF, SPARQL, OWL.

1. INTRODUCCIÓN
Actualmente Internet es considerada como la principal herramienta para la búsqueda de información tanto
en el ámbito empresarial como científico del mundo, utilizándose masivamente, pero cuyos resultados no
satisfacen las necesidades de los usuarios, debido a que los motores de búsqueda existentes en la web
actual como google o yahoo se caracterizan por su poca precisión en los resultados y la alta sensibilidad
al vocabulario empleado[1].

Para afrontar esta situación, la comunidad investigadora ha propuesto solucionar este problema a
través de la inclusión de un significado semántico (metadatos ) en los recursos web . A esta solución Tim
1 2

Berners-Lee, creador de la www, la ha denominado web semántica.

Para obtener una adecuada definición de datos, la web semántica propone la utilización de
estándares como RDF (Resource Descripción Framework) y OWL (Ontoloy Web Language), entre otros.
RDF permite proporcionar información descriptiva simple sobre los recursos web y OWL es un lenguaje
para definir ontologías que a su vez permitan definir los términos utilizados para describir y representar
un área especifica del conocimiento.

Actualmente RDF, es un estándar popular y de amplio uso en la comunidad web semántica,


desarrollándose en los últimos años diferentes iniciativas de lenguajes de consulta como el SPARQL, que
es una recomendación del W3C[2].

2. LA WEB SEMÁNTICA
El W3C define oficialmente a la web semántica como: “Una Web extendida, dotada de mayor significado
en la que cualquier usuario en Internet podrá encontrar respuestas a sus preguntas de forma más rápida y
sencilla gracias a una información mejor definida. Al dotar a la Web de más significado y, por lo tanto, de
más semántica, se pueden obtener soluciones a problemas habituales en la búsqueda de información.”

Otra definición encontrada en el W3C indica que la “The Semantic Web provides a common
framework that allows data to be shared and reused across application, enterprise, and community
boundaries (…). It is based on the Resource Description Framework (RDF)”[3].

Actualmente la web Semántica esta en proceso de desarrollo, y para alcanzarlo, Tim Berners-
Lee, ha propuesto un conjunto de capas sobre las cuales se debe sustentar dicho desarrollo. (Fig. 1).

1 Metadato: Son como etiquetas que describen el significado de cada uno de los datos.
2 Recurso web: paginas web, imágenes, videos, computadores, impresoras, etc.
Fig. 1: La Web semántica vista como un sistema de capas (fuente: Tim Berners-Lee.
http://www.w3.org/2000/Talks/1206-xml2k-tbl/slide11-0.html)

En cada una de estas capas se han definido o están en proceso de definición estándares, entre los
más importantes podemos citar a:
• XML: Que proporciona la base sintáctica para la estructuración de documentos, sin considerar
semántica.
• RDF: Modelo de datos para definir recursos y sus interrelaciones, estos se expresan mediante
XML.
• OWL: Que desarrolla ontologías asociados a los recursos.
• SPARQL: Protocolo y lenguaje de consulta propuesto como estándar por el W3C.

Asimismo, Ivan Herman [4], hace una especificación adicional sobre las capas de la web semántica,
mostrando a SPARQL como un componente importante dentro de la recuperación de información a través
de RDF (ver fig. 2).

Fig. 2: Introduction to the Semantic Web (fuente: Ivan Herman.


http://www.w3.org/2007/Talks/0423-Stavanger-IH/)

3. RDF (RESOURCE DESCRIPTION FRAMEWORK)


RDF (Plataforma para descripción de recursos) fue el primer estándar definido para la web semántica,
posibilitando la descripción de recursos web de manera que sean descifrables por las maquinas.

El W3C define RDF como: “una plataforma para representar la información en la web”[5].
RDF es un lenguaje que define un modelo de datos para describir recursos mediante tripletas sujeto-
predicado-objeto o también sujeto-propiedad-objeto[5](fig. 3).

Fig. 3: Modelo de datos grafico


(Fuente: http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-data-model )

El sujeto es el recurso, es decir, es lo que se está describiendo. El predicado es la propiedad o


relación que se desea establecer acerca del recurso. Por último, el objeto es el valor de la propiedad o el
otro recurso con el que se establece la relación.

La combinación de RDF con otras herramientas como RDF Schema y OWL permite añadir
significado a las páginas, y es una de las tecnologías esenciales de la Web semántica.

Hay que tener en cuenta que las URI3s juegan un papel importante ya que estas permiten enlazar los
recursos con otros a través de sus propiedades.

A continuación se muestra un ejemplo de RDF en modo grafico:

T i e e nt lí e t u l o
E sl i t i o W o r l d W i d e W e b
h t t wp : 3 / /c . o r g C o n s o r t i u m

Fig. 4: Ejemplo en modo grafico de un RDF

El mismo ejemplo en versión serializada, seria:

Tabla 1: Versión serializada de un RDF



<rdf:Description rdf:about=“http://w3.org/”>
<dc:title>World Wide Web Consortium</dc:title>
<rdf:Description>

Considerando que cada recurso tiene asociado un conjunto de metadatos (marcada con etiquetas
RDF/XML), entonces tendríamos una gran base de datos formado por ficheros RDF, viendo esta
situación, se hace necesaria una herramienta que nos permita realizar consultas a dicha base de datos, y
optimizar así las búsquedas de información, pero basada en metadatos. Ante esta necesidad el W3C ha
propuesto como iniciativa a SPARQL, como un lenguaje de consulta RDF.

3 Uniform Resource Identifier (URI) es un sistema de direccionamiento e identificación de recursos. El sistema que
usamos actualmente para acceder a los recursos de la Web (URL) es una parte de URI.
4. SPARQL (SPARQL PROTOCOL AND RDF QUERY LANGUAGE)
4.1. Definición
Es un lenguaje de consulta para RDF, y actualmente está siendo considerada como una recomendación
del W3C para crear un lenguaje de consulta dentro de la Web semántica que está ya implementada en
varios lenguajes y bases de datos. Desde 2005 está en proceso de estandarización por el RDF Data Access
Working Group (DAWG) del W3C; y en junio del 2007 se anunció el paso de su especificación a
Candidate Recomendation[2].

Actualmente RDF esta siendo usado para representar información personal, redes sociales, metadatos
de recursos web como video, sonido e imágenes, así como para proporcionar un medio de integración
entre fuentes de información heterogeneas, siendo su objetivo principal, facilitar la identificación entre
recursos web. Entonces con un lenguaje de consulta RDF, como SPARQL, los desarrolladores y usuarios
finales se encontrarán con una gran cantidad de información (recursos identificables) teniendo la facilidad
para representar y utilizar los resultados obtenidos de manera más eficiente, sustentándose así su utilidad
en la necesidad de recuperar y organizar la información de diferentes fuentes.

SPARQL tiene especificaciones que explican diferentes partes de su funcionalidad; en general,


consiste en un lenguaje de consulta, un formato para las respuestas, y un medio para el transporte de
consultas y respuestas:

• SPARQL Query Language[2]: Componente principal de SPARQL. Explica la sintaxis para la


composición de sentencias y su concordancia.
• SPARQL Protocol for RDF[6]: Formato utilizado para la devolución de los resultados de las
búsquedas (queries SELECT o ASK), a partir de un esquema XML.
• SPARQL Query Results XML Format[7]: Describe el acceso remoto de datos y la transmisión
de consultas de los clientes a los procesadores. Utiliza WSDL para definir protocolos remotos
para la consulta de bases de datos basadas en RDF.

4.2. Estructura de una consulta SPARQL


El lenguaje de consulta SPARQL[7] esta basado en comparación de patrones gráficos. Los patrones
gráficos contienen patrones triples. Los patrones triples son como las tripletas RDF, pero con la opción de
una variable consulta en lugar de un termino RDF en las posiciones del sujeto, predicado u objeto.
Combinando los patrones triples obtenemos un patrón grafico básico, donde es necesario una
comparación exacta entre gráficos.

La sintaxis básica de una consulta SPARQL [8] se muestra en la Tabla 2.

Tabla 2: Sintaxis básica de una consulta SPARQL


BASE <iri>
Prologue (optional)
PREFIX prefix: <iri> (repeatable)

SELECT (DISTINCT)sequence of ?variable


SELECT (DISTINCT)*
DESCRIBE sequence of ?variable or <iri>
Query Result forms (required, pick 1)
DESCRIBE *
CONSTRUCT { graph pattern }
ASK
Add triples to the background graph (repeatable):
FROM <iri>
Query Dataset Sources (optional)
Add a named graph (repeatable):
FROM NAMED <iri>
Graph Pattern (optional, required for ASK) WHERE { graph pattern z}
Query Results Ordering (optional) ORDER BY ...
Query Results Selection (optional) LIMIT n, OFFSET m
La función de la palabra clave PREFIX es equivalente a la declaración de namespaces en XML, es
decir asocia una URI a una etiqueta, que se usará mas adelante para describir el namespace. Pueden
incluirse varias de estas etiquetas en una misma consulta.

Todo comienzo de una consulta SPARQL queda marcada por la palabra clave SELECT, similar a su
uso en SQL , sirve para definir los datos que deben ser devueltos en la respuesta. La palabra clave FROM
4

identifica los datos sobre los que se ejecutará la consulta, es necesario indicar que una consulta puede
incluir varios FROM. La palabra clave WHERE indica el patrón sobre el que se filtrarán los tripletes del
RDF.

4.3. Ejemplo de una consulta SPARQL


El ejemplo [2] mostrado a continuación ha sido tomado de W3C, y se trata de encontrar el titulo de un
libro de un grafico de datos dado. La consulta consiste de dos partes:

• La cláusula SELECT que identifica las variables que aparecen en los resultados de la consulta y
• La clausura WHERE que proporciona el patrón grafico básico a comparar con el grafico de
datos.

El patrón grafico básico en este ejemplo consiste de un simple patrón triple con una simple variable
(¿title) en la posición del objeto.

Datos:
<http://example.org/book/book1> <http://purl.org/dc/elements/1.1/title>
"SPARQL Tutorial".
Consulta:

SELECT ?title
WHERE
{
<http://example.org/book/book1> <http://purl.org/dc/elements/1.1/title> ?
title.
}
Resultado de la consulta:

title
"SPARQL Tutorial"

CONCLUSIONES

RDF y SPARQL esta siendo utilizado masivamente para el acceso a la información, diariamente
encontramos aplicaciones que usan gráficos RDF como FOAF y RSS , y que son accesados a través de
5 6

consultas SPARQL en una variedad de plataformas y lenguajes, como Jena Semantic Web Toolkit o
Protégé , entre otros; notándose la importancia que esta tomando la web semántica hoy en día.
7

Se avizora la aplicación de la tecnología semántica a otras áreas como las bases de datos, la ingeniería del
software, la gestión del conocimiento, entre otras, por lo que se hace necesario la investigación en este
tema, que sin lugar a dudas esta cambiando la forma de interactuar entre seres humanos y lo cambiará en
el futuro.

4 SQL: Structured Query Language


5 FOAF: Friend of a Friend, permite describir paginas de personas, enlaces entre ellos y cosas que ello crean o
hacen mediante XML y RDF y que puedan ser procesadas fácilmente por las maquinas.
6 RSS: Es parte de la familia de los formatos XML desarrollado específicamente para todo tipo de sitios que se
actualicen con frecuencia y por medio del cual se puede compartir la información y usarla en otros sitios web o
programas. A esto se le conoce como redifusión o Sindicación web. http://es.wikipedia.org/wiki/RSS
7 Herramientas adicionales se pueden encontrar en: http://www.mkbergman.com//?p=287
BIBLIOGRAFÍA

Potrebbero piacerti anche