محیط اطلاعاتی بر اساس اصول Open Data

محیط اطلاعاتی بر اساس اصول Open Data

محیط اطلاعاتی پیشنهادی نوعی شبکه اجتماعی غیرمتمرکز است. اما برخلاف بسیاری از راه حل های موجود، این محیط علاوه بر عدم تمرکز، دارای تعدادی ویژگی مفید است و بر اساس راه حل های فنی نسبتاً ساده و استاندارد (ایمیل، json، فایل های متنی و کمی بلاک چین) ایجاد شده است. این به هر کسی که دانش اولیه برنامه نویسی دارد اجازه می دهد تا خدمات خود را برای این محیط ایجاد کند.

شناسه جهانی

در هر محیط آنلاین، شناسه های کاربر و شی یکی از عناصر کلیدی سیستم هستند.

در این مورد، شناسه کاربری ایمیل است که در واقع به یک شناسه پذیرفته شده برای مجوز در وب سایت ها و سایر سرویس ها (jaber، openId) تبدیل شده است.

در واقع، شناسه کاربر در یک محیط آنلاین معین جفت ورود + دامنه است که برای راحتی بیشتر به شکلی که برای اکثر افراد آشناست نوشته می شود. در عین حال، برای تمرکززدایی بیشتر، توصیه می شود هر کاربر دامنه خود را داشته باشد. که به اصول indieweb نزدیک است، جایی که یک دامنه به عنوان شناسه کاربر استفاده می شود. در مورد ما، کاربر یک نام مستعار به دامنه خود اضافه می کند که به او اجازه می دهد چندین حساب در یک دامنه (مثلاً برای دوستان) ایجاد کند و سیستم آدرس دهی را انعطاف پذیرتر می کند.

این فرمت شناسه کاربری به هیچ شبکه ای وابسته نیست. اگر کاربر داده‌های خود را در شبکه TOR قرار دهد، می‌تواند از دامنه‌ها در منطقه .onion استفاده کند؛ اگر این یک شبکه با یک سیستم DNS در بلاک چین است، سپس دامنه‌ها در منطقه بیت. در نتیجه، فرمت آدرس دهی کاربران و داده های آنها به شبکه ای که از طریق آن منتقل می شوند بستگی ندارد (ترکیب ورود + دامنه در همه جا استفاده می شود). برای کسانی که می خواهند از آدرس بیت کوین/اتریوم به عنوان شناسه استفاده کنند، می توانند سیستم را طوری تغییر دهند که از آدرس های ایمیل شبه فرم استفاده کند. [email protected]

آدرس دادن به اشیا

این محیط آنلاین در واقع مجموعه ای از اشیاء است که به شکلی ساختاریافته و قابل خواندن توسط ماشین توصیف می شوند، به اشیاء دیگر اشاره می کنند و به یک کاربر خاص (ایمیل) یا پروژه/سازمان (دامنه) گره می خورند.

urn در فضای نام urn:opendata به عنوان شناسه شی استفاده می شود. به عنوان مثال، یک نمایه کاربر دارای آدرسی مانند:

urn:opendata:profile:[email protected]

نظر کاربر دارای آدرسی مانند:

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

که در آن 08adbed93413782682fd25da77bd93c99dfd0548 یک هش تصادفی sha-1 است که به عنوان شناسه شی عمل می کند، و [ایمیل محافظت شده] - صاحب این شی.

اصل انتشار اطلاعات کاربران

با کنترل دامنه خود، کاربر به راحتی می تواند داده ها و محتوای خود را منتشر کند. و بر خلاف indiebeb، این نیازی به ایجاد یک وب سایت با صفحات html با داده های معنایی داخلی ندارد.

به عنوان مثال، اطلاعات اولیه در مورد کاربر در فایل datarobots.txt قرار دارد که در آدرسی مانند قرار دارد.

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

و محتوایی مانند این دارد:

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

