Environnement d'information basé sur les principes de l'Open Data

Environnement d'information basé sur les principes de l'Open Data

L'environnement d'information proposé est une sorte de réseau social décentralisé. Mais contrairement à de nombreuses solutions existantes, cet environnement possède un certain nombre de propriétés utiles en plus de la décentralisation et est créé sur la base de solutions techniques assez simples et standards (email, json, fichiers texte et un peu de blockchain). Cela permet à toute personne possédant des connaissances de base en programmation de créer ses propres services pour cet environnement.

ID universel

Dans tout environnement en ligne, les identifiants d'utilisateur et d'objet sont l'un des éléments clés du système.

Dans ce cas, l'identifiant de l'utilisateur est l'e-mail, qui est en fait devenu un identifiant généralement accepté pour l'autorisation sur les sites Web et autres services (jaber, openId).

En fait, l'identifiant de l'utilisateur dans un environnement en ligne donné est la paire login+domain, qui, pour plus de commodité, est écrite sous la forme familière à la plupart. Parallèlement, pour une plus grande décentralisation, il est conseillé à chaque utilisateur de disposer de son propre domaine. Ce qui est proche des principes de l'indieweb, où un domaine est utilisé comme identifiant d'utilisateur. Dans notre cas, l'utilisateur ajoute un pseudo à son domaine, ce qui lui permet de créer plusieurs comptes sur un même domaine (pour des amis par exemple) et rend le système d'adressage plus flexible.

Ce format d’ID utilisateur n’est lié à aucun réseau. Si un utilisateur place ses données sur le réseau TOR, il peut alors utiliser des domaines dans la zone .onion ; s'il s'agit d'un réseau avec un système DNS sur la blockchain, alors des domaines dans la zone .bit. De ce fait, le format d'adressage des utilisateurs et de leurs données ne dépend pas du réseau par lequel elles sont transmises (la combinaison login+domaine est utilisée partout). Pour ceux qui souhaitent utiliser une adresse bitcoin/ethereum comme identifiant, vous pouvez modifier le système pour utiliser des pseudo adresses email du formulaire [email protected]

Adressage d'objets

Cet environnement en ligne est en fait un ensemble d'objets qui sont décrits sous une forme structurée et lisible par machine, font référence à d'autres objets et sont liés à un utilisateur (e-mail) ou à un projet/organisation (domaine) spécifique.

les urnes dans l'espace de noms urn:opendata sont utilisées comme identifiants d'objet. Par exemple, un profil utilisateur a une adresse telle que :

urn:opendata:profile:[email protected]

Le commentaire de l'utilisateur a une adresse du type :

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

où 08adbed93413782682fd25da77bd93c99dfd0548 est un hachage sha-1 aléatoire agissant comme identifiant d'objet, et [email protected] — le propriétaire de cet objet.

Principe de publication des données utilisateur

Ayant son propre domaine sous contrôle, l'utilisateur peut facilement publier ses données et son contenu. Et contrairement à indiebeb, cela ne nécessite pas de créer un site Web avec des pages HTML intégrant des données sémantiques.

Par exemple, les informations de base sur l'utilisateur se trouvent dans le fichier datarobots.txt, qui se trouve à une adresse telle que

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

Et il a un contenu comme celui-ci :

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

Autrement dit, il s'agit en fait d'un ensemble de chaînes avec des données de la forme clé->valeur, dont l'analyse est une tâche simple pour toute personne ayant des connaissances de base en programmation. Et vous pouvez modifier les données si vous le souhaitez en utilisant un bloc-notes ordinaire.

Les données plus complexes (profil, commentaire, post, etc.), qui possèdent leur propre urne, sont envoyées sous forme d'objet JSON à l'aide de l'API standard (http://opendatahub.org/api_1.0?lang=ru), qui peut être localisé comme sur le domaine de l’utilisateur, et sur un site tiers auquel l’utilisateur a délégué le stockage, la publication et l’édition de ses données (dans la ligne Services-Enabled du fichier datarobots.txt). Ces services tiers sont décrits ci-dessous.

Ontologie simple et JSON

L’ontologie de l’environnement de communication est relativement simple comparée aux ontologies des bases de connaissances industrielles. Étant donné que dans l'environnement de communication, il existe un ensemble relativement restreint d'objets standards (publication, commentaire, like, profil, avis) avec un ensemble relativement restreint de propriétés.

