Loading AI tools
lenguaje estandarizado para la consulta de grafos RDF De Wikipedia, la enciclopedia libre
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.
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 }
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")
}
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)
}
strdt("1234", "xsd:integer")="1234"^^<xsd:integer>
strlang("Universidad", "es")="Universidad"@"es"
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
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, se crea a su vez una entrada en DBpedia. A través de la interfaz pública Virtuoso 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.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.