Informationsmiljö baserad på Open Data-principer

Informationsmiljö baserad på Open Data-principer

Den föreslagna informationsmiljön är ett slags decentraliserat socialt nätverk. Men till skillnad från många befintliga lösningar har denna miljö ett antal användbara egenskaper utöver decentralisering och skapas utifrån ganska enkla och standardiserade tekniska lösningar (e-post, json, textfiler och lite blockchain). Detta gör att alla med grundläggande programmeringskunskaper kan skapa sina egna tjänster för denna miljö.

Universellt ID

I vilken onlinemiljö som helst är användar- och objektidentifierare en av nyckeldelarna i systemet.

I det här fallet är användaridentifieraren e-post, som faktiskt har blivit en allmänt accepterad identifierare för auktorisering på webbplatser och andra tjänster (jaber, openId).

Faktum är att användaridentifieraren i en given onlinemiljö är inloggning+domänparet, som för enkelhetens skull skrivs i den form som är bekant för de flesta. Samtidigt, för större decentralisering, är det lämpligt att varje användare har sin egen domän. Vilket ligger nära principerna för indieweb, där en domän används som användaridentifierare. I vårt fall lägger användaren till ett smeknamn till sin domän, vilket gör att han kan skapa flera konton på en domän (för vänner till exempel) och gör adresssystemet mer flexibelt.

Detta användar-ID-format är inte kopplat till något nätverk. Om en användare placerar sina data på TOR-nätverket kan han använda domäner i .onion-zonen, om detta är ett nätverk med ett DNS-system på blockkedjan, då domäner i .bit-zonen. Som ett resultat beror formatet för att adressera användare och deras data inte på nätverket genom vilket de överförs (kombinationen inloggning+domän används överallt). För de som vill använda en bitcoin/ethereum-adress som identifierare kan du modifiera systemet för att använda pseudo-e-postadresser i formuläret [email protected]

Adressera objekt

Denna onlinemiljö är faktiskt en uppsättning objekt som beskrivs i en strukturerad, maskinläsbar form, refererar till andra objekt och är knutna till en specifik användare (e-post) eller projekt/organisation (domän).

urnor i namnutrymmet urn:opendata används som objektidentifierare. Till exempel har en användarprofil en adress som:

urn:opendata:profile:[email protected]

Användarkommentaren har en adress som:

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

där 08adbed93413782682fd25da77bd93c99dfd0548 är en slumpmässig sha-1-hash som fungerar som objekt-id, och [e-postskyddad] — ägaren till detta föremål.

Principen för publicering av användardata

Genom att ha din egen domän under kontroll kan användaren enkelt publicera sin data och sitt innehåll. Och till skillnad från indiebeb kräver detta inte att man skapar en webbplats med html-sidor med inbyggd semantisk data.

Till exempel finns grundläggande information om användaren i filen datarobots.txt, som finns på en adress som

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

Och den har innehåll så här:

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

Det vill säga, i själva verket är det en uppsättning strängar med data av formen key->value, parsing vilket är en enkel uppgift för alla med grundläggande programmeringskunskaper. Och du kan redigera data om du vill använda ett vanligt anteckningsblock.

Mer komplex data (profil, kommentar, inlägg, etc.), som har sin egen urn, skickas som ett JSON-objekt med hjälp av standard-API:et (http://opendatahub.org/api_1.0?lang=ru), som kan vara placerad som på användarens domän och på en tredjepartswebbplats till vilken användaren har delegerat lagring, publicering och redigering av sina data (på raden Services-Enabled i filen datarobots.txt). Sådana tredjepartstjänster beskrivs nedan.

Enkel ontologi och JSON

Kommunikationsmiljöns ontologi är relativt enkel jämfört med ontologier för industrikunskapsbaser. Eftersom det i kommunikationsmiljön finns en relativt liten uppsättning standardobjekt (inlägg, kommentera, gilla, profil, recension) med en relativt liten uppsättning egenskaper.

För att beskriva objekt i en sådan miljö räcker det därför att använda JSON istället för XML, som är mer komplex i struktur och analys (det är viktigt att inte glömma behovet av en låg ingångströskel och skalbarhet).

För att erhålla ett objekt med en känd urna måste vi kontakta användarens domän, eller tredjepartstjänster till vilka användaren har delegerat hanteringen av sina uppgifter.

I den här onlinemiljön har varje domän där en onlinetjänst finns också sin egen datarobots.txt som finns på en adress som example.com/datarobots.txt med liknande innehåll:

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

Av vilken vi kan lära oss att vi kan få data om ett objekt på en adress som:

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

JSON-objektet har följande 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
        }
    }
}

