Kapaligiran ng impormasyon batay sa mga prinsipyo ng Open Data

Kapaligiran ng impormasyon batay sa mga prinsipyo ng Open Data

Ang iminungkahing kapaligiran ng impormasyon ay isang uri ng desentralisadong social network. Ngunit hindi tulad ng maraming umiiral na mga solusyon, ang kapaligiran na ito ay may isang bilang ng mga kapaki-pakinabang na katangian bilang karagdagan sa desentralisasyon at nilikha batay sa medyo simple at karaniwang mga teknikal na solusyon (email, json, mga text file at isang maliit na blockchain). Pinapayagan nito ang sinumang may pangunahing kaalaman sa programming na lumikha ng kanilang sariling mga serbisyo para sa kapaligirang ito.

Pangkalahatang ID

Sa anumang online na kapaligiran, ang user at object identifier ay isa sa mga pangunahing elemento ng system.

Sa kasong ito, ang user identifier ay email, na talagang naging pangkalahatang tinatanggap na identifier para sa pahintulot sa mga website at iba pang mga serbisyo (jaber, openId).

Sa katunayan, ang user identifier sa isang partikular na online na kapaligiran ay ang login+domain pares, na para sa kaginhawahan ay nakasulat sa form na pamilyar sa karamihan. Kasabay nito, para sa higit na desentralisasyon, ipinapayong magkaroon ng sariling domain ang bawat user. Na malapit sa mga prinsipyo ng indieweb, kung saan ginagamit ang isang domain bilang isang identifier ng user. Sa aming kaso, ang user ay nagdaragdag ng isang palayaw sa kanyang domain, na nagbibigay-daan sa kanya na lumikha ng ilang mga account sa isang domain (para sa mga kaibigan, halimbawa) at ginagawang mas flexible ang addressing system.

Ang format ng user ID na ito ay hindi nakatali sa anumang network. Kung inilalagay ng isang user ang kanyang data sa TOR network, maaari siyang gumamit ng mga domain sa .onion zone, kung ito ay isang network na may DNS system sa blockchain, pagkatapos ay mga domain sa .bit zone. Bilang resulta, ang format para sa pagtugon sa mga user at ang kanilang data ay hindi nakadepende sa network kung saan sila ipinapadala (ang kumbinasyon ng login+domain ay ginagamit kahit saan). Para sa mga gustong gumamit ng bitcoin/ethereum address bilang identifier, maaari mong baguhin ang system para gumamit ng mga pseudo email address ng form. [email protected]

Pagtugon sa mga bagay

Ang online na kapaligiran na ito ay talagang isang hanay ng mga bagay na inilalarawan sa isang structured, nababasa ng machine na anyo, sumangguni sa iba pang mga bagay at nakatali sa isang partikular na user (email) o proyekto/organisasyon (domain).

Ang mga urn sa urn:opendata namespace ay ginagamit bilang mga object identifier. Halimbawa, ang isang profile ng user ay may address tulad ng:

urn:opendata:profile:[email protected]

Ang komento ng user ay may address tulad ng:

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

kung saan ang 08adbed93413782682fd25da77bd93c99dfd0548 ay isang random na sha-1 hash na kumikilos bilang object id, at [protektado ng email] β€” ang may-ari ng bagay na ito.

Prinsipyo ng pag-publish ng data ng user

Ang pagkakaroon ng iyong sariling domain sa ilalim ng kontrol, ang user ay madaling mai-publish ang kanyang data at nilalaman. At hindi tulad ng indiebeb, hindi ito nangangailangan ng paglikha ng isang website na may mga html na pahina na may built-in na semantic data.

Halimbawa, ang pangunahing impormasyon tungkol sa user ay matatagpuan sa file na datarobots.txt, na matatagpuan sa isang address tulad ng

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

At mayroon itong nilalaman tulad nito:

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

Iyon ay, sa katunayan, ito ay isang set ng mga string na may data ng form key->value, pag-parse na isang simpleng gawain para sa sinumang may pangunahing kaalaman sa programming. At maaari mong i-edit ang data kung nais mong gumamit ng isang regular na notepad.

