Entorno de información basado en principios de Datos Abiertos

Entorno de información basado en principios de Datos Abiertos

El entorno de información propuesto es una especie de red social descentralizada. Pero a diferencia de muchas soluciones existentes, este entorno tiene una serie de propiedades útiles además de la descentralización y se crea sobre la base de soluciones técnicas bastante simples y estándar (correo electrónico, json, archivos de texto y un poco de blockchain). Esto permite que cualquier persona con conocimientos básicos de programación pueda crear sus propios servicios para este entorno.

Identificación universal

En cualquier entorno en línea, los identificadores de usuarios y objetos son uno de los elementos clave del sistema.

En este caso, el identificador de usuario es el correo electrónico, que de hecho se ha convertido en un identificador generalmente aceptado para la autorización en sitios web y otros servicios (jaber, openId).

De hecho, el identificador de usuario en un entorno en línea determinado es el par inicio de sesión+dominio, que por conveniencia está escrito en la forma que resulta más familiar para la mayoría. Al mismo tiempo, para una mayor descentralización, es recomendable que cada usuario tenga su propio dominio. Lo cual se acerca a los principios de indieweb, donde se utiliza un dominio como identificador de usuario. En nuestro caso, el usuario añade un apodo a su dominio, lo que le permite crear varias cuentas en un dominio (para amigos, por ejemplo) y flexibiliza el sistema de direccionamiento.

Este formato de ID de usuario no está vinculado a ninguna red. Si un usuario coloca sus datos en la red TOR, entonces puede usar dominios en la zona .onion, si se trata de una red con un sistema DNS en blockchain, entonces dominios en la zona .bit. Como resultado, el formato para dirigirse a los usuarios y sus datos no depende de la red a través de la cual se transmiten (la combinación inicio de sesión+dominio se utiliza en todas partes). Para aquellos que quieran utilizar una dirección de bitcoin/ethereum como identificador, pueden modificar el sistema para utilizar pseudodirecciones de correo electrónico del formulario [email protected]

Dirigir objetos

Este entorno en línea es en realidad un conjunto de objetos que se describen de forma estructurada y legible por máquina, hacen referencia a otros objetos y están vinculados a un usuario (correo electrónico) o proyecto/organización (dominio) específico.

Las urnas en el espacio de nombres urn:opendata se utilizan como identificadores de objetos. Por ejemplo, un perfil de usuario tiene una dirección como:

urn:opendata:profile:[email protected]

El comentario del usuario tiene una dirección como:

urn:opendata:comment:[email protected]:08adbed93413782682fd25da77bd93c99dfd0548

donde 08adbed93413782682fd25da77bd93c99dfd0548 es un hash sha-1 aleatorio que actúa como ID del objeto, y [email protected] — el propietario de este objeto.

Principio de publicación de datos de usuario.

Al tener su propio dominio bajo control, el usuario puede publicar fácilmente sus datos y contenidos. Y a diferencia de indiebeb, esto no requiere la creación de un sitio web con páginas html con datos semánticos integrados.

Por ejemplo, la información básica sobre el usuario se encuentra en el archivo datarobots.txt, que se encuentra en una dirección como

http://55334.ru/[email protected]/datarobots.txt

Y tiene contenido como este:

Object: user
Services-Enabled: 55334.ru,newethnos.ru
Ethnos: newethnos
Delegate-Tokens: http://55334.ru/[email protected]/delegete.txt

Es decir, de hecho, es un conjunto de cadenas con datos de la forma clave->valor, cuyo análisis es una tarea sencilla para cualquier persona con conocimientos básicos de programación. Y puedes editar los datos si lo deseas usando un bloc de notas normal.

