You are on page 1of 6

Recuperacin y organizacin de la informacin a

travs de RDF usando SPARQL



Edwin Valencia Castillo
Universidad Pontificia de Salamanca Campus de Madrid

Resumen. El presente trabajo busca definir y explicar como es el proceso de recuperacin y
organizacin de la informacin a travs de RDF (Resource Descripcin Framework) usando
SPARQL (acrnimo recursivo del ingls SPARQL Protocol and RDF Query Language), en el marco
de desarrollo de la web semntica.
Keywords: Web semntica, RDF, SPARQL, OWL.

1. INTRODUCCIN
Actualmente Internet es considerada como la principal herramienta para la bsqueda de informacin tanto
en el mbito empresarial como cientfico del mundo, utilizndose masivamente, pero cuyos resultados no
satisfacen las necesidades de los usuarios, debido a que los motores de bsqueda existentes en la web
actual como google o yahoo se caracterizan por su poca precisin en los resultados y la alta sensibilidad
al vocabulario empleado[1].

Para afrontar esta situacin, la comunidad investigadora ha propuesto solucionar este problema a travs
de la inclusin de un significado semntico (metadatos
1
) en los recursos web
2
. A esta solucin Tim
Berners-Lee, creador de la www, la ha denominado web semntica.

Para obtener una adecuada definicin de datos, la web semntica propone la utilizacin de estndares
como RDF (Resource Descripcin Framework) y OWL (Ontoloy Web Language), entre otros. RDF
permite proporcionar informacin descriptiva simple sobre los recursos web y OWL es un lenguaje para
definir ontologas que a su vez permitan definir los trminos utilizados para describir y representar un
rea especifica del conocimiento.

Actualmente RDF, es un estndar popular y de amplio uso en la comunidad web semntica,
desarrollndose en los ltimos aos diferentes iniciativas de lenguajes de consulta como el SPARQL, que
es una recomendacin del W3C[2].

2. LA WEB SEMNTICA
El W3C define oficialmente a la web semntica como: Una Web extendida, dotada de mayor significado
en la que cualquier usuario en Internet podr encontrar respuestas a sus preguntas de forma ms rpida y
sencilla gracias a una informacin mejor definida. Al dotar a la Web de ms significado y, por lo tanto, de
ms semntica, se pueden obtener soluciones a problemas habituales en la bsqueda de informacin.

Otra definicin 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 Semntica 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, imgenes, videos, computadores, impresoras, etc.

Fig. 1: La Web semntica 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 estn en proceso de definicin estndares, entre los ms
importantes podemos citar a:
XML: Que proporciona la base sintctica para la estructuracin de documentos, sin considerar
semntica.
RDF: Modelo de datos para definir recursos y sus interrelaciones, estos se expresan mediante
XML.
OWL: Que desarrolla ontologas asociados a los recursos.
SPARQL: Protocolo y lenguaje de consulta propuesto como estndar por el W3C.
Asimismo, Ivan Herman [4], hace una especificacin adicional sobre las capas de la web semntica,
mostrando a SPARQL como un componente importante dentro de la recuperacin de informacin a travs
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 descripcin de recursos) fue el primer estndar definido para la web semntica,
posibilitando la descripcin de recursos web de manera que sean descifrables por las maquinas.
El W3C define RDF como: una plataforma para representar la informacin en la web[5].
RDF es un lenguaje que define un modelo de datos para describir recursos mediante tripletas sujeto-
predicado-objeto o tambin 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
relacin 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 relacin.
La combinacin de RDF con otras herramientas como RDF Schema y OWL permite aadir
significado a las pginas, y es una de las tecnologas esenciales de la Web semntica.
Hay que tener en cuenta que las URI
3
s juegan un papel importante ya que estas permiten enlazar los
recursos con otros a travs de sus propiedades.
A continuacin se muestra un ejemplo de RDF en modo grafico:

Fig. 4: Ejemplo en modo grafico de un RDF
El mismo ejemplo en versin serializada, seria:






Considerando que cada recurso tiene asociado un conjunto de metadatos (marcada con etiquetas
RDF/XML), entonces tendramos una gran base de datos formado por ficheros RDF, viendo esta
situacin, se hace necesaria una herramienta que nos permita realizar consultas a dicha base de datos, y
optimizar as las bsquedas de informacin, 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 identificacin de recursos. El sistema que
usamos actualmente para acceder a los recursos de la Web (URL) es una parte de URI.
El sitio
http://w3c.org
World Wide Web
Consortium
Tiene el ttulo
Tabla 1: Versin serializada de un RDF

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

