Informasjonsmiljø basert på Open Data-prinsipper

Informasjonsmiljø basert på Open Data-prinsipper

Det foreslåtte informasjonsmiljøet er et slags desentralisert sosialt nettverk. Men i motsetning til mange eksisterende løsninger har dette miljøet en rekke nyttige egenskaper i tillegg til desentralisering og er skapt på grunnlag av ganske enkle og standard tekniske løsninger (e-post, json, tekstfiler og litt blokkjede). Dette lar alle med grunnleggende programmeringskunnskaper lage sine egne tjenester for dette miljøet.

Universell ID

I ethvert nettmiljø er bruker- og objektidentifikatorer et av nøkkelelementene i systemet.

I dette tilfellet er brukeridentifikatoren e-post, som faktisk har blitt en allment akseptert identifikator for autorisasjon på nettsteder og andre tjenester (jaber, openId).

Faktisk er brukeridentifikatoren i et gitt nettmiljø paret pålogging+domene, som for enkelhets skyld er skrevet i den formen som er kjent for de fleste. Samtidig, for større desentralisering, anbefales det at hver bruker har sitt eget domene. Noe som er nær prinsippene for indieweb, hvor et domene brukes som brukeridentifikator. I vårt tilfelle legger brukeren til et kallenavn til domenet sitt, som lar ham opprette flere kontoer på ett domene (for venner, for eksempel) og gjør adressesystemet mer fleksibelt.

Dette bruker-ID-formatet er ikke knyttet til noe nettverk. Hvis en bruker plasserer dataene sine på TOR-nettverket, kan han bruke domener i .onion-sonen, hvis dette er et nettverk med DNS-system på blokkjeden, så domener i .bit-sonen. Som et resultat avhenger ikke formatet for adressering av brukere og deres data av nettverket de overføres gjennom (kombinasjonen pålogging+domene brukes overalt). For de som ønsker å bruke en bitcoin/ethereum-adresse som identifikator, kan du endre systemet til å bruke pseudo-e-postadresser til skjemaet [email protected]

Adressering av objekter

Dette nettmiljøet er faktisk et sett med objekter som er beskrevet i en strukturert, maskinlesbar form, refererer til andre objekter og er knyttet til en spesifikk bruker (e-post) eller prosjekt/organisasjon (domene).

urner i navneområdet urn:opendata brukes som objektidentifikatorer. For eksempel har en brukerprofil en adresse som:

urn:opendata:profile:[email protected]

Brukerkommentaren har en adresse som:

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

der 08adbed93413782682fd25da77bd93c99dfd0548 er en tilfeldig sha-1-hash som fungerer som objekt-ID, og [e-postbeskyttet] — eieren av denne gjenstanden.

Prinsipp for publisering av brukerdata

Ved å ha ditt eget domene under kontroll, kan brukeren enkelt publisere sine data og innhold. Og i motsetning til indiebeb, krever ikke dette å lage en nettside med html-sider med innebygde semantiske data.

For eksempel ligger grunnleggende informasjon om brukeren i filen datarobots.txt, som ligger på en adresse som

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

Og den har innhold som dette:

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

Det vil si at det faktisk er et sett med strenger med data av formen nøkkel->verdi, parsing som er en enkel oppgave for alle med grunnleggende programmeringskunnskaper. Og du kan redigere dataene hvis du ønsker å bruke en vanlig notisblokk.

