(rd)ffreak — dialog

Internet to zadziwiające miejsce. Szczególnie dla kogoś o tak niskich zdolnościach interpersonalnych jak ja. Tylko tutaj można prowadzić interesującą rozmowę z człowiekiem, którego na oczy się nie widziało i o którego istnieniu nie wiedziało się minutę wcześniej. Ba, nawet w trakcie i po rozmowie nie ma pewności co do fizycznego istnienia rozmówcy i tym samym nie trzeba go obarczać ciężkim dziedzictwem ludzkości. Czysta wymiana poglądów, myśli i doświadczeń. Miejsce, gdzie możesz zarazić jedynie myślą. Za to nie wiesz kto kogo, gdzie i jak zaraża... Cudowny wynalazek...

Poniżej i w kilku następnych wpisach przedstawiam przebieg jednej z bardziej interesujących dyskusji e-mailowych jakie mi się w ostatnim czasie zdarzyły. kt to Kamil Trebunia aka ffreak, ms to ja. Dialog nie autoryzowany, choć autentyczny i publikowany za obopólną zgodą.

odcinek #1: moja strona

kt:
Od jakiegoś czasu interesuje się SW, a zaczęło się od mocnego zafascynowania możliwościami standardu RDFa.. zafascynowanie jednak przeszło kiedy posiedziałem trochę na listach dyskusyjnych (mailingowych) W3C i zobaczyłem jak tam się pracuje i że pewno prędzej doczekamy się XHTML2, niż samego RDFa (w nadającej się do użytku postaci).

Zostały mi zatem Microformats i eRDF — zdecydowałem się na to drugie, bo jakoś po RDFa było mi bliższe, no i możliwości również są większe.

Naukę postanowiłem zacząć od siebie — semantycznego opisania całej treści jaką umieściłem na mojej stronie domowej — póki co samej wizytówce. Oto jej adres: ffreak.net [ms: oryginalna strona, której dotyczyła dyskusja jest zarchiwizowana tutaj]

Na tej stronie prócz tego co jest, czyli informacji o mnie mają się wkrótce znaleźć linki z opisami do prywatnych projektów nad którymi aktualnie pracuje, artykułów, które napisałem, skryptów, które zamierzam udostępnić, linki do znajomych, różnych miejsc w których przebywam, no i kiedyś w przyszłości bloga/blogów.. Dążę do tego, że w pewnym momencie może to wykroczyć poza dane, które można opisać samym tylko FOAF.

Moim celem było zintegrowanie profilu FOAF z tym dokumentem - tak, by osobny .rdf (jak np. u Ciebie) nie był już potrzebny. No i teraz mam dylemat z foaf:PersonalProfileDocument - czy powinienem go zastosować i jeśli tak, to gdzie i co nim objąć..

ms:
Moim zdaniem lepiej żeby był. Tylko jeżeli upierasz się żeby nie istniał osobny plik RDF to chyba sama strona http://ffreak.net/ to Twój foaf:PersonalProfileDocument. Wg specyfikacji FOAF powinien on zawierać konkretne informacje — foaf:made i foaf:primaryTopic wskazujące na foaf:Person. Jeżeli to masz zachowane to foaf:PersonalProfileDocument może być czymkolwiek — również RDF-em osiągalnym przez jakikolwiek mechanizm typu GRDDL, czyli eRDF wpleciony w stronę może spełniać taką rolę.

kt:
Czy jest sens stosowania: <link rel="meta" type="application/rdf+xml" ... /> (tutaj proszę byś zobaczył w kod mojej strony), czy to się w jakiejkolwiek sytuacji może przydać, czy jakieś automaty z tego korzystają?

ms:
Generalnie jest to podstawowy sposób wskazywania powiązanych ze stroną plików RDF. Inna sprawa czy to ma sens u Ciebie, skoro nie masz osobnych plików. Myślę jednak, że jeśli wskazujesz URI produkujące RDF/XML to wychodzi na to samo — zostawiłbym to.

