Informatieomgeving gebaseerd op Open Data principes

Informatieomgeving gebaseerd op Open Data principes

De voorgestelde informatieomgeving is een soort gedecentraliseerd sociaal netwerk. Maar in tegenstelling tot veel bestaande oplossingen heeft deze omgeving naast decentralisatie nog een aantal nuttige eigenschappen en wordt gecreëerd op basis van vrij eenvoudige en standaard technische oplossingen (e-mail, json, tekstbestanden en een beetje blockchain). Hierdoor kan iedereen met basiskennis van programmeren zijn eigen services voor deze omgeving creëren.

Universele ID

In elke online omgeving zijn gebruikers- en object-ID's een van de belangrijkste elementen van het systeem.

In dit geval is de gebruikersidentificatie e-mail, wat feitelijk een algemeen geaccepteerde identificatie is geworden voor autorisatie op websites en andere diensten (jaber, openId).

In feite is de gebruikers-ID in een bepaalde online omgeving het login+domein-paar, dat voor het gemak is geschreven in de voor de meesten bekende vorm. Tegelijkertijd is het voor een grotere decentralisatie raadzaam dat elke gebruiker een eigen domein heeft. Dat komt dicht in de buurt van de principes van indieweb, waarbij een domein wordt gebruikt als gebruikersidentificatie. In ons geval voegt de gebruiker een bijnaam toe aan zijn domein, waardoor hij meerdere accounts op één domein kan aanmaken (bijvoorbeeld voor vrienden) en het adressysteem flexibeler wordt.

Dit gebruikers-ID-formaat is aan geen enkel netwerk gebonden. Als een gebruiker zijn gegevens op het TOR-netwerk plaatst, kan hij domeinen in de .onion-zone gebruiken; als dit een netwerk is met een DNS-systeem op de blockchain, dan domeinen in de .bit-zone. Hierdoor is het formaat voor het aanspreken van gebruikers en hun gegevens niet afhankelijk van het netwerk waarover ze worden verzonden (de combinatie login+domein wordt overal gebruikt). Voor degenen die een bitcoin/ethereum-adres als identificatie willen gebruiken, kunt u het systeem aanpassen om pseudo-e-mailadressen van het formulier te gebruiken [email protected]

Objecten adresseren

Deze online omgeving is eigenlijk een verzameling objecten die in een gestructureerde, machinaal leesbare vorm worden beschreven, verwijzen naar andere objecten en gebonden zijn aan een specifieke gebruiker (e-mail) of project/organisatie (domein).

urnen in de naamruimte urn:opendata worden gebruikt als object-ID's. Een gebruikersprofiel heeft bijvoorbeeld een adres als:

urn:opendata:profile:[email protected]

De gebruikerscommentaar heeft een adres als:

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

waarbij 08adbed93413782682fd25da77bd93c99dfd0548 een willekeurige sha-1-hash is die fungeert als de object-ID, en [e-mail beveiligd] — de eigenaar van dit object.

Principe van het publiceren van gebruikersgegevens

Omdat hij zijn eigen domein onder controle heeft, kan de gebruiker eenvoudig zijn gegevens en inhoud publiceren. En in tegenstelling tot indiebeb hoef je hiervoor geen website te maken met html-pagina's met ingebouwde semantische gegevens.

Basisinformatie over de gebruiker bevindt zich bijvoorbeeld in het bestand datarobots.txt, dat zich op een adres als

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

En het heeft inhoud zoals deze:

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

Dat wil zeggen dat het in feite een reeks strings is met gegevens in de vorm sleutel->waarde, waarbij het parseren een eenvoudige taak is voor iedereen met basiskennis van programmeren. En u kunt de gegevens desgewenst bewerken met een gewoon notitieblok.