Mer komplekse data (profil, kommentar, innlegg osv.), som har sin egen urne, sendes som et JSON-objekt ved hjelp av standard API (http://opendatahub.org/api_1.0?lang=ru), som kan være lokalisert som på brukerens domene, og på en tredjepartsside som brukeren har delegert lagring, publisering og redigering av dataene sine til (i Tjenester-aktiverte linjen i datarobots.txt-filen). Slike tredjepartstjenester er beskrevet nedenfor.

Enkel ontologi og JSON

Ontologien til kommunikasjonsmiljøet er relativt enkel sammenlignet med ontologier til industrikunnskapsbaser. Siden i kommunikasjonsmiljøet er det et relativt lite sett med standardobjekter (innlegg, kommenter, liker, profil, anmeldelse) med et relativt lite sett med egenskaper.

Derfor, for å beskrive objekter i et slikt miljø, er det nok å bruke JSON i stedet for XML, som er mer kompleks i struktur og parsing (det er viktig å ikke glemme behovet for en lav inngangsterskel og skalerbarhet).

For å få tak i et objekt med en kjent urne, må vi kontakte brukerens domene, eller tredjepartstjenester som brukeren har delegert administrasjon av sine data til.

I dette nettbaserte miljøet har hvert domene som det finnes en nettjeneste på, også sin egen datarobots.txt som ligger på en adresse som example.com/datarobots.txt med lignende innhold:

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

Fra hvilket vi kan lære at vi kan få data om et objekt på en adresse som:

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

JSON-objektet har følgende struktur:

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

Tjenestearkitektur

Tredjepartstjenester er nødvendige for å forenkle prosessen med å publisere og søke etter data for sluttbrukere.

Nevnt ovenfor er en av typene tjenester som hjelper brukeren med å publisere sine data på nettverket. Det kan være mange lignende tjenester, som hver gir brukeren et praktisk grensesnitt for å redigere en av datatypene (forum, blogg, spørsmål-svar, etc.). Hvis brukeren ikke stoler på tredjepartstjenester, kan han installere et datatjenesteskript på domenet sitt eller utvikle det selv.

I tillegg til tjenester som lar brukere publisere/redigere data, tilbyr nettmiljøet en rekke andre tjenester som utfører relativt komplekse oppgaver som er ganske problematiske å implementere på sluttbrukernoder.

En type slik tjeneste er datahuber ( opendatahub.org/en - eksempel), fungerer som et slags nettarkiv som samler alle offentlige maskinlesbare brukerdata og gir tilgang til dem via API.

Tilstedeværelsen av tjenester i et så åpent, desentralisert nettmiljø reduserer inngangsbarrieren for brukere betydelig, siden det ikke er behov for å installere og konfigurere sin egen node. Samtidig forblir brukeren i kontroll over dataene sine (han kan når som helst endre tjenesten som publiseringen av data er delegert til eller opprette sin egen node).

Hvis brukeren ikke er interessert i å eie dataene sine og ikke har sitt eget domene eller noen som er kjent med domenet, administreres dataene hans som standard av opendatahub.org.

På hvem sin bekostning er alt dette?

Kanskje hovedproblemet med nesten alle slike desentraliserte prosjekter er manglende evne til å tjene penger på dem på et nivå som er tilstrekkelig for stabil utvikling og støtte.

Donere + tokens brukes til å dekke utviklings- og markedsføringskostnader i dette nettbaserte miljøet.

Alle donasjoner som brukere gir til interne prosjekter/tjenester er offentlig tilgjengelige, maskinlesbare og knyttet til e-post. Dette gjør at de kan tas i betraktning, for eksempel ved beregning av den sosiale vurderingen på nett og publisert på brukersider. Når donasjoner slutter å være anonyme, donerer faktisk ikke brukere, men "chipper inn" for å støtte det generelle informasjonsmiljøet. Akkurat som folk chiper inn for å reparere fellesarealer med en passende holdning til de menneskene som nektet å chipe inn.

I tillegg til donasjoner, for å skaffe midler, brukes tokens utstedt i begrenset mengde (400.000 XNUMX), som deles ut til alle som gir donasjoner til hovedfondet (etnogenese).

Ytterligere token-funksjoner

Hvert token er en "nøkkel" for tilgang til dette nettbaserte miljøet. Det vil si at du kan bruke tjenester og være en del av nettmiljøet bare hvis du har minst 1 token som er knyttet til en e-post.

Tokens er et godt spamfilter på grunn av deres begrensede natur. Jo flere brukere det er i systemet, desto vanskeligere er det å skaffe et token og jo dyrere er det å lage roboter.

Mennesker, deres data og sosiale forbindelser er viktigere enn teknologi

Det beskrevne nettmiljøet er teknisk sett en relativt primitiv løsning. Men det viktigste i det er ikke så mye teknologi som mennesker og de sosiale forbindelsene og dataene (innholdet) som skapes i miljøet.

Det opprettede sosiale fellesskapet, hvis medlemmer har sine egne universelle identifikatorer (e-post og eget domene) og strukturerte data (med URN-adresser, ontologi og JSON-objekter), når en bedre teknisk løsning dukker opp, kan overføre alle disse dataene til et annet nettmiljø, mens du opprettholder de dannede forbindelsene (vurderinger, rangeringer) og innhold.

Dette innlegget beskriver et av elementene i et selvorganisert nettverkssamfunn, som i tillegg til det desentraliserte nettmiljøet inkluderer en rekke offline-områder som øker fordelene med nettmiljøet og er "kunder" som i stor grad bestemmer funksjonaliteten. Men dette er tema for andre artikler som ikke er direkte relatert til IT og teknologi.

Kilde: www.habr.com

Legg til en kommentar