Ejemplos de consultas SPARQL
Estos ejemplos de consultas se pueden ejecutar en el punto de acceso SPARQL. La BVMC dispone de un tutorial de introducción a SPARQL. Para crear una aplicación que reutilice el repositorio de datos abiertos es posible utilizar la siguiente dirección http://data.cervantesvirtual.com/bvmc-lod/repositories/data.
Obras del autor Miguel de Cervantes Saavedra
Esta sentencia SPARQL devuelve las obras del autor Miguel de Cervantes Saavedra. Los autores se identifican con una URL del tipo http://data.cervantesvirtual.com/person/identificador, en concreto al autor Miguel de Cervantes le corresponde la URL http://data.cervantesvirtual.com/person/40.
PREFIX rdac: <http://rdaregistry.info/Elements/c/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT ?rol ?m ?label WHERE { <http://data.cervantesvirtual.com/person/40> ?rol ?m . ?m a rdac:Manifestation . ?m rdfs:label ?label } LIMIT 10
Idiomas
Esta sentencia SPARQL devuelve los idiomas ordenados por el número de manifestaciones asociadas. En el modelo FRBR, las relaciones de idioma se establecen a nivel de expresión, pero también es posible incluir una propiedad dc:language en la manifestación para incluir el idioma. Los idiomas se han definido con el vocabulario MADS/RDF y los recursos idioma se han definido con el tipo madsrdf:Language
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX madsrdf: <http://www.loc.gov/mads/rdf/v1#> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?language (COUNT(?manifestation) AS ?no_manifestations) ?code WHERE { ?language rdf:type madsrdf:Language . ?language madsrdf:code ?code . ?manifestation dc:language ?language } GROUP BY ?language ?code ORDER BY DESC(?no_manifestations)
Fechas de publicación
Esta sentencia devuelve las fechas de publicación del repositorio. Las fechas se han definido utilizando la ontología OWL-Time. Este vocabulario permite definir las fechas con el time:Instant. La propiedad rdam:dateOfPublication se ha utilizado para establecer la relación con los recursos de tipo data.cervantesvirtual.com/date/xxxx que representan los años en el repositorio.
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX time: <http://www.w3.org/2006/time#> PREFIX rdam: <http://rdaregistry.info/Elements/m/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT ?lbl (COUNT(?manifestation) AS ?no_manifestations) WHERE { ?date rdf:type time:Instant . ?manifestation rdam:dateOfPublication ?date . ?date time:inDateTime ?description . ?description time:year ?lbl . } GROUP BY ?lbl ORDER BY DESC(?no_manifestations)
Ediciones y traducciones
El recurso http://data.cervantesvirtual.com/work/18605 corresponde a la obra El retablo de las maravillas que tiene asociadas diferentes ediciones a través de expresiones. La siguiente sentencia muestra las ediciones y traducciones de la obra El retablo de las maravillas disponibles en el catálogo.
PREFIX rdam: <http://rdaregistry.info/Elements/m/> SELECT ?m ?title WHERE { ?m rdam:workManifested <http://data.cervantesvirtual.com/work/18605> . ?m rdam:title ?title . }
Se obtienen como resultado las siguientes ediciones de la obra El retablo de las maravillas:
Publicaciones que son continuación de otras obras
En el catálogo existen obras que son continuación de otras y están marcadas con la propiedad rdau:continuedBy. La siguiente sentencia muestra las obras que son continuación de otras obras disponibles en el repositorio.
PREFIX rdau: <http://rdaregistry.info/Elements/u/> SELECT ?m WHERE { ?m rdau:continuedBy ?m2 }
Obras que son suplementos de otras obras
Esta sentencia lista los suplementos de obras en el catálogo a través de la propiedad rdau:supplementTo.
PREFIX rdau: <http://rdaregistry.info/Elements/u/> SELECT ?m WHERE { ?m rdau:supplementTo ?m2 }
Adaptaciones de obras
Esta sentencia lista las obras que son adaptaciones de otras en el catálogo a través de la propiedad rdau:adaptationOf.
PREFIX rdau: <http://rdaregistry.info/Elements/u/> SELECT ?m WHERE { ?m rdau:adaptationOf ?m2 }
Roles con manifestación
Esta sentencia lista los diferentes roles que existen entre autores y manifestaciones. Es posible cambiar rdac:Manifestation por rdac:Expression o rdac:Work para obtener los roles con las entidades expresión y obra.
PREFIX rdau: <http://rdaregistry.info/Elements/u/> PREFIX rdac: <http://rdaregistry.info/Elements/c/> SELECT distinct ?rol WHERE { ?author ?rol ?m . ?m a rdac:Manifestation . ?author a rdac:Person }
Algunos ejemplos de roles devueltos por la consulta son los siguientes:
Entidad corporativa
El modelo FRBR describe la entidad Agente como tres subtipos: Persona, Entidad corporativa y Familia. La sentencia siguiente permite obtener las entidades corporativas en el repositorio.
PREFIX rdac: <http://rdaregistry.info/Elements/c/> SELECT ?s WHERE { ?s a rdac:CorporateBody } LIMIT 10