Blog

Wikimedia_Foundation_RGB_logo_with_text.svg

¿Cuáles son las diferencias entre Wikipedia, Wikimedia y Wikidata?

Wikipedia-es-logo-black-on-white

Seguramente habéis consultado más de una vez información de la Wikipedia. En general, la mayoría de los usuarios de Internet conoce este ambicioso proyecto enfocado al conocimiento libre y público. La Wikipedia se financia únicamente con donaciones y si has entrado recientemente te habrás dado cuenta que muestran un pequeño formulario desde el cual puedes realizar pequeñas donaciones. Wikipedia no solo permite consultar, también permite a cualquier usuario crear nuevas entradas y modificar las existentes. Sin embargo, si añades información incorrecta, uno de los miles de revisores te enviará una notificación y revertirá los cambios.

Hoy en día, si tu página web aparece en la Wikipedia significa que tienes una fuente infinita de visitas y para el posicionamiento en buscadores o SEO (Search Engine Optimization) es muy importante. La Biblioteca Virtual Miguel de Cervantes es muy afortunada en este aspecto puesto que desde el inicio cuenta con numerosos enlaces que han sido añadidos por miles de usuarios y han ayudado a que nuestro proyecto reciba muchas visitas desde Wikipedia.

Llegados a este punto, ¿qué es Wikimedia? Es una fundación sin ánimo de lucro que incluye los proyectos Wikipedia, Wikcionario, Wikiquote, Wikilibros, Wikisource, Wikimedia Commons, Wikiespecies, Wikinoticias, Wikiversidad y, el más reciente, Wikidata. Os adjunto un enlace con más información que podéis consultar para conocer a fondo la Fundación Wikimedia. En particular, Wikimedia España se aloja en Valladolid, en la Agencia de Innovación y Desarrollo del Ayuntamiento, en Parque Alameda.

Wikidata logo

Recientemente la Fundación Wikimedia creó el proyecto Wikidata que es actualmente, desde nuestro punto de vista, uno de los proyectos más ambiciosos e innovadores que podemos encontrar en el mundo de los datos abiertos. Wikidata es un repositorio que almacena información estructurada y es alimentadada de forma colaborativa por usuarios y por los llamados bots o robots. La Biblioteca Virtual Miguel de Cervantes está desarrollando un papel importante en este proyecto proporcionando su repositorio semántico con miles de autores y obras. Wikidata permite realizar consultas federadas desde su punto de acceso SPARQL hacia nuestro respositorio, lo que nos da mucha fuerza para continuar con nuestros desarrollos en el mundo de los datos abiertos. Os adjunto una entrada donde se explica más en detalle este proyecto.

¡Espero que os haya gustado y ya no tengáis problemas a la hora de diferenciar cada uno de los proyectos y os animo a participar en la Wikipedia y Wikidata para ampliar el conocimiento de forma colaborativa!

 

corenlp-stanford

¿Conoces la librería CoreNLP de Stanford de procesamiento de lenguaje natural?

Desde hace unos años Stanford ha liderado el procesamiento del lenguaje natural. La BVMC se ha interesado desde siempre por esta librería y la ha puesto en práctica, por ejemplo, en el analizador sintáctico. Sin embargo, deseábamos adentrarnos un poco más en su funcionamiento y ha llegado el momento 🙂

La aplicación geosearch que algunos de vosotros conoceréis incluye enlaces a Geonames que se crearon de forma automática y la investigación fue presentada en el congreso DATeCH 2017. La desambiguación de lugares como Guadalajara en México y en España o Córdoba en Argentina y España es un claro ejemplo del procesamiento del lenguaje natural. En la investigación presentada en el congreso no se tuvo en cuenta la desambiguación y se solucionó de forma manual para no retrasarnos en la entrega del artículo. Sin embargo, ahora es el momento de detectar esas localizaciones y analizarlas más profundamente para comprobar si realmente podemos realizar una aplicación automática que funcione en un rango aceptable de acierto.

En primer lugar,  CoreNLP permite detectar localizaciones en la mención de la publicación original de nuestras obras, por ejemplo:

Madrid, por Iuan de la Cuesta, 1605