Dzięki temu np. Piggy Bank, który sam z siebie nie analizuje eRDF (chyba?), na tej stronie widzi dane RDF tak samo jakby był podpięty jakiś graf zserializowany do osobnego pliku ;-)

CDN...

Komentarze

#1 | 2006.09.20 19:20 | Domel

Tak na marginesie: Ciekawy wniosek wysnuł ffreak ale wydaje się być nie do końca zgodny ze stanem faktycznym i roadmapem RDFa. Moje uwagi:
1. Na pewno nie będzie tak, że pojawi się XHTML 2.0 a RDFa będzie jeszcze w rozsypce. Z kilku powodów, najważniejszy to, że RDFa wykorzystuje jeden z modułów XHTML 2.0, także jesli wyjdzie XHTML 2.0 to i RDFa będzie można w nim używać (tak przy okazji to RDFa od niedawna jest specyfikacją samą w sobie, wcześniej RDFa był częścią specyfikacji XHTML 2.0).
2. Ciekawe na jakiej podstawie Kamil twierdzi, że RDFa jest w "nienadającej się do użytku postaci". Bo póki co to cały rdzeń się nie zmienił od początku jego istnienia i nikt nie ma zamiaru go zmieniać. W zasadzie to teraz praca idzie w kierunku dodania "ładnych słówek" i "przecinków" do RDFa bo większość jest juz gotowe. A to, że właśnie tak to wygląda w kontekście XHTML 1.x to po prostu tak musi wyglądać. Bo niestety jakbyśmy się nie nagimnastykowali to RDF == trójki. Więc atrybutów (nie ważne w jakiej formie) musi być właśnie trzy.
3. Tak więc RDFa nadaje się już do użytku, co najwyżej to bym się martwił o odpowiednie słowniki. Jedynie to co się jeszcze narazie nie wyklarowało (czyli nie nadaje się do użytku) to CURIE.

#2 | 2006.09.21 11:42 | ffreak

Ja tylko dodam, że nie tylko Piggy Bank robi użytek z <link rel="meta" type="application/rdf+xml" title="Embedded RDF" href="..." />, ale i np. http://pingthesemanticweb.com/ bez tego by sobie nie poradził, po czy można domniemać, że większość nrzędzi miałaby trudności.. Wniosek: jeśli z RDF osadzonego w HTML korzystać ma ktoś prócz nas, to umieszczać - koniecznie.
Heh, a wszystkie wnioski prowadzą do jednego... :)

// reszta wpisu będzie o RDFa - dlaczego nie użyłem go na stronie i dlaczego uważam, że w chwili obecnej nie da się go używać praktycznie wogóle.

@Domel:
To zależy czego wymagamy od RDFa i z czym chcemy, żeby działał - przede wszystkim, czy ma działać w HTML i XHTML1.0, a to niby leży u jego podłoża. Jeśli chcielibyśmy go używać w kontekście XHTML2, to być może standardy jest praktycznie skończony..

Ten niezgrabny (bo w zasadzie eksperymentalny) dokument jakim jest http://ffreak.net/ był początkowo zapisany właśnie w XHTML+RDFa i bardzo teraz żałuję, że nie zachowałem żadnej kopii, bo można by ją porównać z tym co tam jest teraz (eRDF).

RDFa w obecnej postaci to:
- @rel i @rev rozszerzone o namespace - to nie burzy kompatybilności ze specyfikacją HTML, ale nieumiejętnie stosowane może powodować konflikty, a w każdym razie produkować bzdurne dane (bo w tej chwili trójki są generowane także z niekwalifikowanych - bez namespace - wartości tych atrybutów)
- @about - nowy atrybut - zgadzam się, że potrzebny, niestety niestandardowy wg obecnych rekomendacji HTML
- 'meta' i 'link' w dowolnym miejscu dokumentu - po pierwsze dyskusyjnym jest, czy to dobra koncepcja (bo w takim razie można by wyrzucić 'head' i 'body' wrzucając wszystkie (meta)dane do jednego kotła 'html'), po drugie to w obecnych przestrzeniach nazw XHTML-a (nie mówiąco HTML) niedozwolone.