Complexere gegevens (profiel, commentaar, bericht, enz.), die een eigen urn hebben, worden als JSON-object verzonden met behulp van de standaard API (http://opendatahub.org/api_1.0?lang=ru), die bevinden zich op het domein van de gebruiker en op een site van derden waaraan de gebruiker de opslag, publicatie en bewerking van zijn gegevens heeft gedelegeerd (in de regel Services-Enabled van het bestand datarobots.txt). Dergelijke diensten van derden worden hieronder beschreven.

Eenvoudige ontologie en JSON

De ontologie van de communicatieomgeving is relatief eenvoudig vergeleken met ontologieën van industriële kennisbanken. Omdat er in de communicatieomgeving een relatief kleine set standaardobjecten is (post, commentaar, like, profiel, recensie) met een relatief kleine set eigenschappen.

Om objecten in een dergelijke omgeving te beschrijven, volstaat het daarom om JSON te gebruiken in plaats van XML, dat complexer is qua structuur en parsering (het is belangrijk om de noodzaak van een lage instapdrempel en schaalbaarheid niet te vergeten).

Om een ​​object met een bekende urn te verkrijgen, moeten we contact opnemen met het domein van de gebruiker, of met externe diensten waaraan de gebruiker het beheer van zijn gegevens heeft gedelegeerd.

In deze online omgeving heeft elk domein waarop een online dienst bestaat ook zijn eigen datarobots.txt op een adres als example.com/datarobots.txt met vergelijkbare inhoud:

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

Waaruit we kunnen leren dat we gegevens kunnen verkrijgen over een object op een adres als:

http://newethnos.ru/api?urn=urn:opendata:profile:[e-mail beveiligd]

Het JSON-object heeft de volgende structuur:

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

Service-architectuur

Diensten van derden zijn nodig om het proces van het publiceren en zoeken van gegevens voor eindgebruikers te vereenvoudigen.

Hierboven genoemd is een van de soorten diensten waarmee de gebruiker zijn gegevens op het netwerk kan publiceren. Er kunnen veel vergelijkbare services zijn, die de gebruiker elk een handige interface bieden voor het bewerken van een van de soorten gegevens (forum, blog, vraag-antwoord, enz.). Als de gebruiker de diensten van derden niet vertrouwt, kan hij een dataservicescript op zijn domein installeren of zelf ontwikkelen.

Naast diensten waarmee gebruikers gegevens kunnen publiceren/bewerken, biedt de online omgeving een aantal andere diensten die relatief complexe taken uitvoeren die nogal problematisch zijn om te implementeren op knooppunten van eindgebruikers.

Eén type van dergelijke diensten zijn datahubs ( opendatahub.org/ru - voorbeeld), dat fungeert als een soort webarchief dat alle openbare, machinaal leesbare gebruikersgegevens verzamelt en hiertoe toegang biedt via API.

De aanwezigheid van diensten in een dergelijke open, gedecentraliseerde online-omgeving verlaagt de toegangsbarrière voor gebruikers aanzienlijk, omdat het niet nodig is een eigen knooppunt te installeren en configureren. Tegelijkertijd behoudt de gebruiker de controle over zijn gegevens (hij kan op elk moment de dienst wijzigen waaraan de publicatie van gegevens is gedelegeerd of zijn eigen knooppunt creëren).

Als de gebruiker helemaal niet geïnteresseerd is in het bezit van zijn gegevens en geen eigen domein heeft of iemand die bekend is met het domein, dan worden zijn gegevens standaard beheerd door opendatahub.org.

Op wiens kosten is dit allemaal?

Misschien wel het grootste probleem van bijna al dit soort gedecentraliseerde projecten is het onvermogen om ze te gelde te maken op een niveau dat voldoende is voor stabiele ontwikkeling en ondersteuning.

Doneer + tokens worden gebruikt om de ontwikkelings- en marketingkosten in deze online omgeving te dekken.

Alle donaties die gebruikers doen aan interne projecten/diensten zijn openbaar beschikbaar, machinaal leesbaar en gekoppeld aan e-mail. Hierdoor kan er bijvoorbeeld rekening mee worden gehouden bij de berekening van de online sociale beoordeling en kunnen ze op gebruikerspagina's worden gepubliceerd. Wanneer donaties niet langer anoniem zijn, doneren gebruikers in feite niet, maar ‘steken ze mee’ om de algemene informatieomgeving te ondersteunen. Net zoals mensen een bijdrage leveren om gemeenschappelijke ruimtes te repareren, met een gepaste houding ten opzichte van mensen die weigerden mee te werken.

Om geld in te zamelen, worden naast donaties ook tokens gebruikt die in een beperkte hoeveelheid (400.000) worden uitgegeven en die worden toegekend aan iedereen die donaties doet aan het hoofdfonds (etnogenese).

Extra tokenfuncties

Elke token is een ‘sleutel’ voor toegang tot deze online omgeving. Dat wil zeggen dat u alleen gebruik kunt maken van diensten en deel kunt uitmaken van de online omgeving als u minimaal 1 token heeft dat aan een e-mail is gekoppeld.

Tokens zijn een goed spamfilter vanwege hun beperkte karakter. Hoe meer gebruikers er in het systeem zijn, hoe moeilijker het is om een ​​token te verkrijgen en hoe duurder het is om bots te maken.

Mensen, hun data en sociale connecties zijn belangrijker dan technologie

De beschreven online omgeving is technisch gezien een relatief primitieve oplossing. Maar het belangrijkste daarin is niet zozeer de technologie als wel de mensen en de sociale verbindingen en gegevens (inhoud) die in de omgeving worden gecreëerd.

De gecreëerde sociale gemeenschap, waarvan de leden hun eigen universele identificatiegegevens (e-mail en hun eigen domein) en gestructureerde gegevens (met URN-adressen, ontologie en JSON-objecten) hebben, kan, wanneer er een betere technische oplossing verschijnt, al deze gegevens overbrengen naar een andere online omgeving, met behoud van de gevormde verbindingen (ratings, ratings) en inhoud.

Dit bericht beschrijft een van de elementen van een zelfgeorganiseerde netwerkgemeenschap, die naast de gedecentraliseerde online-omgeving een aantal offline gebieden omvat die de voordelen van de online-omgeving vergroten en ‘klanten’ zijn die grotendeels de functionaliteit ervan bepalen. Maar dit zijn onderwerpen voor andere artikelen die niet direct verband houden met IT en technologie.

Bron: www.habr.com

Voeg een reactie