Sieć Semantyczna bliżej niż myślisz(?)

W ramach nadrabiania niewątpliwych zaległości w czytaniu blogów wszelakich trafiłem na jeszcze całkiem świeży tekst o intrygującym tytule Why the World is ready for the Semantic Web.

Opinia autora sprowadza się właściwie do zdania:

some of the biggest and best projects on the web today are based on Semantic Web principles - they just don't happen to be using Semantic Web technologies.

W pierwszej chwili brzmi dosyć głupio, nie da się ukryć... Jednak po zastanowieniu należy chyba przyznać mu rację, a przynajmniej poważnie wziąć pod uwagę przedstawione sugestie. Współczesne WWW (niech będzie nawet, że 2.0) posiada mnóstwo cech, które kilka lat temu były mrzonkami i tylko fantaści w rodzaju ideologów Sieci Semantycznej mieli odwagę mówić, że tak będzie wyglądała Sieć... Naciągane? Możliwe, ale trzeba przyznać, że coś w tym jest...

relacje między danymi

Google. The best discovery engine on the web relies on a single core principle to make it work: relationships between pages are valuable.

Szczerze mówiąc nie ta jedna cecha decyduje o skuteczności Googla, ale fakt, że znaczenie linków między stronami zostało podniesione do poziomów niespotykanych wcześniej. W Sieci Semantycznej linki między zasobami są kluczem do wszystkiego, a przede wszystkim mają konkretne znaczenie — stanowią predykaty konkretnych stwierdzeń. Aktualnie Sieć wygląda tak, jakby była pełna jedynie trójek <#strona1> :linkuje <#strona2> poczas gdy RDF umożliwia łącznie dowolnych zasobów (nie tylko stron WWW) za pomocą dowolnych wyrażeń (nie tylko „linkuje”). Czyli z punktu widzenia Sieci Semantycznej na lekcji o linkach Google zrozumiał na razie jeden przykład.

Chociaż trzeba zauważyć, że sytuacja powolutku się poprawia. Głównie za sprawą wykorzystywania atrybutu rel w tagach <a> lub <link> języka HTML. Np. słynny skądinąd atrybut rel="nofollow" powoduje, że Google odczyta taki link jako wyrażenie <#strona1> :linkujeBezPoparcia <#strona2> i uwzględnia to w wyliczeniach pozycji strony w wynikach wyszukiwania. Czyli już inny predykat, chociaż dalej jedynie między zasobami typu strona WWW.

No i nie zapominajmy, że linki miedzy stronami to jedynie malutki kawałek problemu — w kontekście oczekiwań Sieci Semantycznej Google jest wciąż bardzo, bardzo bezradny...

agregacja i reużywalność rozproszonych danych

RSS. These files provide a layer of data under the current web, that describe web pages and allow us to re-use and distribute these descriptions easily, aggregating the data as and when we need it. [...]

Mash-ups. As users demand more access to data from companies, the forward-thinking amongst them are responding by providing API access to the data. We've then witnessed the emergence of 'mash-ups', that use multiple APIs to combine and relate data from distributed sources, into a single interface.

Jakkolwiek słowa „agregacja” i tym bardziej „reużywalność” są brzydkie jak bezksiężycowa noc, to jednak jest to klasyczny przykład wykorzystania Sieci Semantycznej i jedno z wiodących podejść do istoty zagadnienia — Sieć to jeden wielki dostawca danych. Możesz sobie te dane pobierać jak pliki RSS, albo kazać sobie dostarczyć z dowolnych serwisów, choćby i przez wywołania API serwisów Web 2.0 (np. takich jak del.icio.us). To już się dzieje dziś i powoli zaczynamy uważać to za normalny sposób funkcjonowania oprogramowania w Sieci.

Semantic Web zmieni właściwie tylko tyle, że zamiast plików RSS będą dowolne kawałki RDF-a (np. RSS 1.0 albo Atom-OWL albo jeszcze inne cudo) a zamiast różnorakich API ustandaryzowany SPARQL. I już.

metadane

Tagging. The need to describe individual items (blogs, photos, events) - rather than a whole web page - has led us (so far) to the 'tagging' microformat, where we re-use existing HTML markup to provide short keywords for items on a webpage. [...]

Social Networking. [...] All of these applications use the same main principle: each user creates a metadata record for themselves, recording data values for particular metadata properties (height, weight, age, etc). The applications then relate particular metadata values (e.g. 'interests', 'age' and 'location') to create connections between records.

Rzeczywiście tagi i metadane wszelakie są dzisiaj niemal wszędzie. Jakoś wbrew przewidywaniom sceptyków, którzy krzyczeli (i krzyczą nadal), że „uzupełnienie danych wymagane dla startu Sieci Semantycznej na szeroką skalę jest niewykonalne bo ludziom się zwyczajnie nie chce”, jednak widać, że czasami się chce.

Teraz wystarczy tylko, żeby taki np. GoldenLine potrafił zaczytać profil zdefiniowany wcześniej w LinkedIn, albo jeden agregator RSS-ów zaczytał dane z dowolnego innego i już będziemy mieli zrealizowany kawałek niezłej idei.