To czy RDFa (w swojej pełno-ekspresywnej krasie) ma działać w HTML pomimo, że jest ustalone, że niby działać ma, to wciąż i wciąż jest poddawane dyskusji, bo zdaje się, że nikt nie ma pomysłu jak to zrobić. Zresztą jeśli wciąz na tym etapie padają propozycje i pytania o to jak zagnieżdżać XML/RDF w XHTML, to znaczy, że coś jest nie tak. W takim wypadku przeciętny web developer, żeby wyrazić wszystkie meta-dane na które ma ochotę/potrzebę musiałby znać XML, RDF, XML/RDF, RDFa, CURIE - zakrawa o absurd, no chyba, żeby wreszcie uczynić z 'client-side web developera' prawdziwy zawód.

Poza powyższymi ograniczeniami dochodzą jeszcze takie jak np.:
- @name elementu 'meta' jest typu NMTOKEN, więc zmieścić tam możemy tylko jeden predykat (czym to skutkuje widać w kodzie mojej strony, w sekcji 'head')
- w sekcji 'head' dokumentu nie da się w żaden sposób grupować elementów, więc w pewnych wypadkach będziemy musieli powtarzać po kilka(naście) razy np. @about itd..
- nie ma mechanizmów zdolnych validować takie dokumenty

Dla mnie - laika - powyższe problemy są nierozwiązywalne bez przygotowania kolejnych specyfikacji HTML i XHTML (w tym wypadku o ile nie jest to text/html wystarczyłby moduł, ale jego też nie ma). No, a skoro istnieją nierozwiązywalne problemy, to jak dla mnie wszystkie obecne roadmapy są tylko po to, żeby te wszystkie task forces wiedziały kiedy ich kadencja (nie wiem jak to się prawidłowo nazywa) się kończy i kiedy trzeba będzie ustalić, że jednak prace trzeba przedłużyć (absolutnie nie czynię w tym momencie zarzutu w kierunku ludzi tam pracujących! poprostu stwierdzam coś co w moim mniemaniu jest faktem).

RDFa był fajny, póki był częścią XHTML2 i póki nie nazywał się jeszcze RDFa, ani nawet RDF/A (zresztą w obecnej specyfikacji XHTML2 nie ma żadnej wzmianki o RDFa, w każdym razie w "XHTML Metainformation Attributes Module" nie ma). Czekam na XHTML2, XHTML1.2, albo moduł XHTML + validatory w3.org nauczone sprawdzania poprawności takich dokumentów - wtedy z miłą chęcią przerzucę się na RDFa.

Zresztą na moje oko skończy się na tym, że w końcu ktoś rozsądny uzna, że spełnienie wszystkich początkowych założeń RDFa (zwłaszcza te o działaniu w HTML) jest zwyczajnie niewykonalne i zostanie z tego dobry, nieskomplikowany standard - taki jakim był kiedy jeszcze był integralnym modułem XHTML2.

Wiesz, można stwierdzić, że powyższe problemy to nie jest problem RDFa, a raczej ograniczenia standardów w ktróych miałby być zagnieżdżany (no i przy okazji validatorów, bo też trzebaby je tego nauczyć), ale jeśli problem ten dotyczy tak bezwzględnie dominujących standardów jakimi są HTML i XHTML1, to jednak skłaniam się ku stwierdzeniu, że to standard jest niedopracowany.

Konkluzja: RDFa jest w chwili obecnej, w dokumentach typu HTML nieużywalny, a w XHTML praktycznie nieużywalny.

// swoje zdanie wyrobiłem czytając specyfikacje RDFa, testując to na http://ffreak.net/ i przeglądając archiwum public-rdf-in-xhtml-tf.w3.org z przeszło 3 ostatnich miesięcy (być może na niepublicznej grupie wygląda to inaczej).

