Lingkungan informasi berdasarkan prinsip Open Data





Lingkungan informasi yang diusulkan adalah sejenis jaringan sosial yang terdesentralisasi. Tetapi tidak seperti banyak solusi yang ada, lingkungan ini memiliki sejumlah properti yang berguna selain desentralisasi dan dibuat berdasarkan solusi teknis yang cukup sederhana dan standar (email, json, file teks, dan sedikit blockchain). Ini memungkinkan siapa saja dengan pengetahuan pemrograman dasar untuk membuat layanan mereka sendiri untuk lingkungan ini.



Pengenal umum



Dalam lingkungan online mana pun, pengidentifikasi pengguna dan objek adalah salah satu elemen kunci dari sistem.



Dalam hal ini, email bertindak sebagai pengenal pengguna, yang sebenarnya telah menjadi pengenal yang diterima secara umum untuk otorisasi di situs dan layanan lain (jaber, openId).



Faktanya, ID pengguna di lingkungan online ini adalah pasangan login + domain, yang, untuk kenyamanan, ditulis dalam bentuk yang sudah dikenal oleh kebanyakan orang. Selain itu, untuk desentralisasi yang lebih besar, setiap pengguna diharapkan memiliki domain mereka sendiri. Yang dekat dengan prinsip individu, dimana domain digunakan sebagai pengenal pengguna. Dalam kasus kami, pengguna menambahkan nama panggilan ke domainnya, yang memungkinkan pembuatan beberapa akun di satu domain (untuk teman, misalnya) dan membuat sistem pengalamatan lebih fleksibel.



Format ID pengguna ini tidak terikat ke jaringan manapun. Jika pengguna menempatkan datanya di jaringan TOR, maka Anda dapat menggunakan domain di zona .onion, jika jaringan dengan sistem DNS di blockchain, lalu domain di zona .bit. Akibatnya, format pengalamatan pengguna dan datanya tidak bergantung pada jaringan tempat mereka ditransmisikan (bundel login + domain digunakan di mana-mana). Bagi mereka yang ingin menggunakan alamat bitcoin / ethereum sebagai pengenal, sistem dapat dimodifikasi untuk menggunakan alamat email palsu sepertixaca1b7c8126806f672f9dbee4951527bb0f2c4e4@ethereum.blockchain



Pengalamatan objek



Lingkungan online ini sebenarnya adalah sekumpulan objek yang dideskripsikan dalam bentuk terstruktur yang dapat dibaca mesin, merujuk ke objek lain dan terikat ke pengguna tertentu (email) atau proyek / organisasi (domain).



Guci di guci: namespace opendata digunakan sebagai pengidentifikasi objek. Misalnya, profil pengguna memiliki alamat dalam bentuk:



urn:opendata:profile:user@domain.com


Komentar pengguna memiliki alamat dalam bentuk:



urn:opendata:comment:user@domain.com:08adbed93413782682fd25da77bd93c99dfd0548


di mana 08adbed93413782682fd25da77bd93c99dfd0548 adalah hash sha-1 acak yang bertindak sebagai id objek, dan pengguna@domain.com adalah pemilik objek ini.



Prinsip menerbitkan data pengguna



Dengan domainnya yang terkendali, pengguna dapat dengan mudah mempublikasikan data dan kontennya. Dan tidak seperti indibeb, ini tidak memerlukan pembuatan situs dengan halaman html di mana data semantik disematkan.



Misalnya, informasi dasar tentang pengguna terletak di file datarobots.txt yang terletak di alamat seperti



http://55334.ru/konstantin@55334.ru/datarobots.txt


Dan itu memiliki konten dalam format ini:



Object: user
Services-Enabled: 55334.ru,newethnos.ru
Ethnos: newethnos
Delegate-Tokens: http://55334.ru/konstantin@55334.ru/delegete.txt


Faktanya, ini adalah sekumpulan string dengan data berbentuk key-> value, yang merupakan tugas mudah untuk diurai bagi siapa saja yang memiliki pengetahuan pemrograman dasar. Dan Anda dapat mengedit data, jika diinginkan, melalui notepad biasa.



Data yang lebih kompleks (profil, komentar, kiriman, dll.) Yang memiliki guci sendiri - dikembalikan sebagai objek JSON menggunakan API standar (http://opendatahub.org/api_1.0?lang=ru), yang dapat ditempatkan sebagai di domain pengguna, dan di situs pihak ketiga tempat pengguna telah mendelegasikan penyimpanan, publikasi, dan pengeditan datanya (di baris Layanan-Enabled dari file datarobots.txt). Layanan pihak ketiga tersebut dijelaskan di bawah ini.



Ontologi dan JSON sederhana



Ontologi lingkungan komunikasi relatif sederhana dibandingkan dengan ontologi basis pengetahuan industri. Karena dalam lingkungan komunikasi terdapat sekumpulan objek standar yang relatif kecil (posting, komentar, suka, profil, ulasan) dengan sekumpulan properti yang relatif kecil.



Oleh karena itu, untuk mendeskripsikan objek dalam lingkungan seperti itu, cukup menggunakan JSON daripada XML, yang lebih kompleks dalam struktur dan parsing (penting untuk tidak melupakan perlunya ambang masuk dan skalabilitas yang rendah).



Untuk mendapatkan objek dengan guci yang kami tahu, Anda perlu merujuk ke domain pengguna, atau ke layanan pihak ketiga yang mana pengguna telah mendelegasikan pengelolaan datanya.



Dalam lingkungan online ini, setiap domain tempat layanan online juga memiliki datarobots.txt-nya sendiri yang terletak di alamat seperti example.com/datarobots.txt dengan konten serupa:



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


Dari mana kita dapat mengetahui bahwa Anda bisa mendapatkan data tentang objek di alamat formulir:



http://newethnos.ru/api?urn=urn:opendata:profile:konstantin@55334.ru



Objek JSON memiliki struktur berikut:



{
    "urn": "urn:opendata:profile:expample@55334.ru",
    "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": {
            "example1@domain.com": "1",
            "example2@domain.com": "0.5",
            "example3@domain.com": "0.7"
        },
        "interests_tags": "cars,cats,cinema",
        "mental_cards": {
            "no_alcohol@main": 8,
            "data_accumulation@main": 8,
            "open_data@main": 8
        }
    }
}


