fbpx
Wikipedia

SPARQL

SPARQL es un acrónimo recursivo del inglés SPARQL Protocol and RDF Query Language. Se trata de un lenguaje estandarizado para la consulta de grafos RDF, normalizado por el RDF Data Access Working Group (DAWG) del World Wide Web Consortium (W3C). Es una tecnología clave en el desarrollo de la web semántica que se constituyó como recomendación oficial del W3C el 15 de enero de 2008, siendo actualizado a la versión 1.1 en 2013.[1]

Al igual que sucede con SQL, es necesario distinguir entre el lenguaje de consulta y el motor para el almacenamiento y recuperación de los datos. Por este motivo, existen múltiples implementaciones de SPARQL, generalmente ligados a entornos de desarrollo y plataforma tecnológicas.

En un principio SPARQL únicamente incorpora funciones para la recuperación sentencias RDF. Sin embargo, algunas propuestas también incluyen operaciones para el mantenimiento (creación, modificación y borrado) de datos.

Ejemplo 1

Por ejemplo, si queremos obtener un listado de nombres de libros podemos ejecutar la siguiente consulta:

PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?title WHERE { <http://ejemplo.org/libros> dc:title ?title } 

Ejemplo 2

SPARQL permite el acceso a información disponible en la web a través de diversas plataformas como es el caso de DBpedia que provee de acceso a toda la información de Wikipedia.

En el ejemplo de abajo podemos ver cómo llevar a cabo una consulta que nos muestre un listado de músicos españoles junto con su nombre, su fecha de nacimiento y de fallecimiento.

 PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX dbp: <http://dbpedia.org/ontology/> SELECT ?musico ?nombreMusico ?fechaNacimiento ?fechaFallecimiento WHERE { ?musico dcterms:subject <http://dbpedia.org/resource/Category:Spanish_musicians>; rdfs:label ?nombreMusico ; dbp:birthDate ?fechaNacimiento ; dbp:deathDate ?fechaFallecimiento . FILTER (LANG(?nombreMusico) = "es") } 

Ejemplo 3

En el ejemplo2 hemos visto el uso de FILTER que nos permite eliminar resultados de nuestra búsqueda. FILTER admite tipos de datos de tipo Bool, Int, Float, dataTime, etc. y frecuentemente usa operadores del tipo >, <, >=, <=, =, !=, ||, &&:

 PREFIX ex: <http://example.org#> SELECT ?nom ?ed WHERE{ ?x ex:nombre ?nom . ?x ex:edad ?ed FILTER (?ed<40 || ?ed >18) } 

Conversión y creación de tipos de datos

str(arg)
conversión a una cadena de caracteres. Por ejemplo las url que utilicemos deben ser convertidas a una cadena de caracteres para poder ser tratadas como tales.
lang(arg)
nos devuelve el idioma del argumento que se le pasa ("en", "es", "fr", etc.).
datatype(arg)
tipo de datos (integer, float, etc.).
uri(arg), iri(arg) conversión del argumento en un dato tipo URI/IRI
bnode(arg)
nodo anónimo
strdt (literal, tipo)
genera literal con un tipo de datos.
strdt("1234", "xsd:integer")="1234"^^<xsd:integer> 
strlang(literal, tipo)
genera literal con un idioma dado.
strlang("Universidad", "es")="Universidad"@"es" 

Funciones de comprobación de tipos de dato

  • isNumeric(arg) = true si es un número.
  • isBlank(arg)= true si es un nodo anónimo.
  • isLiteral(arg) = true si es un literal.
  • isIRI(arg) = true si es una IRI.

Funciones condicionales

  • bound(arg) = true si tiene un valor.
  • exists(patrón) = true si cumple un patrón.
  • not exists(patrón) = true si no se cumple el patrón.
  • if(cond, expr1, expr2) = si se cumple la condición devuelve expr1, si no, devuelve expr2.
  • coalesce (expresion1, expresion2, ...) = devuelve la primera expresión que se evalúa sin error.

Modificadores de las consultas

ORDER BY
Los ordena sobre la base de algún criterio.
DISTINCT
Soluciones únicas.
REDUCED
Elimina algunos, todos o ningún duplicado.
LIMIT
Restricción del número de resultados.
OFFSET
Control del punto de inicio de las soluciones en la secuencia global de soluciones.
 PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT DISTINCT?name WHERE f ?x foaf:name ?name.g ORDER BY ?name LIMIT 3 OFFSET 1 

Interfaces públicas SPARQL (DBpedia)

Usando DBpedia podemos crear metadatos RDF y URIs. DBpedia transforma en RDF tripletas (Sujeto, Predicado, Objeto) que han sido introducidas en Wikipedia. La creación de una página en Wikipedia provoca, por tanto, la creación de información RDF en DBpedia. Es decir, cuando se crea un contenido en Wikipedia del tipo https://web.archive.org/web/20140111131805/http://es.wikipedia.org/wiki/Starcraft se crea a su vez una entrada en http://www.dbpedia.org/resource/starcraft (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). . A través de la interfaz pública SPARQL Query Editor podemos llevar a cabo consultas en la base de datos de DBpedia. Las consultas SPARQL serán traducidas a SQL de forma transparente al usuario. Ejemplos de consultas.

Véase también

Referencias

  1. «SPARQL Query Language for RDF». www.w3.org. Consultado el 14 de julio de 2019. 

Enlaces externos

  • SPARQL, lenguaje de consulta en RDF (en castellano)
  • Grupo de trabajo del W3C para el acceso a datos (DAWG) (en inglés)
  • Lenguaje de consulta RDF (en inglés)
  • Lenguajes de recuperación: SeRQL y SPARQL
  • Ejemplos de consultas SPARQL (en castellano)
  •   Datos: Q54871
  •   Multimedia: SPARQL / Q54871
  •   Libros y manuales: SPARQL

sparql, acrónimo, recursivo, inglés, protocol, query, language, trata, lenguaje, estandarizado, para, consulta, grafos, normalizado, data, access, working, group, dawg, world, wide, consortium, tecnología, clave, desarrollo, semántica, constituyó, como, recome. SPARQL es un acronimo recursivo del ingles SPARQL Protocol and RDF Query Language Se trata de un lenguaje estandarizado para la consulta de grafos RDF normalizado por el RDF Data Access Working Group DAWG del World Wide Web Consortium W3C Es una tecnologia clave en el desarrollo de la web semantica que se constituyo como recomendacion oficial del W3C el 15 de enero de 2008 siendo actualizado a la version 1 1 en 2013 1 Al igual que sucede con SQL es necesario distinguir entre el lenguaje de consulta y el motor para el almacenamiento y recuperacion de los datos Por este motivo existen multiples implementaciones de SPARQL generalmente ligados a entornos de desarrollo y plataforma tecnologicas En un principio SPARQL unicamente incorpora funciones para la recuperacion sentencias RDF Sin embargo algunas propuestas tambien incluyen operaciones para el mantenimiento creacion modificacion y borrado de datos Indice 1 Ejemplo 1 2 Ejemplo 2 3 Ejemplo 3 4 Conversion y creacion de tipos de datos 5 Funciones de comprobacion de tipos de dato 6 Funciones condicionales 7 Modificadores de las consultas 8 Interfaces publicas SPARQL DBpedia 9 Vease tambien 10 Referencias 11 Enlaces externosEjemplo 1 EditarPor ejemplo si queremos obtener un listado de nombres de libros podemos ejecutar la siguiente consulta PREFIX dc lt http purl org dc elements 1 1 gt SELECT title WHERE lt http ejemplo org libros gt dc title title Ejemplo 2 EditarSPARQL permite el acceso a informacion disponible en la web a traves de diversas plataformas como es el caso de DBpedia que provee de acceso a toda la informacion de Wikipedia En el ejemplo de abajo podemos ver como llevar a cabo una consulta que nos muestre un listado de musicos espanoles junto con su nombre su fecha de nacimiento y de fallecimiento PREFIX dcterms lt http purl org dc terms gt PREFIX rdfs lt http www w3 org 2000 01 rdf schema gt PREFIX dbp lt http dbpedia org ontology gt SELECT musico nombreMusico fechaNacimiento fechaFallecimiento WHERE musico dcterms subject lt http dbpedia org resource Category Spanish musicians gt rdfs label nombreMusico dbp birthDate fechaNacimiento dbp deathDate fechaFallecimiento FILTER LANG nombreMusico es Ejemplo 3 EditarEn el ejemplo2 hemos visto el uso de FILTER que nos permite eliminar resultados de nuestra busqueda FILTER admite tipos de datos de tipo Bool Int Float dataTime etc y frecuentemente usa operadores del tipo gt lt gt lt amp amp PREFIX ex lt http example org gt SELECT nom ed WHERE x ex nombre nom x ex edad ed FILTER ed lt 40 ed gt 18 Conversion y creacion de tipos de datos Editarstr arg conversion a una cadena de caracteres Por ejemplo las url que utilicemos deben ser convertidas a una cadena de caracteres para poder ser tratadas como tales lang arg nos devuelve el idioma del argumento que se le pasa en es fr etc datatype arg tipo de datos integer float etc uri arg iri arg conversion del argumento en un dato tipo URI IRI bnode arg nodo anonimo strdt literal tipo genera literal con un tipo de datos strdt 1234 xsd integer 1234 lt xsd integer gt strlang literal tipo genera literal con un idioma dado strlang Universidad es Universidad es Funciones de comprobacion de tipos de dato EditarisNumeric arg true si es un numero isBlank arg true si es un nodo anonimo isLiteral arg true si es un literal isIRI arg true si es una IRI Funciones condicionales Editarbound arg true si tiene un valor exists patron true si cumple un patron not exists patron true si no se cumple el patron if cond expr1 expr2 si se cumple la condicion devuelve expr1 si no devuelve expr2 coalesce expresion1 expresion2 devuelve la primera expresion que se evalua sin error Modificadores de las consultas EditarORDER BY Los ordena sobre la base de algun criterio DISTINCT Soluciones unicas REDUCED Elimina algunos todos o ningun duplicado LIMIT Restriccion del numero de resultados OFFSET Control del punto de inicio de las soluciones en la secuencia global de soluciones PREFIX foaf lt http xmlns com foaf 0 1 gt SELECT DISTINCT name WHERE f x foaf name name g ORDER BY name LIMIT 3 OFFSET 1Interfaces publicas SPARQL DBpedia EditarUsando DBpedia podemos crear metadatos RDF y URIs DBpedia transforma en RDF tripletas Sujeto Predicado Objeto que han sido introducidas en Wikipedia La creacion de una pagina en Wikipedia provoca por tanto la creacion de informacion RDF en DBpedia Es decir cuando se crea un contenido en Wikipedia del tipo https web archive org web 20140111131805 http es wikipedia org wiki Starcraft se crea a su vez una entrada en http www dbpedia org resource starcraft enlace roto disponible en Internet Archive vease el historial la primera version y la ultima A traves de la interfaz publica Virtuoso SPARQL Query Editor podemos llevar a cabo consultas en la base de datos de DBpedia Las consultas SPARQL seran traducidas a SQL de forma transparente al usuario Ejemplos de consultas Vease tambien EditarRDF Web Semantica OWLReferencias Editar SPARQL Query Language for RDF www w3 org Consultado el 14 de julio de 2019 Enlaces externos EditarSPARQL lenguaje de consulta en RDF en castellano Grupo de trabajo del W3C para el acceso a datos DAWG en ingles Lenguaje de consulta RDF en ingles Lenguajes de recuperacion SeRQL y SPARQL Ejemplos de consultas SPARQL en castellano Datos Q54871 Multimedia SPARQL Q54871 Libros y manuales SPARQL Obtenido de https es wikipedia org w index php title SPARQL amp oldid 145828795, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos