RDF (Resource Description Framework) Nedir?
RDF, Solid protokolünün üzerine kurulduğu veri modelidir ve Solidus onun için hiçbir şey inşa etmez.
Fikir, tek cümlede
Her şey üç parçalı bir ifadedir: özne, yüklem, nesne.
<ben><tanır><seni><ben><adıyla anılır>"Ada"
Modelin tamamı budur. Tablolar değil, belgeler değil, nesneler değil, üçlüler. Bir veri kümesi yalnızca onlardan oluşan bir yığındır ve her parça ya küresel olarak benzersiz bir tanımlayıcı ya da düz bir değer olduğu için, birbiriyle ilgisiz iki sistemden gelen iki yığın, kimse önceden bir şema üzerinde anlaşmadan birleştirilebilir.
Kişisel veri için bunu neden seçtiler
Mesele birleştirmedir. Kişisel bir veri deposu, birbiriyle hiç koordine olmamış tarafların yazdığı şeyleri birçok yerden toplar: bir takvim, bir sağlık kaydı, bir kişi listesi.
- İlişkisel bir şema önden anlaşma gerektirirdi, ki kuruluşlar arasında bu hiç olmaz.
- Bir belge deposu her yazanın kendi biçimini icat etmesine izin verirdi, dolayısıyla hiçbir şey bir araya gelmez.
- Üçlüler yapı gereği bir araya gelir: aynı özne hakkındaki iki ifade, kim yazmış olursa olsun aynı özne hakkındadır, çünkü özne bir URL'dir.
Solid'in RDF kullanmasının sebebi o özelliktir ve gerçekten iyi bir sebeptir.
Maliyet, ki gerçektir
RDF ile çalışmak JSON'dan zordur ve aksini iddia etmek insanların ondan uzaklaşmasının sebebidir.
- Araçlar daha incedir. Her dilin bir JSON ayrıştırıcısı var; RDF kütüphaneleri daha az ve daha az tanıdıktır.
- Sorgulama kendi dilidir. Bir üçlü yığınını filtrelemek
data.items.filter(...)değildir. - Öğrenme eğrisi öne yüklüdür. Model basittir; etrafındaki ekosistem değil.
Verileriniz kendi sisteminizden hiç çıkmıyorsa RDF size hiçbir şey kazandırmaz ve zamanınıza mal olur. Tam olarak, verinin birbirini hesaba katmamış taraflar arasında gezmesi gerektiğinde hakkını verir.
Solidus burada ne yapıyor: hiçbir şey
RDF desteği inşa etmedik ve bu sayfa ettiğimizi ima etmeyecek. Terimin kendi lexicon'umuzdaki durumu not-builttır.
Çalışan şey Community Solid Server'dır, Solid topluluğunun referans uygulaması. Dağıtımımızdaki RDF işleme onların mühendisliğidir. Onu biz yazmadık, genişletmedik ve sahiplenemeyiz.
Hesap olmadan çalıştığını görebilirsiniz:
$ curl -sI -H 'Accept: text/turtle' https://pod.solidus.network/profile/card
HTTP/2 401
content-type: text/turtle
Sunucu, kaynağı vermeyi reddederken bile RDF isteğini onurlandırdı. Bunun kanıtladığı şey dar ve belirtmeye değer: sunucu RDF pazarlığı yapıyor. Kaynağın var olduğunu kanıtlamaz ve Solidus'un RDF uyguladığı anlamına gelmez.
Ve bu ana için bir sondalama notu: burada bilinmeyen bir yol 404 değil 401 döndürür; bilinmeyen yollar Solid sunucusuna düşer. Bir 401 size bir şeyin var olup olmadığı hakkında hiçbir şey söylemez.
Kendi işimizin ona göre yeri
Tanımlayıcılarımız bir alan adından çözümlenmek yerine bir zincire demirlenir. O fark bir sonuç değil bir bahistir ve RDF'ye diktir: bir DID belgesi RDF olarak da düz JSON olarak da serileştirilebilir ve bu tercih tanımlayıcının ne olduğunu değiştirmez.
RDF'nin bir şeyle değiştirilmesini önermiyoruz. Pod'umuz RDF sakladığı yerde, Solid'in sunucusu öyle yaptığı için saklar.
Bunun çözmediği şey
RDF, bir ifadenin doğru olup olmadığı hakkında hiçbir şey söylemez. Bir üçlü yığını temiz birleşir ve aynı temizlikte yalan söyler; model biçim hakkındadır, doğruluk hakkında değil. Bir ifadeye inanıp inanmamaya karar vermek tamamen farklı bir katmandır ve o katmanın durumunun dürüst sürümü kendi sayfasındadır.