#3 | 2006.09.22 10:15 | Domel

Postaram się poskracać bo lawinowo wzrasta ilość słów w kolejnych komentarzach :-D .
"To zależy czego wymagamy od RDFa i z czym chcemy, żeby działał - przede wszystkim, czy ma działać w HTML i XHTML1.0, a to niby leży u jego podłoża."
I tak i nie. Ma działać w XHTML 1.x a w HTML wcale nie. RDFa w swoim założeniu nigdy nie miał działać w HTML-u (oczywisie rozwiązania sie pojawiają np XSLT ale to nie ma nic wspólnego ze specyfikacją RDFa)

"@rel i @rev rozszerzone o namespace - to nie burzy kompatybilności ze specyfikacją HTML"
Zgoda ale mała uwaga wcale nie musi to być @rel/@rev może być @property.

"@about - nowy atrybut - zgadzam się, że potrzebny, niestety niestandardowy wg obecnych rekomendacji HTML"
No tak zupełnie jak @property i @role. Ale co to zmienia. Skoro ustaliliśmy, że RDFa nie ma nic wspolnego z HTML-em a jedynie z XHTML-em. To w czym problem, żeby użyć przestrzeni nazw XHTML 2.0 dla tych wszystkich atrybutów w XHTML 1.x?
BTW w Firefoksie (nie pamiętam od której wersji) @role jest zaimplementowany (dla XHTML 1.x).

"'meta' i 'link' w dowolnym miejscu dokumentu"
Prawda to jest typowe użycie dla XHTML 2.0 (czyli tam gdzie XHTML 2.0 jest głównym dokumentem). Ale przecież wszystkie zestawy atrybutów do metadanych są dostępne w każdym znaczniki a nie tylko meta i link. A więc można zamiast tego użyć znacznika span, względnie innego funkcyjnego.

"musiałby znać XML, RDF, XML/RDF, RDFa, CURIE - zakrawa o absurd"
Nie przesadzajmy. XML musi znać chociażby z tego powodu, że używa XHTML który jest XML-em. RDF nie koniecznie, wystarczy XML/RDF, RDFa jak zna to poprzednie i XHTML to nie widzie problemu. CURIE - nie przesadzajmy chyba każdy edytował kiedyś wikipedie :-)

"Poza powyższymi ograniczeniami dochodzą jeszcze(...)"
Te ograniczenia odpadają jeśli weźmiesz pod uwagę to co wyżej napisałem.

"RDFa był fajny, póki był częścią XHTML2"
Oj błagam ile sie zmieniło od tej pory... prawie nic, doszło kilka przecinków i to wszystko. Przy okazji odczuwa się taką tezę w Twojej wypowiedzi, że "RDFa" w XHTML 2.0 lub "RDFa" z XHTML 2.0 jest dobry a "RDFa" gdzieindziej jest zły. Otoż to jest ten sam RDFa nie ma dwóch różnych RDFa. Idać dakej nie możesz pisać, że RDFa jako oddzielna specyfikacja jest nieskończona a w XHTML 2.0 jest skończona. To jest to samo, więc jeśli jest skończona to wszędzie jeśli nie to nigdzie.

"wystarczyłby moduł"
O właśnie o to chodzi. Atrybuty z XHTML 2.0 można używać w XHTML 1.x:
1. Modularyzacja
2. Używanie przestrzeni nazw

"no i przy okazji validatorów, bo też trzebaby je tego nauczyć'
Dementuje :-) Walidatory walidują a nie czytają. Jeśli schemat się zgadza (a wedle tego co napisałem wyżej) to się po prostu waliduje.