Tjänstearkitektur

Tredjepartstjänster är nödvändiga för att förenkla processen för publicering och sökning av data för slutanvändare.

Ovan nämns en av de typer av tjänster som hjälper användaren att publicera sin data på nätverket. Det kan finnas många liknande tjänster, som var och en ger användaren ett bekvämt gränssnitt för att redigera en av typerna av data (forum, blogg, frågesvar, etc.). Om användaren inte litar på tredjepartstjänster kan han installera ett datatjänstskript på sin domän eller utveckla det själv.

Utöver tjänster som tillåter användare att publicera/redigera data, tillhandahåller onlinemiljön ett antal andra tjänster som utför relativt komplexa uppgifter som är ganska problematiska att implementera på slutanvändarnoder.

En typ av sådan tjänst är datahubbar ( opendatahub.org/en - exempel), fungerar som ett slags webbarkiv som samlar in all offentlig maskinläsbar användardata och ger tillgång till den via API.

Närvaron av tjänster i en sådan öppen, decentraliserad onlinemiljö minskar avsevärt inträdesbarriären för användare, eftersom det inte finns något behov av att installera och konfigurera sin egen nod. Samtidigt förblir användaren kontrollen över sina data (han kan när som helst ändra tjänsten till vilken publiceringen av data delegeras eller skapa sin egen nod).

Om användaren inte alls är intresserad av att äga sin data och inte har sin egen domän eller någon som är bekant med domänen, hanteras som standard hans data av opendatahub.org.

På vems bekostnad är allt detta?

Det kanske största problemet med nästan alla sådana decentraliserade projekt är oförmågan att tjäna pengar på dem på en nivå som är tillräcklig för stabil utveckling och stöd.

Donera + tokens används för att täcka utvecklings- och marknadsföringskostnader i denna onlinemiljö.

Alla donationer som användare gör till interna projekt/tjänster är allmänt tillgängliga, maskinläsbara och länkade till e-post. Detta gör att de kan tas med i beräkningen, till exempel vid beräkning av det sociala betyget online och publiceras på användarsidor. När donationer upphör att vara anonyma donerar användarna i själva verket inte, utan "chippar in" för att stödja den allmänna informationsmiljön. Precis som folk chippar in för att reparera gemensamma utrymmen med en lämplig inställning till de människor som vägrat chipa in.

Förutom donationer, för att samla in pengar, används polletter utgivna i en begränsad mängd (400.000 XNUMX), som delas ut till alla som gör donationer till huvudfonden (etnogenesis).

Ytterligare token-funktioner

Varje token är en "nyckel" för åtkomst till denna onlinemiljö. Det vill säga att du kan använda tjänster och vara en del av onlinemiljön endast om du har minst 1 token som är knuten till ett e-postmeddelande.

Tokens är ett bra spamfilter på grund av deras begränsade natur. Ju fler användare det finns i systemet, desto svårare är det att skaffa en token och desto dyrare är det att skapa bots.

Människor, deras data och sociala kontakter är viktigare än teknik

Den beskrivna onlinemiljön är tekniskt sett en relativt primitiv lösning. Men det viktigare i det är inte så mycket teknik som människor och de sociala kopplingar och data (innehåll) som skapas inom miljön.

Den skapade sociala gemenskapen, vars medlemmar har sina egna universella identifierare (e-post och sin egen domän) och strukturerad data (med URN-adresser, ontologi och JSON-objekt), när en bättre teknisk lösning dyker upp, kan överföra all denna data till en annan onlinemiljö, samtidigt som de bildade kopplingarna (betyg, betyg) och innehåll bibehålls.

Det här inlägget beskriver ett av elementen i en självorganiserad nätverksgemenskap, som förutom den decentraliserade onlinemiljön inkluderar ett antal offlineområden som ökar fördelarna med onlinemiljön och är "kunder" som till stor del bestämmer dess funktionalitet. Men det här är ämnen för andra artiklar som inte är direkt relaterade till IT och teknik.

Källa: will.com

Lägg en kommentar