یعنی در واقع مجموعه‌ای از رشته‌ها با داده‌های فرم key->value است که تجزیه و تحلیل آن برای هر کسی که دانش اولیه برنامه‌نویسی دارد کار ساده‌ای است. و در صورت تمایل می توانید داده ها را با استفاده از یک دفترچه یادداشت معمولی ویرایش کنید.

داده های پیچیده تر (نمایه، نظر، پست و غیره) که دارای urn خاص خود هستند، به عنوان یک شی JSON با استفاده از API استاندارد (http://opendatahub.org/api_1.0?lang=ru) ارسال می شوند که می تواند مانند دامنه کاربر، و در یک سایت شخص ثالث که کاربر ذخیره، انتشار و ویرایش داده های خود را به آن واگذار کرده است (در خط Services-Enabled فایل datarobots.txt) قرار گیرد. چنین خدمات شخص ثالث در زیر توضیح داده شده است.

هستی شناسی ساده و JSON

هستی شناسی محیط ارتباطی در مقایسه با هستی شناسی پایگاه های دانش صنعت نسبتاً ساده است. از آنجایی که در محیط ارتباطی مجموعه نسبتاً کوچکی از اشیاء استاندارد (پست، نظر، لایک، نمایه، بررسی) با مجموعه نسبتاً کمی از ویژگی ها وجود دارد.

بنابراین، برای توصیف اشیاء در چنین محیطی، کافی است به جای XML از JSON استفاده کنید که از نظر ساختار و تجزیه پیچیده تر است (مهم است که نیاز به آستانه ورودی پایین و مقیاس پذیری را فراموش نکنید).

برای به دست آوردن یک شی با یک urn شناخته شده، باید با دامنه کاربر یا سرویس های شخص ثالثی که کاربر مدیریت داده های خود را به آنها واگذار کرده است تماس بگیریم.

در این محیط آنلاین، هر دامنه ای که یک سرویس آنلاین در آن وجود دارد، datarobots.txt خاص خود را نیز دارد که در آدرسی مانند example.com/datarobots.txt با محتوای مشابه قرار دارد:

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

که از آن می‌توانیم یاد بگیریم که می‌توانیم اطلاعاتی درباره یک شی در آدرسی مانند:

http://newethnos.ru/api?urn=urn:opendata:profile:[ایمیل محافظت شده]

شی JSON دارای ساختار زیر است:

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

معماری خدمات

خدمات شخص ثالث برای ساده سازی فرآیند انتشار و جستجوی داده ها برای کاربران نهایی ضروری است.

یکی از انواع خدماتی است که در بالا ذکر شد، به کاربر کمک می کند تا داده های خود را در شبکه منتشر کند. ممکن است سرویس های مشابه زیادی وجود داشته باشد که هر کدام یک رابط کاربری مناسب برای ویرایش یکی از انواع داده ها (تالار گفتمان، وبلاگ، پرسش و پاسخ و غیره) در اختیار کاربر قرار می دهند. اگر کاربر به خدمات شخص ثالث اعتماد نداشته باشد، می تواند یک اسکریپت سرویس داده را در دامنه خود نصب کند یا خودش آن را توسعه دهد.

علاوه بر خدماتی که به کاربران اجازه انتشار/ویرایش داده‌ها را می‌دهد، محیط آنلاین تعدادی سرویس دیگر را ارائه می‌کند که وظایف نسبتاً پیچیده‌ای را انجام می‌دهند که پیاده‌سازی آنها بر روی گره‌های کاربر نهایی کاملاً مشکل است.

یکی از انواع این سرویس ها هاب های داده ( opendatahub.org/en - به عنوان مثال)، به عنوان نوعی آرشیو وب عمل می کند که تمام داده های عمومی کاربر قابل خواندن توسط ماشین را جمع آوری می کند و دسترسی به آن را از طریق API فراهم می کند.

وجود سرویس ها در چنین محیط آنلاین غیرمتمرکز و باز به طور قابل توجهی مانع ورود کاربران را کاهش می دهد، زیرا نیازی به نصب و پیکربندی گره خودشان نیست. در عین حال، کاربر همچنان کنترل داده های خود را حفظ می کند (در هر زمان می تواند سرویسی را که انتشار داده ها به آن واگذار شده است تغییر دهد یا گره خود را ایجاد کند).

اگر کاربر اصلاً علاقه ای به مالکیت داده های خود ندارد و دامنه خود یا فردی آشنا با دامنه ندارد، به طور پیش فرض داده های او توسط opendatahub.org مدیریت می شود.

این همه به قیمت کیست؟

شاید مشکل اصلی تقریباً همه چنین پروژه های غیرمتمرکز، ناتوانی در کسب درآمد از آنها در سطح کافی برای توسعه و پشتیبانی پایدار باشد.

Donate + نشانه ها برای پوشش هزینه های توسعه و بازاریابی در این محیط آنلاین استفاده می شود.

همه کمک‌های مالی که کاربران به پروژه‌ها/خدمات داخلی می‌کنند در دسترس عموم، قابل خواندن توسط ماشین و پیوند به ایمیل هستند. این به آنها اجازه می دهد به عنوان مثال هنگام محاسبه رتبه اجتماعی آنلاین و انتشار در صفحات کاربر در نظر گرفته شوند. هنگامی که کمک‌ها ناشناس نیستند، در واقع کاربران کمک مالی نمی‌کنند، بلکه برای پشتیبانی از محیط اطلاعات عمومی «تراشه» می‌کنند. درست مانند افرادی که برای تعمیر مناطق مشترک با نگرش مناسب نسبت به افرادی که حاضر به وارد شدن نیستند وارد کار می شوند.

علاوه بر کمک های مالی، برای جمع آوری کمک های مالی، از ژتون های صادر شده به مقدار محدود (400.000) استفاده می شود که به هر کسی که به صندوق اصلی کمک می کند (ethnogenesis) اهدا می شود.

ویژگی های توکن اضافی

هر نشانه یک "کلید" برای دسترسی به این محیط آنلاین است. یعنی تنها در صورتی می توانید از خدمات استفاده کنید و بخشی از محیط آنلاین باشید که حداقل 1 توکن مرتبط با ایمیل داشته باشید.

توکن ها به دلیل ماهیت محدود خود فیلتر اسپم خوبی هستند. هرچه تعداد کاربران در سیستم بیشتر باشد، به دست آوردن توکن دشوارتر و هزینه ساخت ربات ها بیشتر می شود.

مردم، داده ها و ارتباطات اجتماعی آنها مهمتر از فناوری است

محیط آنلاین توصیف شده از نظر فنی یک راه حل نسبتا ابتدایی است. اما نکته مهم‌تر در آن، فناوری نیست، بلکه افراد و ارتباطات اجتماعی و داده‌ها (محتوا) ایجاد شده در محیط است.

جامعه اجتماعی ایجاد شده، که اعضای آن شناسه های جهانی خود را دارند (ایمیل و دامنه خود) و داده های ساختار یافته (با آدرس های URN، هستی شناسی و اشیاء JSON)، هنگامی که راه حل فنی بهتری ظاهر می شود، می تواند تمام این داده ها را به یک محیط آنلاین دیگر منتقل کند. ضمن حفظ ارتباطات شکل گرفته (رتبه بندی، رتبه بندی) و محتوا.

این پست یکی از عناصر یک جامعه خود سازماندهی شبکه را توصیف می کند که علاوه بر محیط غیرمتمرکز آنلاین، تعدادی حوزه آفلاین را شامل می شود که مزایای محیط آنلاین را افزایش می دهد و «مشتریان» هستند که تا حد زیادی کارکرد آن را تعیین می کنند. اما اینها موضوعاتی برای مقالات دیگری هستند که مستقیماً به فناوری اطلاعات و فناوری مربوط نیستند.

منبع: www.habr.com

اضافه کردن نظر