Hasta ahora hemos visto datos, cómo generar datos, cómo generar un esquema para esos datos, y cómo generar reglas de inferencia para estos datos. Pero ¿cómo accedemos a esos datos? ¿Dónde almacenamos esos datos además de en un archivo de texto? Bien, vamos a empezar con un ejemplo.
Hay un recurso de RDF, Santiago, que es de tipo lugar. Además este recurso Santiago está ubicado en un país, Chile, que es de tipo país. Y además Santiago tiene como nombre oficial Santiago. Este sería el grafo RDF de este recurso.
Ahora tenemos los datos en texto, un archivo de texto que deberíamos ser capaces de almacenar en algún lugar para luego poder consultar.
Entonces, ¿qué opciones tenemos para poder almacenar un grafo RDF, un archivo de texto que contiene el grafo RDF? Hay básicamente dos opciones.
Una, almacenarlo en una base de datos de grafo o almacenarlos en una base de datos relacional que se utiliza públicamente, habitualmente. Como ejemplos de bases de datos de grafo tenemos Apache Jena, una base de datos RDF, que indexa todos los triples y los almacena para que luego los podamos consultar; o 4Store, también una base de datos de grafo en la cual podemos cargar todos nuestros datos indexados y luego podemos acceder a ellos. Estos son solo dos ejemplos, hay muchos más solo hay que buscar en Google un poquito.
En cuanto al almacenamiento en una base de datos relacional tenemos a Virtuoso que almacena los datos en una base de datos relacional, y luego accede a ellos utilizando las propiedades RDF. De la misma forma, Apache Jena también nos ofrece la opción de almacenar nuestros datos en una base de datos relacional como puede ser MySQL, puede ser SQL y luego acceder a ellos como si fuese RDF. Hay muchas más opciones.
Cuando ya tenemos los archivos guardados, no solo en un archivo de textos, sino en nuestra base de datos, ¿cómo podemos acceder a ellos?
Para acceder a los datos utilizamos el lenguaje de consulta SPARQL. SPARQL es el lenguaje de consulta oficial, la recomendación que hace el W3C para poder acceder a estos datos almacenados en RDF. Todos los sistemas mencionados anteriormente tienen una forma de insertar nuestra consulta SPARQL y devolvernos los datos que estamos consultando.
Un ejemplo de consulta SPARQL es, ¿qué toreros se casaron con cantantes de copla? Nosotros podemos escribir en un navegador dbpedia.org.SPARQL que es la dbpedia en español. e insertar esta consulta SPARQL. En la primera línea tenemos el prefijo del vocabulario que vamos a utilizar. Vamos a seleccionar el torero y la cantante, y dentro de los triples especificamos que torero tiene que ser de tipo torero, la variable torero tiene que tener una esposa que no sabemos cuál es, y además esta esposa que vamos a nombrar con la variable cantante tiene como sujeto, tiene como tipo ser cantante de coplas. Entonces ponemos esta consulta y nos va a devolver los toreros que tienen cantantes de coplas.
Otro ejemplo, relacionado con nuestro grafo inicial es, ¿cuáles son los nombres de todos los lugares de Chile mencionados en Wikipedia? Vamos a utilizar las variables X y nombre; X va a identificar al recurso de datos. Este recurso en la primera línea de la consulta x dbpprop tiene un nombre, official name variable nombre. En la siguiente línea de la consulta tenemos X es de tipo lugar, y el recurso X también tiene un país que es Chile. Entonces de esta forma vamos a obtener todos los lugares que tienen nombre en Chile.
Cabe destacar que la consulta anterior se está haciendo a la dbpedia en inglés. Escribimos en nuestro navegador web dbpedia.org,/SPARQL, insertamos esta consulta y nos devolverá todos los lugares con nombre de Chile.
Para resumir lo que hemos visto hasta ahora, los triples se almacenan en bases de datos relacionales o de grafo que se llaman Triple Stores. Para poder acceder a ellos necesitamos un lenguaje de consulta. Este lenguaje de consulta está especificado, definido por el W3C. Y, utilizando SPARQL podemos acceder a todos estos datos que hemos almacenado previamente.
En cuanto al almacenamiento en una base de datos relacional tenemos a Virtuoso que almacena los datos en una base de datos relacional, y luego accede a ellos utilizando las propiedades RDF. De la misma forma, Apache Jena también nos ofrece la opción de almacenar nuestros datos en una base de datos relacional como puede ser MySQL, puede ser SQL y luego acceder a ellos como si fuese RDF. Hay muchas más opciones.
Cuando ya tenemos los archivos guardados, no solo en un archivo de textos, sino en nuestra base de datos, ¿cómo podemos acceder a ellos?
Para acceder a los datos utilizamos el lenguaje de consulta SPARQL. SPARQL es el lenguaje de consulta oficial, la recomendación que hace el W3C para poder acceder a estos datos almacenados en RDF. Todos los sistemas mencionados anteriormente tienen una forma de insertar nuestra consulta SPARQL y devolvernos los datos que estamos consultando.
Un ejemplo de consulta SPARQL es, ¿qué toreros se casaron con cantantes de copla? Nosotros podemos escribir en un navegador dbpedia.org.SPARQL que es la dbpedia en español. e insertar esta consulta SPARQL. En la primera línea tenemos el prefijo del vocabulario que vamos a utilizar. Vamos a seleccionar el torero y la cantante, y dentro de los triples especificamos que torero tiene que ser de tipo torero, la variable torero tiene que tener una esposa que no sabemos cuál es, y además esta esposa que vamos a nombrar con la variable cantante tiene como sujeto, tiene como tipo ser cantante de coplas. Entonces ponemos esta consulta y nos va a devolver los toreros que tienen cantantes de coplas.
Otro ejemplo, relacionado con nuestro grafo inicial es, ¿cuáles son los nombres de todos los lugares de Chile mencionados en Wikipedia? Vamos a utilizar las variables X y nombre; X va a identificar al recurso de datos. Este recurso en la primera línea de la consulta x dbpprop tiene un nombre, official name variable nombre. En la siguiente línea de la consulta tenemos X es de tipo lugar, y el recurso X también tiene un país que es Chile. Entonces de esta forma vamos a obtener todos los lugares que tienen nombre en Chile.
Cabe destacar que la consulta anterior se está haciendo a la dbpedia en inglés. Escribimos en nuestro navegador web dbpedia.org,/SPARQL, insertamos esta consulta y nos devolverá todos los lugares con nombre de Chile.
Para resumir lo que hemos visto hasta ahora, los triples se almacenan en bases de datos relacionales o de grafo que se llaman Triple Stores. Para poder acceder a ellos necesitamos un lenguaje de consulta. Este lenguaje de consulta está especificado, definido por el W3C. Y, utilizando SPARQL podemos acceder a todos estos datos que hemos almacenado previamente.
No hay comentarios:
Publicar un comentario