Los datos más complejos (perfil, comentario, publicación, etc.), que tienen su propia urna, se envían como un objeto JSON utilizando la API estándar (http://opendatahub.org/api_1.0?lang=ru), que puede estar ubicado como en el dominio del usuario y en un sitio de terceros al que el usuario ha delegado el almacenamiento, publicación y edición de sus datos (en la línea Servicios habilitados del archivo datarobots.txt). Estos servicios de terceros se describen a continuación.

Ontología simple y JSON

La ontología del entorno de comunicación es relativamente simple en comparación con las ontologías de las bases de conocimiento de la industria. Dado que en el entorno de comunicación hay un conjunto relativamente pequeño de objetos estándar (publicación, comentario, me gusta, perfil, reseña) con un conjunto relativamente pequeño de propiedades.

Por lo tanto, para describir objetos en dicho entorno, es suficiente usar JSON en lugar de XML, que es más complejo en estructura y análisis (es importante no olvidarse de la necesidad de un umbral de entrada bajo y escalabilidad).

Para obtener un objeto con urna conocida, debemos contactar con el dominio del usuario, o con servicios de terceros en los que el usuario haya delegado la gestión de sus datos.

En este entorno en línea, cada dominio en el que existe un servicio en línea también tiene su propio datarobots.txt ubicado en una dirección como ejemplo.com/datarobots.txt con contenido similar:

Object: service
Api: http://newethnos.ru/api
Api-Version: http://opendatahub.org/api_1.0

De lo cual podemos aprender que podemos obtener datos sobre un objeto en una dirección como:

http://newethnos.ru/api?urn=urn:opendata:profile:[email protected]

El objeto JSON tiene la siguiente estructura:

{
    "urn": "urn:opendata:profile:[email protected]",
    "status": 1,
    "message": "Ok",
    "timestamp": 1596429631,
    "service": "example.com",
    "data": {
        "name": "John",
        "surname": "Gald",
        "gender": "male",
        "city": "Moscow",
        "img": "http://domain.com/image.jpg",
        "birthtime": 332467200,
        "community_friends": {
            "[email protected]": "1",
            "[email protected]": "0.5",
            "[email protected]": "0.7"
        },
        "interests_tags": "cars,cats,cinema",
        "mental_cards": {
            "no_alcohol@main": 8,
            "data_accumulation@main": 8,
            "open_data@main": 8
        }
    }
}

Arquitectura de servicio

Los servicios de terceros son necesarios para simplificar el proceso de publicación y búsqueda de datos para los usuarios finales.

Lo mencionado anteriormente es uno de los tipos de servicios que ayudan al usuario a publicar sus datos en la red. Puede haber muchos servicios similares, cada uno de los cuales proporciona al usuario una interfaz conveniente para editar uno de los tipos de datos (foro, blog, pregunta-respuesta, etc.). Si el usuario no confía en los servicios de terceros, puede instalar un script de servicio de datos en su dominio o desarrollarlo él mismo.

Además de los servicios que permiten a los usuarios publicar/editar datos, el entorno en línea proporciona otros servicios que realizan tareas relativamente complejas que son bastante problemáticas de implementar en los nodos de los usuarios finales.

Un tipo de servicio de este tipo son los centros de datos ( opendatahub.org/en - ejemplo), que actúa como una especie de archivo web que recopila todos los datos públicos del usuario legibles por máquina y proporciona acceso a ellos a través de API.

La presencia de servicios en un entorno en línea tan abierto y descentralizado reduce significativamente la barrera de entrada para los usuarios, ya que no es necesario instalar y configurar su propio nodo. Al mismo tiempo, el usuario mantiene el control de sus datos (en cualquier momento puede cambiar el servicio en el que se delega la publicación de datos o crear su propio nodo).

Si el usuario no está interesado en absoluto en ser propietario de sus datos y no tiene su propio dominio o alguien familiarizado con el dominio, entonces, de forma predeterminada, sus datos son administrados por opendatahub.org.

¿A costa de quién es todo esto?

Quizás el principal problema de casi todos estos proyectos descentralizados sea la incapacidad de monetizarlos a un nivel suficiente para un desarrollo y soporte estables.

Los tokens Donate + se utilizan para cubrir los costos de desarrollo y marketing en este entorno en línea.

Todas las donaciones que los usuarios realizan a proyectos/servicios internos están disponibles públicamente, son legibles por máquina y están vinculadas al correo electrónico. Esto permite tenerlos en cuenta, por ejemplo, a la hora de calcular la valoración social online y publicarlos en las páginas de los usuarios. Cuando las donaciones dejan de ser anónimas, en realidad los usuarios no donan, sino que "contribuyen" para apoyar el entorno de información general. Al igual que la gente colabora para reparar las zonas comunes con una actitud adecuada hacia aquellas personas que se niegan a colaborar.

Además de las donaciones, para recaudar fondos se utilizan tokens emitidos en una cantidad limitada (400.000), que se otorgan a todos los que realizan donaciones al fondo principal (etnogénesis).

Funciones de token adicionales

Cada token es una “clave” de acceso a este entorno en línea. Es decir, puede utilizar los servicios y ser parte del entorno en línea solo si tiene al menos 1 token vinculado a un correo electrónico.

Los tokens son un buen filtro de spam debido a su naturaleza limitada. Cuantos más usuarios haya en el sistema, más difícil será obtener un token y más caro será crear bots.

Las personas, sus datos y conexiones sociales son más importantes que la tecnología

El entorno en línea descrito es técnicamente una solución relativamente primitiva. Pero lo más importante no es tanto la tecnología sino las personas y las conexiones sociales y los datos (contenidos) creados en el entorno.

La comunidad social creada, cuyos miembros tienen sus propios identificadores universales (correo electrónico y su propio dominio) y datos estructurados (con direcciones URN, ontología y objetos JSON), cuando aparece una mejor solución técnica, puede transferir todos estos datos a otro entorno en línea. manteniendo las conexiones formadas (calificaciones, calificaciones) y el contenido.

Esta publicación describe uno de los elementos de una comunidad autoorganizada en red que, además del entorno en línea descentralizado, incluye una serie de áreas fuera de línea que aumentan los beneficios del entorno en línea y son "clientes" que determinan en gran medida su funcionalidad. Pero estos son temas para otros artículos que no están directamente relacionados con TI y la tecnología.

Fuente: habr.com

Añadir un comentario