microformats vs Semantic Web

Wciąż nadrabiając zaległości w życiu blogosfery trafiam na wiele przykładów (serio, nie dotyczy to tylko przypadku ostatniego wpisu) powstawania w zbiorowej świadomości łebmasterów pomieszania pojęć związanych z Semantic Web i microformats. Najczęściej prowadzi to do nadinterpretacji i przecenienia roli tej drugiej koncepcji. I chociaż pisałem wczoraj, że nie rozwinę myśli o bzdurnym porównaniu microformats i RDF, to wobec sugestii, że microformats odgrywa znaczną rolę w rozwoju Semantic Web postaram się jednak sklecić kilka zdań.

mikroformaty nie są odpowiedzią na Sieć Semantyczną

Wśród narastających nieporozumień trafiłem na szczęście również na kilka głosów sprzeciwu, z których najładniejszy wydał mi się wpis „Microformats aren't an answer to the Semantic Web” na blogu SemWebDev Weblog. Zostało to tam powiedziane na tyle ładnie, że wręcz pozwolę sobie dokonać amatorskiego tłumaczenia fragmentu[1]:

Często spotykam opisy microformats jako „sieć semantyczna przez małe s”, co ładnie brzmi i prawdopodobnie daje wielu ludziom wrażenie, że HTML zawierający elementy z microformats stanowi jakby lżejszą, ale wystarczającą (w sensie reguły „80/20”) wersję Sieci Semantycznej — być może sieć semantyczną, która obsługuje podstawowe elementy, choć odpuszcza sobie „formalizmy”, których właściwie i tak nikt nie potrzebuje.

Tylko że microformats nie obsługuje podstawowych elementów.

I dalej następuje wyliczenie rzeczonych podstawowych elementów Sieci Semantycznej:

  • URI — każda rzecz, obiekt, zasób czy cokolwiek opisane w Sieci Semantycznej posiada identyfikator w postaci URI (przy czym niekoniecznie jest to URL). Nie bez powodu pisałem kiedyś o tym w krótkim zarysie podstaw SW i pewnie w wielu innych miejscach. W microformats opisywane elementy nie posiadają URI. Choć jak słusznie zauważa autor wspomnianego wpisu, inne metody oznaczania semantyki treści HTML, np. eRDF jak najbardziej przestrzegają tego wymagania (zresztą literki "RDF" w nazwie zobowiązują).
  • Decentralizacja — podstawowa cecha Sieci Semantycznej i zasadnicza właściwość formatu RDF. W Sieci Semantycznej zdecentralizowane są grafy RDF, a tym samym zbiory danych, słowniki, ontologie, ..., wszystko. W microformats oczywiście nie ma mowy o decentralizacji czegokolwiek.
  • Spójna składnia dla wszelkich rodzajów danych — to również podstawowa cecha modelu RDF. W przypadku microformats nie ma mowy o żadnym takim modelu. W praktyce parsowanie danego mikroformatu wymaga uprzedniej znajomości jego specyficznego formatu (czyli znaczenia poszczególnych wartości w określonych atrybutach elementów dokumentu HTML). Moim zdaniem takie wymaganie skutecznie niweluje sens całej zabawy i jest kompletnie sprzeczne z ideą SW.

jedynie GRDDL może to coś uratować

Oczywiście przesadą byłoby twierdzenie, ze microformats nie ma w ogóle sensu w świetle idei Sieci Semantycznej. Owszem ma. Jednak sens ten ujawnia się nie w postaci jakiejś tam „lekkiej wersji przez małe s” tylko w kontekście mechanizmów GRDDL. Jeżeli wskażemy agentowi algorytm transformacji strony XHTML na graf RDF to sposób osadzenia semantyki w tej stronie nie ma większego znaczenia — niech i będzie to całe microformats. W takim sensie jest to krok w kierunku Semantic Web.

Niestety szybka obserwacja kilku stron wskazuje, że dokumenty zawierające microformats najczęściej są pozbawione tego małego szczegółu w postaci odpowiedniej wartości atrybutu profile w <head>. I w tym momencie traci się jedyne sensowne połączenie microformats i Semantic Web. Pozostaje jedynie dobre samopoczucie łebmasterów, którzy jak zwykle nic nie rozumieją, i osiadają na laurach śniąc o bzdurach typu „semantic web przez małe s”... :-/