Ang mas kumplikadong data (profile, komento, post, atbp.), na may sarili nitong urn, ay ipinapadala bilang JSON object gamit ang karaniwang API (http://opentahub.org/api_1.0?lang=ru), na maaaring ay matatagpuan sa domain ng user, at sa isang third-party na site kung saan pinaglaanan ng user ang storage, publication at pag-edit ng kanyang data (sa Services-Enabled line ng datarobots.txt file). Ang ganitong mga serbisyo ng third-party ay inilarawan sa ibaba.

Simpleng ontolohiya at JSON

Ang ontolohiya ng kapaligiran ng komunikasyon ay medyo simple kumpara sa mga ontolohiya ng mga base ng kaalaman sa industriya. Dahil sa kapaligiran ng komunikasyon mayroong isang medyo maliit na hanay ng mga karaniwang bagay (post, komento, tulad ng, profile, pagsusuri) na may medyo maliit na hanay ng mga katangian.

Samakatuwid, upang ilarawan ang mga bagay sa ganoong kapaligiran, sapat na ang paggamit ng JSON sa halip na XML, na mas kumplikado sa istraktura at pag-parse (mahalaga na huwag kalimutan ang tungkol sa pangangailangan para sa isang mababang entry threshold at scalability).

Upang makakuha ng isang bagay na may kilalang urn, kailangan naming makipag-ugnayan sa domain ng user, o mga serbisyo ng third-party kung saan pinaglaanan ng user ang pamamahala ng kanyang data.

Sa online na kapaligirang ito, ang bawat domain kung saan mayroong online na serbisyo ay mayroon ding sariling datarobots.txt na matatagpuan sa isang address tulad ng example.com/datarobots.txt na may katulad na nilalaman:

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

Mula sa kung saan maaari nating malaman na makakakuha tayo ng data tungkol sa isang bagay sa isang address tulad ng:

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

Ang object ng JSON ay may sumusunod na istraktura:

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

Arkitektura ng serbisyo

Ang mga serbisyo ng third-party ay kinakailangan upang pasimplehin ang proseso ng pag-publish at paghahanap ng data para sa mga end user.

Ang binanggit sa itaas ay isa sa mga uri ng serbisyo na tumutulong sa user na i-publish ang kanyang data sa network. Maaaring mayroong maraming katulad na mga serbisyo, bawat isa ay nagbibigay sa user ng isang maginhawang interface para sa pag-edit ng isa sa mga uri ng data (forum, blog, tanong-sagot, atbp.). Kung ang user ay hindi nagtitiwala sa mga serbisyo ng third-party, maaari siyang mag-install ng script ng serbisyo ng data sa kanyang domain o bumuo nito mismo.

Bilang karagdagan sa mga serbisyong nagbibigay-daan sa mga user na mag-publish/mag-edit ng data, ang online na kapaligiran ay nagbibigay ng ilang iba pang mga serbisyo na nagsasagawa ng medyo kumplikadong mga gawain na medyo may problemang ipatupad sa mga end-user node.

Ang isang uri ng naturang serbisyo ay mga data hub ( opendatahub.org/en - halimbawa), na kumikilos bilang isang uri ng web archive na nangongolekta ng lahat ng pampublikong machine-readable na data ng user at nagbibigay ng access dito sa pamamagitan ng API.

Ang pagkakaroon ng mga serbisyo sa isang bukas, desentralisadong online na kapaligiran ay makabuluhang binabawasan ang hadlang sa pagpasok para sa mga gumagamit, dahil hindi na kailangang i-install at i-configure ang kanilang sariling node. Kasabay nito, ang user ay nananatiling may kontrol sa kanyang data (sa anumang oras ay maaari niyang baguhin ang serbisyo kung saan ang paglalathala ng data ay itinalaga o lumikha ng kanyang sariling node).

Kung ang user ay hindi interesado sa pagmamay-ari ng kanyang data at walang sariling domain o isang taong pamilyar sa domain, kung gayon bilang default ang kanyang data ay pinamamahalaan ng opendatatahub.org.

Kaninong gastos ang lahat ng ito?

Marahil ang pangunahing problema ng halos lahat ng naturang desentralisadong proyekto ay ang kawalan ng kakayahang pagkakitaan ang mga ito sa antas na sapat para sa matatag na pag-unlad at suporta.

Ang mga donate + token ay ginagamit upang masakop ang mga gastos sa pagpapaunlad at marketing sa online na kapaligirang ito.

Ang lahat ng mga donasyon na ginagawa ng mga user sa mga panloob na proyekto/serbisyo ay magagamit ng publiko, nababasa ng makina at naka-link sa email. Nagbibigay-daan ito sa kanila na isaalang-alang, halimbawa, kapag kinakalkula ang online na social rating at nai-publish sa mga pahina ng user. Kapag ang mga donasyon ay tumigil sa pagiging anonymous, sa katunayan ang mga gumagamit ay hindi nag-donate, ngunit "chip in" upang suportahan ang pangkalahatang kapaligiran ng impormasyon. Tulad ng mga taong nag-chip in upang ayusin ang mga karaniwang lugar na may naaangkop na saloobin sa mga taong tumangging pumasok.

Bilang karagdagan sa mga donasyon, upang makalikom ng mga pondo, ang mga token na inisyu sa isang limitadong dami (400.000) ay ginagamit, na iginagawad sa lahat ng gumagawa ng mga donasyon sa pangunahing pondo (ethnogenesis).

Mga karagdagang tampok ng token

Ang bawat token ay isang "susi" para sa pag-access sa online na kapaligirang ito. Ibig sabihin, maaari kang gumamit ng mga serbisyo at maging bahagi lamang ng online na kapaligiran kung mayroon kang hindi bababa sa 1 token na nakatali sa isang email.

Ang mga token ay isang mahusay na filter ng spam dahil sa kanilang limitadong katangian. Kung mas maraming user ang nasa system, mas mahirap makakuha ng token at mas mahal ang paggawa ng mga bot.

Ang mga tao, ang kanilang data at mga social na koneksyon ay mas mahalaga kaysa sa teknolohiya

Ang inilarawang online na kapaligiran ay teknikal na medyo primitive na solusyon. Ngunit ang mas mahalagang bagay dito ay hindi gaanong teknolohiya bilang mga tao at ang mga panlipunang koneksyon at data (nilalaman) na nilikha sa loob ng kapaligiran.

Ang nilikhang panlipunang komunidad, na ang mga miyembro ay may sariling mga unibersal na identifier (email at kanilang sariling domain) at nakabalangkas na data (na may mga URN address, ontology at JSON object), kapag lumitaw ang isang mas mahusay na teknikal na solusyon, maaaring ilipat ang lahat ng data na ito sa isa pang online na kapaligiran, habang pinapanatili ang nabuong mga koneksyon (mga rating, rating) at nilalaman.

Inilalarawan ng post na ito ang isa sa mga elemento ng isang network na self-organized na komunidad, na, bilang karagdagan sa desentralisadong online na kapaligiran, ay kinabibilangan ng ilang mga offline na lugar na nagpapataas ng mga benepisyo ng online na kapaligiran at mga "customer" na higit na tumutukoy sa functionality nito. Ngunit ito ay mga paksa para sa iba pang mga artikulo na hindi direktang nauugnay sa IT at teknolohiya.

Pinagmulan: www.habr.com

Magdagdag ng komento