Kolejna uwaga to całej koncepcji. eRDF i mikroformaty są "kompatybilne wstecz" ale warto by się zastanowić z jakiego punktu widzenia? Z takiego, że strona się zwaliduje? Tak. A z innego? Czy logiczność opisu jest dobra biorąc pod uwagę atrybuty? A to już nie koniecznie. Bo czym, że jest class="url" (tutaj mikroformat)? No własnie niczym. Bo każdy może sobie takie coś napisać, u jednego to coś oznacza u innego nie? Dlaczego bo atrybut class w specyfikacji nie jest opisany tak, że niesie jakiś logiczny opis. Oczywisie kilka osób może się umówić, że to coś oznacza, może nawet znajdą się deweloperzy, którzy napiszą jakiś soft ale co z tego? Jeśli chodzi o eRDF to sprawa nie jest już tak oczywista bo tu już pojawiają się słowniki ale też zestaw atrybutów nie daje "gwarancji zapisu".

Konkluzja: To nie RDFa jest niedopracowany. Co zresztą wynika z Tego co napisałeś czy np winny jest RDFa, że ludzie używają HTML mimo, że od dobrych kilku lat aktualnym standardem jest XHTML. Ważne jest również, żeby pamiętać o ramach danego języka. Ale ważne jest to, że mimo że XHTML 1.0 różni się znacznie od XHTML 2.0 to w obydwu można korzystać z RDFa.

#4 | 2006.09.22 18:54 | ffreak

Domel, to nie jest wcale tak oczywiste jak Ty o tym piszesz, ale przyznam, że zmieniłem trochę zdanie pod wpływem Twojej wypowiedzi.

Sam RDFa jest okej - w życiu by mi nie przyszło do głowy korzystać z Mikroformatów, albo choć spoglądać na eRDF, gdybym mógł korzystać z RDFa _już teraz_.

RDFa to ma być standard "dla ludu", tak samo jak HTML i XHTML1, a kiedyś XHTML2. "Lud" (w tym ja) korzysta póki co z HTML-a, choć wielu coraz częściej nie może już znieść jego ograniczeń.

"czy np winny jest RDFa, że ludzie używają HTML?"
Poza zjawiskami psycho- i socjologicznymi winny jest Microsoft (IE), Google (bo __podobno - nie sprawdzałem__ nie indeksuje stron z xml mime types).

Tak, zdaję sobie sprawe, że te problemy są do przeskoczenia, bo content-type można dobierać pod klienta, że nawet content można serwować różny, wiem też, że nie musimy korzystać z HTML itd.. ale są tysiące developerów, którzy o tym nie wiedzą, poza tym angażowanie server-side do czegoś co powinno poprostu działać jest mocno nieefektywne.

Oto sposoby, które zaproponowałeś na używanie RDFa już teraz:
- modularyzacja XHTML - na ile się orientuję takiego modułu brak;
- używanie przestrzeni nazw z XHTML2 - to by się nawet dało zastosować obecnie, ale wcale nie jest to takie oczywiste rozwiązanie - przynajmniej ja na nie nie wpadłem, poza tym to przecież wciąż nie jest rekomendacja.

No i teraz trochę niepoważne pytanie, ale myślę, że dokładnie odda to o czym mówię... czy w pracy - tej codzienniej - zajmujesz się czasem pisaniem kodu HTML? Jeśli tak, to czy przyszłoby Ci do głowy skorzystać już teraz z rozwiązania typu XHTML1.1+XHTML2+[content-negotiation dla IE i wyszukiwarek] (na zasadzie: główna przestrzeń nazw to 1.1, a do RDFa dodatkowa, z XHTML2, a dla tych co sobie nie radzą HTML)?

"Oj błagam ile sie zmieniło od tej pory... prawie nic, doszło kilka przecinków i to wszystko. Przy okazji odczuwa się taką tezę w Twojej wypowiedzi, że "RDFa" w XHTML 2.0 lub "RDFa" z XHTML 2.0 jest dobry a "RDFa" gdzieindziej jest zły."