4. SPARQL (SPARQL PROTOCOL AND RDF QUERY LANGUAGE)
4.1. Definicin
Es un lenguaje de consulta para RDF, y actualmente est siendo considerada como una recomendacin
del W3C para crear un lenguaje de consulta dentro de la Web semntica que est ya implementada en
varios lenguajes y bases de datos. Desde 2005 est en proceso de estandarizacin por el RDF Data Access
Working Group (DAWG) del W3C; y en junio del 2007 se anunci el paso de su especificacin a
Candidate Recomendation[2].
Actualmente RDF esta siendo usado para representar informacin personal, redes sociales, metadatos
de recursos web como video, sonido e imgenes, as como para proporcionar un medio de integracin
entre fuentes de informacin heterogeneas, siendo su objetivo principal, facilitar la identificacin entre
recursos web. Entonces con un lenguaje de consulta RDF, como SPARQL, los desarrolladores y usuarios
finales se encontrarn con una gran cantidad de informacin (recursos identificables) teniendo la facilidad
para representar y utilizar los resultados obtenidos de manera ms eficiente, sustentndose as su utilidad
en la necesidad de recuperar y organizar la informacin 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
composicin de sentencias y su concordancia.
SPARQL Protocol for RDF[6]: Formato utilizado para la devolucin de los resultados de las
bsquedas (queries SELECT o ASK), a partir de un esquema XML.
SPARQL Query Results XML Format[7]: 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.
4.2. Estructura de una consulta SPARQL
El lenguaje de consulta SPARQL[7] esta basado en comparacin de patrones grficos. Los patrones
grficos contienen patrones triples. Los patrones triples son como las tripletas RDF, pero con la opcin de
una variable consulta en lugar de un termino RDF en las posiciones del sujeto, predicado u objeto.
Combinando los patrones triples obtenemos un patrn grafico bsico, donde es necesario una
comparacin exacta entre grficos.
La sintaxis bsica de una consulta SPARQL [8] se muestra en la Tabla 2.
Tabla 2: Sintaxis bsica de una consulta SPARQL
Prologue (optional)
BASE <iri>
PREFIX prefix: <iri>(repeatable)
Query Result forms (required, pick 1)
SELECT (DISTINCT)sequence of ?variable
SELECT (DISTINCT)*
DESCRIBE sequence of ?variable or <iri>
DESCRIBE *
CONSTRUCT { graph pattern }
ASK
Query Dataset Sources (optional)
Add triples to the background graph (repeatable):
FROM <iri>
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 funcin de la palabra clave PREFIX es equivalente a la declaracin 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
4
, sirve para definir los datos que deben ser devueltos en la respuesta. La palabra clave FROM
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 patrn sobre el que se filtrarn los tripletes del
RDF.
4.3. Ejemplo de una consulta SPARQL
El ejemplo [2] mostrado a continuacin 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 clusula SELECT que identifica las variables que aparecen en los resultados de la consulta y
La clausura WHERE que proporciona el patrn grafico bsico a comparar con el grafico de
datos.

El patrn grafico bsico en este ejemplo consiste de un simple patrn triple con una simple variable
(title) en la posicin del objeto.

Datos:
<ht t p: / / exampl e. or g/ book/ book1> <ht t p: / / pur l . or g/ dc/ el ement s/ 1. 1/ t i t l e>
" SPARQL Tut or i al " .
Consulta:

SELECT ?t i t l e
WHERE
{
<ht t p: / / exampl e. or g/ book/ book1> <ht t p: / / pur l . or g/ dc/ el ement s/ 1. 1/ t i t l e>
?t i t l e.
}
Resultado de la consulta:

t i t l e
" SPARQL Tut or i al "


CONCLUSIONES

RDF y SPARQL esta siendo utilizado masivamente para el acceso a la informacin, diariamente
encontramos aplicaciones que usan grficos RDF como FOAF
5
y RSS
6
, y que son accesados a travs de
consultas SPARQL en una variedad de plataformas y lenguajes, como J ena Semantic Web Toolkit o
Protg
7
, entre otros; notndose la importancia que esta tomando la web semntica hoy en da.
Se avizora la aplicacin de la tecnologa semntica a otras reas como las bases de datos, la ingeniera del
software, la gestin del conocimiento, entre otras, por lo que se hace necesario la investigacin 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 fcilmente por las maquinas.
6
RSS: Es parte de la familia de los formatos XML desarrollado especficamente para todo tipo de sitios que se
actualicen con frecuencia y por medio del cual se puede compartir la informacin y usarla en otros sitios web o
programas. A esto se le conoce como redifusin o Sindicacin web. http://es.wikipedia.org/wiki/RSS
7
Herramientas adicionales se pueden encontrar en: http://www.mkbergman.com//?p=287
BIBLIOGRAFA

[1] M. A. Abian, El futuro de la web: XML, RDF/RDFS, ontologias y la web semantica, 2005.
[2] W3C World Wide Web Consortium. (2007). "SPARQL Query Language for RDF." Retrieved
10/08/2007, from http://www.w3.org/TR/rdf-sparql-query/#basicpatterns.
[3] W3C World Wide Web Consortium. (2007). "Semantic Web." Retrieved 10/08/2007, from
http://www.w3.org/2001/sw/.
[4] I. Herman. (2007). "Introduction to the Semantic Web." Retrieved 10/08/2007, from
http://www.w3.org/2007/Talks/0423-Stavanger-IH/.
[5] W3C World Wide Web Consortium. (2004). "Resource Description Framework (RDF):
Concepts and Abstract Syntax." Retrieved 10/08/2007, from http://www.w3.org/TR/rdf-
concepts/#section-Introduction.
[6] W3C World Wide Web Consortium. (2007). "SPARQL Protocol for RDF." Retrieved
10/08/2007, from http://www.w3.org/TR/rdf-sparql-protocol/.
[7] W3C World Wide Web Consortium. (2007). "SPARQL Query Results XML Format."
Retrieved 10/08/2007, from http://www.w3.org/TR/rdf-sparql-XMLres/.
[8] D. Beckett, "SPARQL RDF Query Language Reference v1.8," 2006.