Arsitektur layanan



Layanan pihak ketiga diperlukan untuk menyederhanakan proses penerbitan dan pengambilan data untuk pengguna akhir.



Di atas, salah satu jenis layanan disebutkan yang membantu pengguna mempublikasikan datanya di jaringan. Mungkin ada banyak layanan seperti itu, yang masing-masing menyediakan antarmuka yang nyaman bagi pengguna untuk mengedit salah satu jenis data (forum, blog, tanya jawab, dll.). Jika pengguna tidak mempercayai layanan pihak ketiga, maka dia dapat memasang skrip layanan untuk menangani data di domainnya atau mengembangkannya secara mandiri.



Selain layanan yang memungkinkan pengguna untuk mempublikasikan / mengedit data, sejumlah layanan lain disediakan di lingkungan online yang melakukan tugas yang relatif kompleks yang cukup bermasalah untuk diterapkan pada node pengguna akhir.



Salah satu jenis layanan tersebut adalah hub data ( opendatahub.org/ru adalah contohnya), yang bertindak sebagai semacam arsip web yang mengumpulkan semua data publik yang dapat dibaca mesin dan menyediakan akses ke sana melalui API.



Kehadiran layanan di lingkungan online yang terbuka dan terdesentralisasi secara signifikan menurunkan ambang masuk untuk pengguna, karena tidak perlu menginstal dan mengkonfigurasi node Anda sendiri. Pada saat yang sama, pengguna mempertahankan kontrol atas datanya (kapan saja, Anda dapat mengubah layanan yang mendelegasikan publikasi data atau membuat node Anda sendiri).



Jika pengguna sama sekali tidak tertarik untuk memiliki datanya dan dia tidak memiliki domain sendiri atau terbiasa dengan domain tersebut, maka secara default opendatahub.org akan mengelola datanya.



Atas biaya siapa itu semua?



Mungkin masalah utama dari hampir semua proyek desentralisasi semacam itu adalah ketidakmungkinan monetisasi mereka pada tingkat yang cukup untuk pengembangan dan dukungan yang stabil.



Donasi + token digunakan untuk menutupi biaya pengembangan dan pemasaran di lingkungan online ini.



Semua donasi yang diberikan pengguna ke proyek / layanan internal bersifat publik, dapat dibaca mesin, dan terkait dengan email. Ini memungkinkan Anda untuk memperhitungkannya, misalnya, saat menghitung peringkat sosial intranet dan menerbitkannya di halaman pengguna. Ketika donasi tidak lagi bersifat anonim, sebenarnya pengguna tidak lagi memberikan donasi, tetapi "membuang" untuk mendukung lingkungan informasi umum. Seperti halnya orang membuang untuk perbaikan tempat umum dengan sikap yang tepat terhadap orang-orang yang menolak membuang.



Selain donasi, untuk mengumpulkan dana, token yang diterbitkan dalam jumlah terbatas (400.000) digunakan, yang diberikan kepada semua orang yang menyumbang ke dana utama (etnogenesis).



Fungsi tambahan dari token



Setiap token adalah "kunci" untuk mengakses lingkungan online ini. Artinya, Anda dapat menggunakan layanan dan menjadi bagian dari lingkungan online hanya jika Anda memiliki setidaknya 1 token, yang terkait dengan email Anda.



Token adalah filter spam yang bagus karena keterbatasannya. Semakin banyak pengguna di dalam sistem, semakin sulit untuk mendapatkan token dan semakin mahal biaya pembuatan bot.



Orang, data, dan koneksi sosial mereka lebih penting daripada teknologi



Lingkungan online yang dijelaskan secara teknis merupakan solusi yang relatif primitif. Tetapi yang lebih penting di dalamnya bukanlah teknologi karena manusia dan koneksi sosial serta data (konten) yang dibuat di dalam lingkungan.



Komunitas sosial yang dibuat, yang anggotanya memiliki pengenal universal (email dan domain mereka sendiri) dan data terstruktur (dengan alamat URN, ontologi, dan objek JSON) ketika solusi teknis yang lebih baik muncul, dapat mentransfer semua data ini ke lingkungan online lain, sambil mempertahankan tautan yang telah terbentuk (peringkat, peringkat) dan konten.



Posting ini menjelaskan salah satu elemen komunitas jaringan yang terorganisir sendiri, yang, selain lingkungan online yang terdesentralisasi, mencakup sejumlah area offline yang meningkatkan manfaat lingkungan online dan merupakan "pelanggan" yang sangat menentukan fungsinya. Tapi ini sudah menjadi topik untuk artikel lain yang tidak terkait langsung dengan IT dan teknologi.



All Articles