[1] A poza tym, nie oszukujmy się — znajomość języków obcych w narodzie kuleje i mam nadzieję, że słowo po polsku trafi do kogoś więcej niż to samo słowo po angielsku...

Komentarze

#1 | 2007.08.31 15:20 | Elf

Ja też w GRDDL upatruję szansę wykorzystania microformats (trzeba szanować pracę ludzką). Jednak wiąże się z tym wiele problemów (brak relacji, brak kontekstu). Obawiam się, że powstanie zamieszanie i pomieszanie danych z których nic wynikać nie będzie. Przypomina mi to zupę tagów serwowaną przez niektóre serwisy.

Nie ma co liczyć na oświecenie developerów używających microformats. Trzeba zrobić centralny spis witryn z tego korzystających, gdzie będzie możliwość konwersji wpisów na RDF. Inaczej tego nie widzę, bo zdaje się nie ma nawet nagłówka wskazującego, że dokument zawiera micoformat.

#2 | 2007.08.31 20:10 | Wojciech Zając

Mikroformaty nie są doskonałe przez pryzmat przydatności i użyteczności w Semantic Web, to pewne. Ale co jest złego w stosowaniu ich np. bez tak domniemanie często wspominanej wartości profile aktualnie? Jak zapewne wiesz, już dłuższy czas temu postanowiono, że xmdp do każdego z nich z osobna musi (powinien) być przygotowany (w purl/gmpg czy gdziekolwiek indziej, jeden już jest), więc w czym rzecz? Główna różnica jednak między mikroformatami a technologiami z SW jest taka, że SW polega na tworzonym dopiero oprogramowaniu / user agentach (więc można przygotować go od podstaw i lepiej), a mikroformaty wykorzystują obecne możliwości i pozwalają, żeby całość działała (bo działa) już teraz. Są więc kompromisy, ale wszystko pisane jest z myślą o powszechnych korzyściach unikając błędów pokrewnych technologii (patrz wpis, komentarze).

Owszem, często głosy "fanów RDF" często wybijają się w kłótniach między zwolennikami obu stron, ale czasem mam wrażenie, że wiele osób pokroju autora artykułu na którym bazowałeś zapomina o podstawach. µF naprawiają konkretne, bieżące problemy, nie zajmują się przewidywaniem. Z tego względu teraz jest wiele problematycznych dyskusji takich jak łączenie poszczególnych mikroformatów, zakłocanie dostępności itp., ale pójście tą drogą (prostą do zaimplementowania) była też jednym z głównych przyczyn ich sukcesu.

Inna rzeczą natomiast jest, że średnio poważnie traktuję opinie rozpowszechniane na na mało znanych blogach prowadzonych przez samozwańczych specjalistów. Podział na "lower-case" i "upper-case" semantic web istnieje nie od dziś — sięgając pamięcią przypominam sobie tylko prezentację molly, która była powtarzana nieraz wśród "znanych" osób bez widocznych głosów potępienia.

Nie ma co liczyć na oświecenie developerów używających microformats.

O jakim oświeceniu myślisz? Na podstawie serwowanego kodu nie da się stwierdzić, czy wykorzystywane rozwiązania są stosowane świadomie, czy nie. Sugerujesz że mam się przerzucić na RDFa czy inny eRDF który nie jest poprawny dlatego, że wprowadzenie oficjalnych nagłówków teraz jest średnim pomysłem? Korzystałem już kilka razy z X2V w komercyjnych projektach i przy prezentowaniu możliwości w transformacjach przy przekonywaniu do używania, jest z pewnością wystarczająco human-readable dla projektów real-world… Marzenia o sieci za kilka lat pozostawmy purystom i ludziom którzy te technologie rozwijają, a ja wolę pozostać przy wzbogacaniu semantyki przy moim kiepskim nie-grddl-friendly µF (oh, spłonę na stosie). :)