Par conséquent, pour décrire des objets dans un tel environnement, il suffit d'utiliser JSON au lieu de XML, qui est plus complexe en termes de structure et d'analyse (il est important de ne pas oublier la nécessité d'un seuil d'entrée bas et d'évolutivité).

Pour obtenir un objet avec une urne connue, il faut contacter le domaine de l’utilisateur, ou des services tiers auxquels l’utilisateur a délégué la gestion de ses données.

Dans cet environnement en ligne, chaque domaine sur lequel un service en ligne existe possède également son propre datarobots.txt situé à une adresse comme example.com/datarobots.txt avec un contenu similaire :

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

D'où nous pouvons apprendre que nous pouvons obtenir des données sur un objet à une adresse telle que :

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

L'objet JSON a la structure suivante :

{
    "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
        }
    }
}

Architecture des services

Des services tiers sont nécessaires pour simplifier le processus de publication et de recherche de données pour les utilisateurs finaux.

Mentionné ci-dessus est l'un des types de services qui aident l'utilisateur à publier ses données sur le réseau. Il peut exister de nombreux services similaires, chacun offrant à l'utilisateur une interface pratique pour éditer l'un des types de données (forum, blog, question-réponse, etc.). Si l'utilisateur ne fait pas confiance aux services tiers, il peut alors installer un script de service de données sur son domaine ou le développer lui-même.

Outre les services permettant aux utilisateurs de publier/modifier des données, l'environnement en ligne fournit un certain nombre d'autres services qui exécutent des tâches relativement complexes et assez problématiques à mettre en œuvre sur les nœuds des utilisateurs finaux.

Un type de service de ce type est celui des hubs de données ( opendatahub.org/fr - exemple), agissant comme une sorte d'archive Web qui collecte toutes les données utilisateur publiques lisibles par machine et y donne accès via une API.

La présence de services dans un environnement en ligne aussi ouvert et décentralisé réduit considérablement les barrières à l'entrée pour les utilisateurs, puisqu'il n'est pas nécessaire d'installer et de configurer leur propre nœud. Dans le même temps, l'utilisateur reste maître de ses données (il peut à tout moment changer le service auquel la publication des données est déléguée ou créer son propre nœud).

Si l'utilisateur n'est pas du tout intéressé à posséder ses données et ne possède pas son propre domaine ou quelqu'un familier avec le domaine, alors par défaut ses données sont gérées par opendatahub.org.

Aux frais de qui tout cela ?

Le principal problème de presque tous ces projets décentralisés est peut-être l’incapacité de les monétiser à un niveau suffisant pour un développement et un soutien stables.

Les jetons Donate + sont utilisés pour couvrir les coûts de développement et de marketing dans cet environnement en ligne.

Tous les dons que les utilisateurs font à des projets/services internes sont accessibles au public, lisibles par machine et liés au courrier électronique. Cela permet par exemple de les prendre en compte lors du calcul de la note sociale en ligne et de les publier sur les pages des utilisateurs. Lorsque les dons cessent d’être anonymes, alors en fait les utilisateurs ne font pas de dons, mais « contribuent » pour soutenir l’environnement général de l’information. Tout comme les gens contribuent à réparer les espaces communs avec une attitude appropriée envers ceux qui refusent de contribuer.

En plus des dons, pour collecter des fonds, on utilise des jetons émis en quantité limitée (400.000 XNUMX), qui sont attribués à tous ceux qui font des dons au fonds principal (ethnogenèse).

Fonctionnalités supplémentaires des jetons

Chaque jeton est une « clé » d’accès à cet environnement en ligne. Autrement dit, vous ne pouvez utiliser les services et faire partie de l'environnement en ligne que si vous disposez d'au moins 1 jeton lié à un e-mail.

Les jetons constituent un bon filtre anti-spam en raison de leur nature limitée. Plus il y a d’utilisateurs dans le système, plus il est difficile d’obtenir un token et plus la création de robots est coûteuse.

Les individus, leurs données et leurs liens sociaux sont plus importants que la technologie

L'environnement en ligne décrit est techniquement une solution relativement primitive. Mais le plus important n’est pas tant la technologie que les personnes, les connexions sociales et les données (contenus) créées dans l’environnement.

La communauté sociale créée, dont les membres disposent de leurs propres identifiants universels (email et leur propre domaine) et de données structurées (avec adresses URN, ontologie et objets JSON), lorsqu'une meilleure solution technique apparaît, peut transférer toutes ces données vers un autre environnement en ligne, tout en maintenant les connexions formées (notes, notes) et le contenu.

Cet article décrit l'un des éléments d'une communauté réseau auto-organisée qui, en plus de l'environnement en ligne décentralisé, comprend un certain nombre de zones hors ligne qui augmentent les avantages de l'environnement en ligne et sont des « clients » qui déterminent en grande partie sa fonctionnalité. Mais ce sont des sujets pour d’autres articles qui ne sont pas directement liés à l’informatique et à la technologie.

Source: habr.com

Ajouter un commentaire