En esta serie de artículos de Interoperabilidad de datos en SSI, vamos a describir cómo tratamos los datos y su modelado en nuestro Certix Identity, recuperando el control y soberanía de nuestros datos a la vez que los preparamos para que sean entendibles y procesables por aquellas aplicaciones (presentes y futuras) a las que concedamos acceso a los mismos.
Este primer artículo introduce una forma más completa de representar la información que nos rodea, acompañando las descripciones del contexto necesario para evitar interpretaciones erróneas. También explicaremos como la información se relaciona entre sí, permitiendo el descubrimiento de nuevos datos de forma intuitiva.
Modelando la realidad a través de conexiones: Pensando en tripletas
Estamos acostumbrados a presentar información utilizando pares «clave-valor», pues suponen la forma más simple para detallar los rasgos de una entidad mediante la asignación de valores a sus características más identificables.
Sin embargo, en los escenarios en los que carecemos de un contexto que delimite nuestra visión del entorno, la omisión del sujeto o entidad sobre la que se realiza la descripción dificulta su comprensión.
Por ejemplo, podemos tener los siguientes fragmentos de información, a pesar de ser imposible conocer el sujeto referido a falta de más datos:
El modelado de información mediante tripletas aporta una solución a estos escenarios.
La W3C propone RDF (Resource Description Framework) como una especificación para el modelado abstracto de datos, representando la información en tripletas o ternas que constan de los siguientes componentes:
- Sujeto: Recurso sobre el que se realiza la descripción.
- Predicado: Propiedad o relación que se define sobre el sujeto.
- Objeto: Valor de la propiedad o recurso sobre el que se establece la relación.
El sujeto del primer elemento de la tupla sería el equivalente a la instancia referida en un modelo Entidad-Relación.
Añadiendo contexto y significado a nuestros datos
Por tanto, podemos enriquecer la descripción del diagrama anterior, y hacer explícito al sujeto, dando como resultado la siguiente expresión:
A pesar de que tenemos el sujeto identificado en la representación, nos haría falta algo de contexto para entender de forma unívoca lo que se desea expresar. El sujeto “Tesla” puede referirse a una persona, una compañía de automóviles o un cráter lunar, entre otros. Desambiguar el concepto “Tesla” (así como los significados de los otros dos componentes de la tripleta, el predicado “altura” y el objeto “1.88”), es por tanto fundamental para universalizar nuestros datos.
Es aquí donde entran en juego dos actores fundamentales:
la Web Semántica, y los Datos Enlazados.
Ambas ideas vienen propuestas por el creador de la Web, Sir Tim Berners-Lee, y podríamos resumirlas de la siguiente manera:
- La semántica permite dotar de significado a las cosas, a través del uso controlado de vocabularios u ontologías. Estos vocabularios agrupan de forma lógica las definiciones formales de términos, atributos y relaciones de una forma perfectamente definida, los cuales tienen sentido dentro de un contexto determinado, lo que posibilita eliminar la ambigüedad al describir la realidad.
- Los datos enlazados describen una serie de prácticas a la hora de publicar información estructurada en la Web, de forma que esta sea más útil. Se apoya para ello en los estándares de la W3C, y persigue estos 4 principios:
- Los recursos publicados en la web deben ser identificados mediante URIs.
- Utilizar el protocolo HTTP para localizar y acceder a los recursos mediante sus URIs.
- Proporcionar información útil sobre el recurso una vez desreferenciada su URI.
- Incluir enlaces a otras URIs relacionadas con el recurso, para fomentar el descubrimiento de información en la web.
Aplicando ambos conceptos, podemos convertir la tripleta inicial en esta otra:
En la que cada componente de la tripleta queda especificado de la siguiente manera:
- Sujeto: URI que identifica de forma unívoca al recurso sobre el que estamos realizando la descripción, en este caso, el científico Nikola Tesla. La URI apunta a su página en la DBpedia, un volcado semantizado de la Wikipedia.
- Predicado: Propiedad sobre el sujeto de la tupla. Hace referencia a la altura de un recurso de tipo «Person«, evitando que pueda ser malinterpretado por la falta de contexto.
- Objeto: Finalmente, el valor de la propiedad para el sujeto referido. En este caso, es un valor numérico, y será interpretado en centímetros, que ya la propiedad que hemos empleado expresa los valores en esta unidad.
De esta forma, la información puede ser comprendida tanto por humanos como por procesadores automáticos, ya que cada parte de la tripleta lleva asociada una descripción formal que permite su entendimiento en cualquier contexto.
Poniendo en valor las relaciones: Grafos de información
En el caso anterior, el objeto de la tripleta adoptaba un valor numérico (188), pero anteriormente hemos visto que un objeto podría ser a su vez un recurso, que actúe como sujeto de una o más tripletas. De esta forma, podemos asociar diferentes definiciones entre sí.
Si presentamos estas definiciones de forma visual, vemos que la información forma uno o varios grafos interconectados, en los que los recursos y valores actúan como nodos de una red de información, y los predicados actúan como los conectores.
Así, podemos conectar diversos silos de datos inicialmente aislados, creando relaciones entre recursos similares. Por ejemplo, podríamos relacionar la página de DBpedia dedicada a Nikola Tesla, con la web oficial del museo que lleva su nombre, los libros que hablan de sus hallazgos y analizan su vida, etc. Esto permite crear extensos grafos de conocimiento en los que, con las herramientas y procesos adecuados, podemos razonar en base a los datos existentes para inferir nueva información y encontrar respuestas más precisas.
En el siguiente post, hablaremos de las diversas serializaciones de RDF y nos centraremos en la más nativa para la Web: JSON-LD. También validaremos los datos en base a un esquema definido de forma semántica.
⌦ Interoperabilidad de datos en SSI (II)
I would like to thank you for the efforts youve put in penning this website. I really hope to check out the same high-grade content by you later on as well. In truth, your creative writing abilities has encouraged me to get my own website now 😉
I want to to thank you for this very good read!! I certainly enjoyed every little bit of it. I have got you book-marked to check out new stuff you postÖ
Thank you so much
A motivating discussion is worth comment. I believe that you ought to write more on this topic, it may not be a taboo matter but generally people do not talk about such issues. To the next! All the best!!
Thanks!!
Good post. I learn something totally new and challenging on websites I stumbleupon every day. Its always exciting to read articles from other writers and practice a little something from other sites.
Thanks