Wydaje mi się, że osądzanie (i, w wyniku, skreślanie) podobnych nowych standardów i definicji tylko pod kątem Semantic Web jest dużym błędem. Co do przeciwników w anglojęzycznej blogosferze… Cóż, zawsze jakiś procent osób chce się lansować ciągle "idąc pod prąd". Mam nadzieję, że się mylę.

#3 | 2007.09.01 14:15 | Grzesiek Wolański

Zgadzam się z Wojtkiem. :)

#4 | 2007.09.02 09:25 | MiMaS

Wojtek,

Wbrew temu co zdajesz się sugerować ja nie skreślam mikroformatów dla zasady. Ba, w ogóle ich nie skreślam. Twierdzę natomiast, że porównanie mf do SW często prowadzi do błędnych wniosków. Faktyczne rozwiązania mf działają już dzisiaj i faktycznie są przydatne w wielu interesujących zastosowaniach. Jednak powyższy wpis traktuje o tym, że microformats to nie jest element Sieci Semantycznej.

Punktem styku mf i SW może być np. GRDDL. Jest to właściwie jedyny sensowny sposób wyciągnięcia jakichś korzyści z obu technologii równocześnie jaki mi przychodzi do głowy. Pytasz co złego w mf bez ustawionej wartości profile — właśnie to, że bez tego GRDDL nie działa.

Różnica w podejściu stosowanym aktualnie w technologiach mf i SW polega na tym, że agent odczytujący microformat musi wiedzieć czego szuka — jeśli faktycznie to wie, to oczywiście wie jakich wartości i w jakich atrybutach może się spodziewać oraz co one oznaczają. W takiej sytuacji profile mu nie jest do niczego potrzebne. Agent odczytujący konkretny mf to po prostu parser strony — mało skomplikowane pewnie dlatego działące „od ręki”. W tym siła rozwiązania microformats. Jednak każdy nowy mikroformat wymaga powstania nowego parsera.

Natomiast agent Sieci Semantycznej nie wie czego może się spodziewać na stronie. Jeżeli strona zawiera jakąś semantykę (np. mf, eRDF, RDFa) i jest wskazany profile to agent może (via GRDDL) dokonać transformacji danej strony na RDF. Uzyskany graf RDF powołuje się na słowniki i ontologie, które agent może sobie dalej odczytać z Sieci lub może już je znać wcześniej. W ten sposób agent Sieci Semantycznej odczytuje dowolną informację z dowolnej strony, co w założeniu działa tak samo jak człowiek — czytam i się dowiaduję o czym dana strona traktuje. Agent SW jest jeden dla każdego możliwego zestawu (meta)danych, teraźniejszych i przyszłych.

Podkreślę to jeszcze raz, bo sprawa jest niezwykle istotna — agenty działają tak:

  • agent mf — szukam na stronie konkretnej informacji, zestawu (meta)danych, znajduję lub nie,
  • agent SW — czytam stronę i dowiaduję się jakie zawiera dane, o czym ona jest — w uzyskanym grafie RDF może być coś, co mnie interesuje.

Podejście drugie oznacza Sieć Semantyczną; podejście pierwsze (microformats) to jedynie (lub „aż”, jak na dzisiejszą kondycję WWW) ciekawe zastosowanie parsera i sprytnego markupu.

Inna rzeczą natomiast jest, że średnio poważnie traktuję opinie rozpowszechniane na na mało znanych blogach prowadzonych przez samozwańczych specjalistów

To o mnie?

#5 | 2007.09.04 17:59 | Wojciech Zając

Jasne. W tym, co piszesz — oczywiście masz rację, ja tylko odebrałem ten wpis jako… dezaprobatę ogólnego szumu przy mikroformatach i chciałem podkreślić, że nie zostały one stworzone typowo jako składnik sieci semantycznej, więc słabe przystosowanie od tej strony nie powinno być odbierane jako ich wada (trochę inne zastosowania) — laik mógłby zinterpretować Twoje słowa właśnie w taki sposób.

P.S. Cytowany fragment traktował o SemWebDev Weblog.

 

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.