El apartado que nos interesa es el reconocedor de entidades de CoreNLP y aquí os dejo la documentación en inglés. Al empezar a revisar la documentación no encontré demasiada información al respecto y por eso hemos decidido crear este pequeño manual. En primer lugar, nos creamos un proyecto Java Maven en nuestro caso e incorporamos al fichero pom.xml las librerías correspondientes en su última versión, junto con los modelos en español:

<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-corenlp</artifactId>
<version>3.8.0</version>
</dependency>

<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-corenlp</artifactId>
<version>3.8.0</version>
<classifier>models-spanish</classifier>
</dependency>

CoreNLP nos permite configurar el idioma con el que vamos a trabajar y lo podemos configurar de la siguiente forma:

Properties props = new Properties();
props.put("annotators", "tokenize, ssplit, pos, lemma, ner");

props.setProperty("tokenize.language", "es");
props.setProperty("pos.model", "edu/stanford/nlp/models/pos-tagger/spanish/spanish-distsim.tagger");
props.setProperty("ner.model", "edu/stanford/nlp/models/ner/spanish.ancora.distsim.s512.crf.ser.gz");

StanfordCoreNLP pipeline = new StanfordCoreNLP(props);

Por defecto, CoreNLP utiliza el modelo de reconocimiento de entidades del corpus Ancora para el idioma español. Sin embargo, al hacer pruebas probablemente no obtendréis los resultados esperados porque el corpus no contempla todos los casos para vuestro contexto. Por ello, CoreNLP permite crear nuevos modelos de una forma flexible y sencilla para que puedan ser entrenados con contenido propio.

En primer lugar, debemos filtrar la información con la que queremos trabajar. En nuestro caso, utilizaremos la información en el campo lugar publicación original que podemos recoger desde nuestro punto de acceso SPARQL con el endpoint de geosearch:

SELECT DISTINCT ?p
WHERE { ?s &lt;http://data.cervantesvirtual.com/publicationStatement/#hasDescription&gt; ?p}

Obtendremos como resultado un fichero descriptions-ps-bvmc.txt con sentencias del tipo:

...
Palma de Mallorca, Hijas de Colomar, 1901
Palma de Mallorca, Hijas de Colomar, 1901
Palma de Mallorca, Hijas de Colomar, 1901
París, Librería Garnier Hermanos, 1883.
Leipzig, Romanische Studien, 1895.
Barcelona, Llibreria Millà, 1933.
Barcelona, Imprempta de Salvador Bonavía, 1908..
Barcelona, Biblioteca deLo Teatro Regional", 1898.
Barcelona, Llibrería D' Eudalt Puig, 1885.
Barcelona, Impremta de Salvador Bonavía, 1907.
México, Henrico Martínez, 1606
Barcelona, Impremta de Salvador Bonavía, 1911.
Barcelona, Antoni López ; Llibrería Espanyola, ca. 1864-1866.
Barcelona, Llibreria Espanyola de López, ca.1890.
Barcelona, Llibreria Espanyola de López, [ca. 1890].
Barcelona, Impremta de Salvador Bonavía, 1908.
...

CoreNLP además de facilitar el reconocimiento de entidades, también provee muchas más funcionalidades que nos pueden ayudar en nuestro trabajo como por ejemplo el tokenizador. Trabajar con las frases directamente es extremadamente complicado, y por ello la primera operación que debemos realizar es la tokenización y anotado de cada uno de los tokens. En primer lugar, descargamos la librería a nuestro ordenador. La descomprimimos y accedemos por consola a la ruta donde lo hemos descomprimido. A continuación, debemos tokenizar (convertir a tokens) cada una de las sentencias recogidas en el fichero descriptions-ps-bvmc.txt con el siguiente comando:

java -cp stanford-ner.jar edu.stanford.nlp.process.PTBTokenizer descriptions-ps-bvmc.txt > descriptions-ps-bvmc.tok

CoreNLP nos permite marcar cada uno de los tokens con unos valores predefinidos PERS (persona), LOC (Lugar), ORG (Organización) y O (Otro). A continuación marcamos cada uno los tokens con estos valores. Este proceso puede llevar mucho tiempo, pero para que CoreNLP funcione correctamente debemos proporcionarle una cantidad suficiente de tokens anotados. Os podéis ayudar de cualquier editor de texto y de las funciones buscar y reemplazar para trabajar más rápido. Los tokens y los valores predefinidos deben estar separados por un tabulador, en caso contrario CoreNLP no funcionará correctamente. El resultado lo almacenamos en un nuevo fichero con el nombre descriptions-ps-bvmc.tsv dentro de la carpeta de CoreNLP. Nos debe quedar algo parecido al siguiente ejemplo:

...
Impressa	O
en	O
Valencia	LOC
:	O
por	O
Gabriel	PERS
Ribas	PERS
...	O
,	O
1594	O
...

Una vez generado el fichero de tokens anotado, es necesario crear el modelo y para ello ejecutamos el siguiente comando:
java -cp stanford-ner.jar edu.stanford.nlp.ie.crf.CRFClassifier -prop locations-bvmc.prop

Donde locations-bvmc.prop es el fichero de configuración para crear el modelo:

#location of the training file
trainFile = descriptions-ps-bvmc.tsv 

#location where you would like to save (serialize to) your
#classifier; adding .gz at the end automatically gzips the file,
#making it faster and smaller
serializeTo = ner-model.ser.gz

#structure of your training file; this tells the classifier
#that the word is in column 0 and the correct answer is in
#column 1
map = word=0,answer=1

#these are the features we'd like to train with
#some are discussed below, the rest can be
#understood by looking at NERFeatureFactory
useClassFeature=true
useWord=true
useNGrams=true
#no ngrams will be included that do not contain either the
#beginning or end of the word
noMidNGrams=true
useDisjunctive=true
maxNGramLeng=6
usePrev=true
useNext=true
useSequences=true
usePrevSequences=true
maxLeft=1
#the next 4 deal with word shape features
useTypeSeqs=true
useTypeSeqs2=true
useTypeySequences=true
wordShape=chris2useLC

Tras un período de tiempo que dependerá del tamaño del fichero tsv y de las anotaciones realizadas, el modelo se habrá generado en la carpeta de CoreNLP con el nombre ner-model.ser.gz. Para poder trabajar con este nuevo modelo debemos copiarlo a nuestro proyecto a la carpeta src/main/resources:

model-proyecto-maven
model-proyecto-maven

Y a continuación configuramos el código Java para que utilice el nuevo modelo en lugar del inicial que nos provee CoreNLP:

props.setProperty("ner.model", "src/main/resources/ner-model.ser.gz");

Finalmente el código nos debe quedar de la siguiente forma:


public class NLPTest {

  @Test
  public void basic() {
    System.out.println("Starting Stanford NLP");

    Properties props = new Properties();
    props.put("annotators", "tokenize, ssplit, pos, lemma, ner");
 
    props.setProperty("tokenize.language", "es");
    props.setProperty("pos.model", "edu/stanford/nlp/models/pos-tagger/spanish/spanish-distsim.tagger");
    props.setProperty("ner.model", "src/main/resources/ner-model.ser.gz");
    props.setProperty("ner.applyNumericClassifiers", "false");
    props.setProperty("ner.useSUTime", "false");

    StanfordCoreNLP pipeline = new StanfordCoreNLP(props);

    String[] tests =
    {
      "Guadalajara : Imprenta Daniel Ramírez, [1900?]",
      "Guadalajara : Imp. de Ramírez, 1909",
      "Guadalajara",
      "[Guadalaxara? : s.n., 1669?]",
      "Guadalajara : Impr. Provincial, 1884",
      "Guadalajara, Tipografía de Luis Pérez Verdía, 1883",
      "Guadalajara : Imprenta y Encuadernacion Provincial, 1884",
      "Impresso en Guadalajara : por Pedro de Robles y Francisco de Cormellas, 1564",
      "Guadalajara [Jalisco] : en la Oficina de Don José Fruto Romero, Año de 1811",
      "Guadalajara, Imprenta de J. Cabrera, 1895",
      "Guadalajara : Imprenta del Gobierno, a cargo de J. Santos Orozco, 1848"
    };
 
    for (String s : tests) {

     Annotation document = new Annotation(s);
     pipeline.annotate(document);

     List<CoreMap> sentences = document.get(SentencesAnnotation.class);
 
     for(CoreMap sentence: sentences) {
         for (CoreLabel token: sentence.get(TokensAnnotation.class)) {
             String word = token.get(TextAnnotation.class);
             String pos = token.get(PartOfSpeechAnnotation.class);
             String ne = token.get(NamedEntityTagAnnotation.class);
 
             if(ne.equals("LOC"))
                 System.out.println("Lugar: " + word + " pos: " + pos + " ne:" + ne);
             }
         }
     }
   }
}

Y como resultado obtendremos por pantalla las siguiente líneas que corresponden a localizaciones, en concreto a diferentes ejemplos de Guadalajara:

Lugar: Guadalajara pos: np00000 ne:LOC
Lugar: Guadalajara pos: np00000 ne:LOC
Lugar: Guadalajara pos: np00000 ne:LOC
Lugar: Guadalaxara pos: np00000 ne:LOC
Lugar: Guadalajara pos: np00000 ne:LOC
Lugar: Guadalajara pos: np00000 ne:LOC
Lugar: Guadalajara pos: np00000 ne:LOC
Lugar: Guadalajara pos: np00000 ne:LOC
Lugar: Guadalajara pos: np00000 ne:LOC
Lugar: Jalisco pos: np00000 ne:LOC
Lugar: Guadalajara pos: np00000 ne:LOC
Lugar: Guadalajara pos: np00000 ne:LOC

¡Espero que os haya gustado y os animo a practicar con esta librería para vuestros futuros desarrollos!

imagen premio aporta

Participa en la primera edición de los Premios Aporta de red.es

Desde la Fundación de la Biblioteca Virtual Miguel de Cervantes os aninamos a presentar vuestras propuestas para la primera edición de los Premios Aporta 2017. Promovidos por la Secretaría de Estado para la Sociedad de la Información y la Agenda Digital, Red.es y la Secretaría General de Administración Digital, tienen como objetivo la dibulgación y reconocimiento de proyectos que se han convertido en casos de éxito que faciliten la reutilización de datos abiertos como motor de transformación digital e innovación.

¿data.cervantesvirtual.com podría ser un caso de éxito de publicación y reutilización de datos abiertos? 🙂

Tenéis hasta el hasta el 12 de septiembre podrán presentar vuestras candidaturas. Os adjunto el enlace para las bases de los Premios Aporta 2017.

 

WikidataCon evento

Conferencia WikidataCon 2017

El próximo 28 y 29 de octubre tendrá lugar la conferencia WikidataCon en Berlín. El evento está destinado a la comunidad de Wikidata y por ello se entiende a los usuarios que editan Wikidata, que realizan sentencias SPARQL, que crean aplicaciones reutilizando datos abiertos,…El objetivo fundamental es celebrar el quinto aniversario de Wikitada compartiendo ideas y experiencias de éxito desde el inicio del proyecto.

El idioma del evento será inglés puesto que es una conferencia internacional pero existe la posibilidad de solicitar una pequeña reunión en un idioma determinado.

En cuanto al programa, todavía se está decidiendo y el envío de propuestas está abierto hasta el 31 de julio. La Fundación de la Biblioteca Virtual Miguel de Cervantes ya ha realizado el envío de una propuesta de una charla para presentar el catálogo de datos enlazados data.cervantesvirtual.com y las nuevas funcionalidades incorporadas recientemente. Si tenéis pensado acudir al evento y os parece interesante nuestra charla tenéis la posibilidad de añadir vuestro nombre a la presentación en el apartado Interested attendees.

La información detallada del congreso la podéis encontrar en el siguiente enlace.

Os animo a que participéis en WikidataCon!

 

linked-open-data-bvmc

¿Sabes cómo usar la base de datos Wikidata?

Wikidata, una base de datos libre y colaborativa

Wikidata entró en nuestras vidas recientemente y se le augura un futuro prometedor para el procesamiento automático de información. En este artículo presentamos cómo podemos utilizar Wikidata en nuestra organización para beneficiarnos de su contenido. Según la definición de su web, Wikidata es un proyecto de la Fundación Wikimedia: una base de datos secundaria libre, colaborativa y multilingüe, que recopila datos estructurados para dar soporte a Wikipedia, Wikimedia Commons, a los otros proyectos Wikimedia y mucho más.Wikidata logo

¿Qué quiere decir esta definición? La palabra clave es estructurada, hecho que permite que la información sea reutilizada por terceras partes, ya sea usuarios, instituciones como la Fundación de la Biblioteca Virtual Miguel de Cervantes y, lo más importante, procesadores que pueden entender esa información estructurada. Otro punto muy relevante es el hecho de que sea colaborativa, lo que quiere decir que se enriquece con voluntarios que desean incorporar sus contenidos al repositorio.

Como forma novedosa y diferente a otras aproximaciones, la información se almacena en tripletas RDF (Sujeto- predicado-objeto, por ejemplo “Gustavo conoce a Pilar”) y se puede ver directamente desde la vista de cada página. En el siguiente ejemplo podemos observar cómo se estructura la información en una página de Wikidata, concretamente la página de Miguel de Cervantes. En primer lugar podemos ver el título y el identificador. A continuación observamos las tripletas que contienen información estructurada sobre el registro como puede ser la imagen, el género, la fecha de nacimiento y muerte, lugar de nacimiento, influencias, obras, etc. Las tripletas permiten almacenar cualquier tipo de información de forma genérica y el valor de cada una de ellas viene dado por la propiedad que se está editando en ese momento.

Miguel-de-Cervantes-Wikidata-Ejemplo

Finalmente llegamos a un apartado denominado identificadores que permite enlazar el registro con otros repositorios. Este apartado es muy importante para el concepto de Linked Open Data. Si nos fijamos bien, vemos una propiedad que se llama BVMC Person id que almacena identificadores de autores de la Biblioteca Virtual Miguel de Cervantes, en concreto el autor Miguel de Cervantes en nuestro catálogo de Linked Open Data.

Miguel de Cervantes - identificadores- Wikidata

Si nos fijamos en la imagen anterior, se puede observar una propiedad BVMC person id que tiene valor 40. ¿Qué significa esta información? Bien, aquí viene el truco, BVMC person id es una propiedad de Wikidata que identifica autores en la Biblioteca Virtual Miguel de Cervantes y el valor 40 (http://data.cervantesvirtual.com/person/40) corresponde al identificador del autor Miguel de Cervantes. De esta forma, los datos de la BVMC y de Wikidata quedan enlazados para poder reutilizar la información.

Para poder crear una propiedad en Wikidata es necesario solicitar su creación. Para ello existe un protocolo que los usuarios deben seguir. En primer lugar, se debe buscar si existe una propiedad que sea similar para evitar redundancias, os adjunto el enlace. En caso de no existir, entonces debemos proceder con el protocolo establecido. Lo primero es rellenar la ficha de solicitud. Una vez rellenada la solicitud, los administradores de Wikidata se compromenten a en una semana darnos una respuesta. Podréis observar que los administradores introducirán comentarios en la solicitud, a modo de aprobación o negación por diversos motivos. Os dejo una solicitud reciente de la BVMC. Finalmente, si se acepta la propiedad tendrá un aspecto como el ejemplo de identificadores de autores.

Una vez creada la propiedad, cualquier usuario puede proceder a introducir valores. Desde cualquier entidad de Wikidata al pulsar el botón “add” en la zona inferior, nos aparecerá un autocompletado desde el cual podemos añadir la propiedad y el valor. Es importante resaltar que si se introducen valores incorrectos, probablemente serán rechazados ya que los administradores de Wikidata están muy atentos a cualquier uso incorrecto de su plataforma. Además, existen formas para la inserción masiva de datos en Wikidata, pero todavía se encuentran en versiones iniciales y no he podido adentrarme demasiado.

wikidata-anadir-propiedad
wikidata-añadir-propiedad

Una vez hemos realizado todo el proceso, una de las primeras ventajas que podemos observar si accedemos a la entrada de la Wikipedia del autor Miguel de Cervantes, es que en el apartado de Control de autoridades aparecerá un enlace a nuestra web. Como podéis imaginar esto es una fuente muy rica de visitas para nuestra web y para mejorar el posicionamiento. Evidentemente, esta no es la mejor forma de explotar esa información pero al menos es un detalle que nos puede encaminar a introducir nuestros identificadores en Wikidata. No es de extrañar que en breve existan otras formas más interesantes y vistosas para el usuario de explotar esa información.

wikipedia-control-de-autoridades
wikipedia-control-de-autoridades

¿Cómo se accede a los datos en Wikidata?

Wikidata ofrece un interfaz online para realizar consultas en SPARQL. Si deseamos trabajar con nuestra propiedad de identificadores de autor, tendremos que usar el espacio de nombres correcto (wdt) y el identificador de la propiedad que lo podemos obtener de la URL (https://www.wikidata.org/wiki/Property:P2799). Os muestro un ejemplo de sentencia que obtiene los enlaces de Wikidata a nuestro catálogo de datos enlazados.

PREFIX wdt: <http://www.wikidata.org/prop/direct/>
select *
where {?item wdt:P2799 ?BVMCauthor}

wikidata-sparql-ejemplo
wikidata-sparql-ejemplo

 

Espero que os haya gustado esta entrada y os animo a que participéis en Wikidata!

¿Sabrías montar una arquitectura para una biblioteca digital?

Arquitectura

Si te interesa cómo funciona una biblioteca digital en cuanto a tecnología, a continuación describimos la arquitectura que utilizamos en la Biblioteca Virtual Miguel de Cervantes.

Para el desarrollo e implementación de la nueva arquitectura de la BVMC, se ha optado por SOA como metodología y guía de trabajo basada en estándares e interoperabilidad con el objetivo de mejorar los tiempos de respuesta, minimizar los costes de desarrollo, facilitar la reutilización de los componentes y la interacción con diferentes sistemas.

arquitectura-bvmc
Arquitectura BVMC

La integración de SOA se ha realizado en el servidor de aplicaciones Jboss que combina una arquitectura orientada a servicios con una licencia de código abierto. Entre las ventajas que proporciona un servidor de aplicaciones de estas características se encuentran el funcionamiento en cluster que proporciona una alta disponibilidad, la escalabilidad y el mantenimiento, así como la disminución de la complejidad del desarrollo de software dando soporte a diferentes tecnologías de forma transparente.

En su parte externa, un conjunto de servicios web implementados en J2EE se comunica con los clientes mediante JSON como formato ligero de intercambio de información, dando soporte a las necesidades de los usuarios.

La arquitectura se ha implementado en un modelo multicapa, donde la capa de acceso a datos es capaz de mantener la independencia del tipo de origen de datos y la transparencia hacia las capas más altas de la arquitectura. La capa de negocio contiene la lógica de la aplicación y proporciona los componentes necesarios para proveer servicios de búsqueda y recuperación de información. Basada en componentes distribuidos (EJB), que dotan al desarrollador de un modelo que le permite abstraerse de los problemas de concurrencia, transacciones, persistencia o seguridad, para centrarse en el desarrollo de la lógica de negocio en sí.

La capa de negocio da servicio tanto al sistema de catalogación como a la capa de servicios web y presentación. Por último, la capa de servicios pone a disposición de los usuarios y aplicaciones las funcionalidades ofrecidas por la BVMC en forma de servicios web.

BVMC 3.0

Actualmente, la BVMC dispone de una representación semántica de sus obras y autores en RDF basada entre otras en la norma internacional RDA. Se ha construido un nuevo concepto de catálogo orientado a web semántica, buscando facilitar el acceso a la información, compartir, reutilizar, enlazar y ser enlazados desde otros repositorios en la red.

En la siguiente imagen se puede observar como el repositorio de la BVMC enlaza y es enlazado desde otros repositorios reconocidos internacionalmente como Wikidata, DBpedia, Geonames, Europeana, VIAF o ISNI entre otros.

linked-open-data-bvmc
Datos enlazados en la BVMC

Mediante la conexión con estos repositorios se consigue enriquecer y dar visibilidad al catálogo tradicional. Por ejemplo, Geonames es una gran base de datos geográfica que alberga información sobre países y contiene más de ocho millones de nombres de lugares. Permite ofrecer al usuario información completa, por ejemplo, del lugar de publicación original de una obra o situar ese lugar en un mapa, sin necesidad de tener almacenado todos los datos en el catálogo de la BVMC ya que es posible enlazar en tiempo real a otros repositorios para obtener esa información y combinarla con la catalogada en la biblioteca.

Europeana es una biblioteca digital que integra fondos de bibliotecas, archivos y museos de diferentes bibliotecas europeas, entre las que se encuentran la British Library, la Gallica (Biblioteca Nacional de Francia) y la Biblioteca Nacional de España. Además intenta apoyar diferentes iniciativas en el campo de las bibliotecas digitales. Actualmente la BVMC ya dispone de un importante volumen de obras en Europeana.

Referencias

  • Gustavo Candela Romero, Maria Pilar Escobar Esteban, Manuel Marco Such, Rafael C. Carrasco. Transformation of a Library Catalogue into RDA Linked Open Data. TPDL 2015: 321-325

  • Gustavo Candela Romero, Maria Pilar Escobar Esteban, Manuel Marco Such, Rafael C. Carrasco. Migration of a library catalogue into RDA linked open data. Semantic Web Journal 2017. Online

  • Stanford Prize for Innovation in Research Libraries (SPIRL). Online

¿Cómo obtener los autores coetáneos o que escriben sobre Lope de Vega en el catálogo de la Biblioteca Virtual Miguel de Cervantes?

Desde el punto de acceso SPARQL de data.cervantesvirtual.com podemos acceder al catálogo completo de la Biblioteca Virtual Miguel de Cervantes en formato RDF. Si navegamos por los resultados de la búsqueda, el interfaz ofrece los metadatos asociados a cada item identificado por su URI.

En este ejemplo, para obtener los autores relacionados con un autor en concreto, podríamos ejecutar la siguiente consulta SPARQL:

PREFIX rdaw: <http://rdaregistry.info/Elements/w/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT distinct ?person ?name
WHERE {
  ?w rdaw:author ?person .
  ?person rdfs:label ?name .
  ?w dc:subject <http://data.cervantesvirtual.com/person/72>  
}
limit 10

http://data.cervantesvirtual.com/person/72 corresponde al autor Lope de Vega. Modificando el identificador 72 por cualquiera de los que proporciona el catálogo, podríamos obtener los autores relacionados de cualquier escritor. Por ejemplo http://data.cervantesvirtual.com/person/40 corresponde a Miguel de Cervantes.

Podéis ejecutar el ejemplo y realizar vuestras propias consultas desde el punto de acceso abierto en http://data.cervantesvirtual.com/sparql.

En la siguiente imagen te mostramos los resultados obtenidos desde el interfaz de consulta.

autores relacionados sparql

 

De la misma forma, para obtener los autores coetáneos o contemporáneos a Lope de Vega podríamos ejecutar la siguiente consulta:

PREFIX rdaa: <http://rdaregistry.info/Elements/a/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select distinct ?a ?name
where {
?a rdaa:dateOfBirth ?dateBirth .
?a rdaa:dateOfDeath ?dateDeath .
?a rdfs:label ?name .
?dateBirth <http://www.w3.org/2006/time#inDateTime> ?dateBirthDesc .
?dateBirthDesc <http://www.w3.org/2006/time#year> ?yearBirth .
?dateDeath <http://www.w3.org/2006/time#inDateTime> ?dateDeathDesc .
?dateDeathDesc <http://www.w3.org/2006/time#year> ?yearDeath
FILTER(xsd:integer(?yearBirth) >= 1562 && xsd:integer(?yearDeath) <= 1635)
}

 

¿Quieres escribir reseñas de obras de la Biblioteca Virtual Miguel de Cervantes?

Colabora escribiendo la reseña de una obra

Te ofrecemos la oportunidad de crear reseñas y ver ejemplos desde nuestra red Galatea

Si te interesa la literatura y las obras del catálogo de la Biblioteca Virtual Miguel de Cervantes eres bienvenido/a a nuestra red Galatea para que te registres y mandes la reseña de tu obra favorita.

En la red Galatea podrás consultar ejemplos de reseñas de obras que te pueden servir de ejemplo. Además, añadiendo reseñas ayudas al enriquecimiento del catálogo.

La estructura orientativa de una reseña podría ser exposición, análisis y síntesis. Una reseña crítica debe ser creativa y amena para ayudar al lector a su comprensión.

Galatea

¡Bienvenido! ¡Esperamos ansiosos tu reseña!

Base de datos geográfica

La Biblioteca Virtual Miguel de Cervantes ha creado una nueva base de datos geográfica a partir de las obras almacenadas en su catálogo. El repositorio contiene enlaces a Geonames y está disponible para su uso de forma gratuita. El buscador permite obtener localizaciones geográficas consultando diferentes fuentes (DBpedia y GeoNames) conforme a los criterios seleccionados. Además, existe la opción de navegar por un mapa interactivo desde donde seleccionar una localización y obtener todas las obras asociadas.

El buscador geográfico

Puedes consultar más información sobre el proyecto en el siguiente enlace.