W Sieci Semantycznej, gdzie dane są po prostu danymi a nie danymi zapisanymi w konkretnym systemie, opis dowolnej rzeczy powstaje raz. Dostaje jeden URL i jest wykorzystywany gdziekolwiek. Koniec z wpisywaniem swoich danych w -nastym systemie tworzącym społeczność („tym razem lepiej”). Koniec z tagowaniem setny raz tego samego tekstu w zupełnie inny sposób niż poprzednio. Koniec z opisywaniem strony po raz setny w celu dodania jej do kolejnego katalogu. Uniwersalność formatu RDF i ontologii sprowadza sprawę wymiany danych do zadania wręcz banalnego. Robisz raz, udostępniasz wszystkim i wszędzie, i sam jesteś odpowiedzialny za swój opis — tak to powinno działać. I tak działać pewnie będzie.

stromo

Zupełnie inną sprawą jest poruszany często fakt, że technologie Sieci Semantycznej są dosyć skomplikowane. Co prawda sama idea RDF jako modelu danych jest pięknie prosta, OWL to logika, której uniknąć się nie da (na szczęście), a SPARQL to właściwie tylko ciekawszy SQL. Jednak połączenie tego w jedną całość plus niemiłosiernie dziwaczny RDF/XML powoduje wrażenie technologii zbyt trudnej do przeskoczenia. Ale tak naprawdę pod warstwą różnych dziwactw kryją się rzeczy wcale nie bardziej skomplikowane niż np. napędzające dzisiejsze strony WWW środowiska LAMP-owe. Krzywa uczenia się[1] jest w przypadku SW stroma, nawet bardzo stroma.

Osobiście przyczyniam się jednak do prognoz, wg których rozwój Sieci Semantycznej w najbliższych latach nastąpi tyleż szybko co nieuchronnie. Technologię można ukryć i obudować w opakowanie mniej szkaradne, zwłaszcza jeśli potencjalny zysk jest istotny. A przecież zysk z integracji heterogenicznych danych, który staje się powoli potrzebą biznesową, nigdzie nie jest tak prosty do rozwiązania jak na gruncie technologii SW.

Słowem — nie jest źle i będzie lepiej ;-)

[1] Rozumiana jako funkcja czas_osiągnięcia_efektu(ilość_prób) lub efekt_uczenia(ilość_prób).

Komentarze

#1 | 2006.07.13 09:34 | losamorales

wystarczy tylko, żeby [...] jeden agregator RSS-ów zaczytał dane z dowolnego innego i już będziemy mieli zrealizowany kawałek niezłej idei.

chodzi o OPML?

a co do tagowania: na jakiej podstawie dobierac slowa kluczowe? to wg mnie spory problem. w zwiazku z tym, ze wiekszosc bytow jest skomplikowana do tego stopnia, ze wyjatkowo trudno jest stworzyc ich obiektywny opis uwzgledniajacy rozne, indywidualne spojrzenia. to wlasciwe nie mozliwe.

#2 | 2006.07.13 09:48 | MiMaS

chodzi o OPML?

Na przykład. Chociaż OPML to namiastka, twór sztuczny i zupełnie nie potrzebny — przecież tą samą informację (jak każdą) można wyrazić w RDF i nie trzeba zmuszać nikogo do uczenia się formatu OPML. Czyli idea słuszna tylko wykonanie IMHO mało sensowne.

a co do tagowania: na jakiej podstawie dobierac slowa kluczowe?

To problem na zupełnie inne rozważania. Istnieje on niezależnie od tego czy tagujemy jeden tekst raz na zawsze, czy wielokrotnie, przy użyciu takiej czy innej technologii. Zresztą tagi jak i metadane wszelakie mogą się zmieniać w czasie i wiele z takich zmian jest spowodowane właśnie tym, że „źle to wymyśliłem za pierwszym razem”... Sad but true.

#3 | 2006.07.13 10:36 | Przemek

Myślę że tagowanie powinno sięgnąć do praktyki bibliotecznych systemów klasyfikacyjnych. W końcu UKD jest rozwijana od dziesięcioleci, nie wspominając o incjatywach Dublin Core. Mnie osobiście fascynuje nie możliwość powiązania ze sobą informacji, ale sposób jej prezentacji użytkownikowi w taki sposób by była dla niego łatwa i użyteczna.

#4 | 2006.07.13 10:38 | MiMaS

Jeszcze o OPML — przykładowo Planeta 7thGuard udostępnia listę blogów nie tylko w formacie OPML, ale również w RDF jako foaf:Group. Ponieważ FOAF jest ontologią OWL, to agent czytający tę listę nie musi się uczyć OPML-a, który poza tym jednym zastosowaniem może mu w ogóle nie być do niczego potrzebny. Wystarczy, że będzie rozumiał RDF, doczyta sobie z ontologii co oznacza foaf:Group, foaf:member, foaf:weblog itd. a w końcu dojdzie również do rss:channel.

Tym samym Planeta 7thGuard stoi otworem dla niemal autonomicznych agentów Sieci — Semantic Web tuż za rogiem. :-)

 

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.