Nie zupełnie. Miałem na myśli to, że jeśli RDFa miało działać w HTML i XHTML1.0 (bez namespaces), a najwyraźniej jest to niewykonalne, to znaczy, że w założeniach RDFa leżą niewłaściwe założenia - sam standard na dzień dzisiejszy wydawał mi się dość wygodny.

Muszę się tutaj jednak przyznać do błędu nadinterpretacji.. Przejrzałem to archiwum pod kontem HTMLa i choć faktycznie dość często podejmuje się tam jego temat, to nikt nigdzie nie napisał, że RDFa ma w nim działać i to w pełnej krasie. Poza przykładami i upieraniem się, że @rel i @rev nie burzy kompatybilności wstecz, padła też taka wypowiedź (by Mark Birbeck):

The key points are that RDFa:
* clarifies how existing metadata features in HTML should
be interpreted;
* provided enhancements to XHTML to facilitate more advanced
concepts.

Faktycznie nie wynika z tego, że RDFa miało działać w HTML-u, raczej to, że RDFa standaryzuje użycie @rel, @rev i być może elementu 'meta'.

Wciąż jednak wynika mi z tego wszystkiego, że RDFa w tej chwili, w praktyce i szeroko stosować się nie da - bo nie działa z HTML-em, a eRDF i Microformats tak.

#5 | 2006.09.22 19:56 | MiMaS

Postaram się poskracać bo lawinowo wzrasta ilość słów w kolejnych komentarzach :-D .

Byłbym wdzięczny...

Poza tym zbaczacie z tematu. ffreak nie użył RDFa (jak wielu innych jemu podobnych, łącznie ze mną) tylko eRDF i przedstawiana przeze mnie dyskusja mailowa nie dotyczyła jakości standardu RDFa. Proszę więc o odrobinę litości, zwłaszcza, że nie dochodzicie do żadnego konsensusu.

BTW, czemu żaden z Panów nie ma bloga, gdzie możnaby o tym wszystkim spokojnie i dokładnie poczytać?

#6 | 2006.09.22 22:22 | Domel

MiMaS, OK Ty tu rządzisz. Jeśli nie chcesz to będzie to mój ostatni komentarz w tej sprawie. Swoją drogą to też zawsze uważałem się za ortodoksa jeśli chodzi o temat "mówienia na temat" ale jak zacząłem czytać Twojego bloga to przestałem tak o sobie myśleć. :-) Jednym słowem strach komentować... BTW, ja blogu nie posiadam.
Myślałem, że skoro biorę udział w tworzeniu RDFa to moje zdanie (fakt trochę z innej strony) się na coś przyda...

ffreak:
Jeśli chodzi o używanie HTML-a przez ludzkość pozwolę sobie nie komentować bo faktycznie ani to na temat ani coś z tej dyskusji wynika...
Jeśli chodzi o modularyzację to nie wiem czy taki istnieje czy nie. Możliwe, że nie ale jaki problem go napisać? 4 wiersze kodu?
Jeśli chodzi o przestrzeń nazw to tak, to jest dla mnie oczywiste jak słońce, Bo w słowach _X_ML i _X_HTML to "X" właśnie to oznacza.
Co do założenia używania RDFa w XHTML 1.x bez przestrzeni nazw to nigdy takiej opcji nie było (była ona rozwarzana na początku ale to był drobniutki epizod). Właśnie przestrzenie w kontekście wartości atrybutów RDFa ma ogromne zasługi (jak żadna inna technologia). To właśnie dzięki RDFa zaczęto weryfikować swoje podejście to wartości atrybutów i przestrzeni nazw (w obrębie XML bo ta kwestia w XML 1.x nie została rozstrzygnięta) a teraz ten trend ma szanse stać się standardem w XML 2.0 (ewentualnie jakiej innej nowszej).

 

Uwaga: Ze względu na bardzo intensywną działalność spambotów komentowanie zostało wyłączone po 60 dniach od opublikowania wpisu. Jeżeli faktycznie chcesz jeszcze skomentować skorzystaj ze strony kontaktowej.