Turtle nedir, bir Solid pod'unun varsayılan olarak konuştuğu RDF sözdizimi?
Turtle, RDF'i yazıya dökmenin bir yoludur ve Solidus onun hiçbirini yazmaz.
Sözdizimi ve onu sıra dışı kılan tek şey
RDF bir üçlüler modelidir. O ayrı bir sayfadır. Turtle, o üçlüleri metin olarak yazma yollarından biridir ve ayırt edici özelliği bir insanın onu okuyabilmesidir.
<#me> a <http://xmlns.com/foaf/0.1/Person> ;
<http://xmlns.com/foaf/0.1/name> "Ada" ;
<http://xmlns.com/foaf/0.1/knows> <https://example.org/bob#me> .
Noktalı virgül "aynı özne, sıradaki yüklem" demektir. Nokta ifadeyi bitirir. Neredeyse hepsi bu kadar.
Bunun kulağa geldiğinden neden daha çok önem taşıdığı: bir Solid pod'unun varsayılan hat biçimi,
curl ile çekip düpedüz okuyabileceğiniz bir şeydir. Hakkınızda saklananı görmek için bir
görüntüleyiciye, bir kod çözücüye ya da satıcının konsoluna ihtiyacınız yoktur, ki bu kişisel veri
tutan bir sistem için gerçekten sıra dışı bir özelliktir ve bize değil Solid'e aittir.
Maliyetler, açıkça
- Uzunluk. Ön ek tanımlamadıkça her yerde tam URL'ler, ve ön ekler de öğrenilecek başka bir şey.
- Yabancılık. Her geliştirici JSON'ı bir bakışta okur. Turtle önce beş dakika ister ve beş dakika insanları kaybetmeye yeter.
- Daha ince araç seti. Başlıca dillerde ayrıştırıcılar var, ama çevrelerindeki ekosistem JSON'unkinden kat kat küçük.
Verisi hiç dışarı çıkmayan bir sistem için Turtle, faydasız bir maliyettir. Tam da veriyi sizin sisteminizi kurmamış tarafların okuması gerektiğinde karşılığını verir.
Solidus'un burada yaptığı: hiçbir şey
Bir Turtle ayrıştırıcısı, bir seri hâline getirici ya da onun için araç yazmadık. Terimin kendi lexicon'umuzdaki durumu not-built ve bu sayfa aksini ima etmeyecek.
Çalışan şey Community Solid Server'dır ve onun Turtle işleyişi Solid topluluğunun mühendisliğidir. Onu hesapsız da müzakere ederken izleyebilirsiniz:
$ curl -sI -H 'Accept: text/turtle' https://pod.solidus.network/profile/card
HTTP/2 401
content-type: text/turtle ← asked for Turtle, got Turtle, even in the refusal
$ curl -sI https://pod.solidus.network/profile/card
content-type: application/json ← no Accept header, different type
Bunun kanıtladığı, ve yalnızca o: sunucu RDF içerik müzakeresi yapıyor. Kaynağın var olduğunu kanıtlamaz ve Solidus'un Turtle uyguladığı anlamına gelmez.
Ve bu sunucu için bir yoklama notu: bilinmeyen bir yol 404 değil 401 döndürür, bilinmeyen yollar Solid sunucusuna düşer. Buradaki bir 401 size bir şeyin var olup olmadığı hakkında hiçbir şey söylemez, ki bu diğer sunucularımızdaki geleneğin tam tersidir.
Kendi işimizin durduğu yer
Buranın yakınında bile değil. Tanımlayıcılarımız bir alan adından çözümlenmek yerine bir zincire demirlenir ve o fark bir sonuç değil bir bahistir, ayrıca sözdiziminden bağımsızdır. Bir tanımlayıcıyı anlatan bir belge Turtle olarak, JSON olarak ya da her ikisi olarak yazılabilir ve bu seçim, tanımlayıcının ne olduğu hakkında hiçbir şeyi değiştirmez.
Turtle'ın değiştirilmesini önermiyoruz. Pod'umuz Turtle sakladığı yerde, Solid'in sunucusu öyle yaptığı için saklıyor.
Bunun çözmediği şey
Okunabilir bir biçim, güvenilir bir biçim değildir. Turtle bir ifadeyi okunur kılar; o ifadenin doğru olup olmadığı ya da onu yazmaya kimin hakkı olduğu hakkında hiçbir şey söylemez. Okunabilirlik ve güven farklı problemlerdir, güven olanı burada yaşıyor ve kimin yazıp okuyabileceği burada.