Semantic Web – projekt, który ma przyczynić się do utworzenia oraz rozpowszechnienia standardów opisywania treści w Internecie w sposób, który umożliwi maszynom oraz programom (np. tzw. agentom) przetwarzanie informacji w sposób odpowiedni do ich znaczenia. Wśród standardów Semantic Web leżą m.in. OWL, RDF, RDF Schema (inaczej RDFS). Znaczenia zasobów informacyjnych wyznacza się za pomocą tzw. ontologii.
Semantic Web jest wizją Tima Bernersa-Lee (twórcy standardu WWW oraz pierwszej przeglądarki internetowej, a także przewodniczącego W3C). W swoich założeniach Semantic Web ma korzystać z istniejącego protokołu komunikacyjnego, na którym bazuje dzisiejszy Internet. Różnica miałaby opierać się na tym, że przesyłane dane mogłyby być 'rozumiane' także przez maszyny. Owo 'rozumienie' polegałoby na tym, że dane przekazywane byłyby w postaci, w której da się by powiązać ich znaczenia pomiędzy sobą a także w ramach odpowiedniego kontekstu.
Informacje przekazywane w ramach Semantic Web wymagałyby nie tylko samych danych, ale także informacji o tychże (tzw. meta-danych). To właśnie meta-dane zawierałyby sformułowania dotyczące relacji pomiędzy danymi oraz prawa logiki, które da się do nich zastosować. Dzięki temu da się by:
- powiązać zróżnicowane dane znajdujące się w Internecie w ramach wspólnych jednostek znaczeniowych (np. strony dotyczące filmów, dziedzin nauki, kuchni francuskiej, etc.)
- rozróżnić dane, które dla maszyn są w tej chwili nierozróżnialne ze względu na identyczny zapis tekstowy (np. zamek - urządzenie do zamykania drzwi; urządzenie do łączenia w ustalonym położeniu elementów ubrania; okazała budowla mieszkalno-obronna)
- przeprowadzać na tychże danych wnioskowania , tzn. otrzymywać informacje na ich temat, które nie są zawarte explicite (np. na podstawie danej "Ewa jest żoną Adama", możemy też dowiedzieć się, że Ewa jest kobietą, Adam mężczyzną, Adam jest mężem Ewy, żaden odmienny mężczyzna nie jest mężem Ewy, etc.)
Techniczne podstawy Semantic Web
Semantic Web zbudowany ma być na bazie już istniejących, wykorzystywanych oraz sprawdzonych standardów internetowych, nadbudowanych przez parę kolejnych standardów. Gdyż każdy kolejny standard nakłada się na kolejny, dotycząc innego poziomu abstrakcji, toteż ochrzczone zostały one mianem 'warstwowego placka' (ang. layer cake). Odmienne popularne ich określenie to 'semantyczny stos' (ang. semantic stack).
Kolejne warstwy placka prezentują się następująco (od dołu):
Unicode
Unicode jest standardem pozwalającym na wyrażenie w języku maszyn dowolnego znaku pisanego, dowolnego języka znanego na Ziemi. Standard ten rozwiązuje problem niewygód związanych z prymatem w świecie komputerów podstawowego alfabetu łacińskiego
URI
URI jest standardem zapewniającym unikatowowość zasobów internetowych. Gdyż wszystkie dane przesyłane w ramach Semantic Web będą zasobami internetowymi, będą one wymagały także określenia dla nich identyfikatora. Identyfikator będzie mógł składać się właśnie z zestawu znaków Unicode.
XML oraz XML Schema
XML jest standardem pozwalającym w ogólności na zapis danych.
Schematy XML wprowadzają ograniczenia dotyczące typu oraz struktury danych. Zachowanie typu oraz struktury daje gwarancję, że dane XML są poprawne w sensie syntaktycznym (np. w polu, w którym oczekujemy wartości liczbowej, wartość taka się pojawi)
RDF oraz RDF Schema
RDF jest standardem, który dopuszcza na zapis danych w postaci grafu skierowanego. W grafie tym dane zawarte są w wierzchołkach a relacje pomiędzy nimi oraz własności tychże leżą w krawędziach.
Schematy RDF wprowadzają do grafów takie pojęcia jak klasy oraz podklasy, pozwalające na wspólne grupowanie danych mających cechy wspólne. Dowolna dana może znajdować się w wielu klasach.
OWL
OWL jest standardem pozwalającym na definiowanie klas na podstawie własności danych, a także na definiowanie logicznych charakterystyk relacji. OWL jest więc standardem formalnie zapisującym ontologię.
Przykład:
Mając daną klasę 'Człowiek', a także posiadając w jej zbiorze relację 'jest mężem', chcielibyśmy określić klasę 'Małżonek' (dla czytelności przykładu, uznajemy definicję męża zgodną z polskim stanem prawnym).
Otóż małżonkiem jest zarówno dana, której podmiotem jest relacja 'jest mężem', jak oraz dana, której przedmiotem jest dana relacja (w języku grafów: małżonkiem jest wierzchołek grafu, z którego wychodzi krawędź 'jest mężem', jak oraz wierzchołek, do którego taka krawędź wchodzi).
Relację 'jest mężem' możemy też nader dokładnie określić. Jest to relacja funkcjonalna (tzn. że każdy podmiot, którego dotyczy ta relacja, ma co najwyżej jeden przedmiot). Jest ona też przeciwnie funkcjonalna (przedmiot tej relacji ma co najwyżej jeden podmiot). Nie jest ona przechodnia (tzn. nie ma takiej własności, że jeśli A jest mężem B a B jest mężem C to A jest mężem C), ma natomiast relację odwrotną. Tą relacją jest 'jest żoną' (każdy A, który jest mężem B będzie spełniać następującą relację: B jest żoną A).
Mechanizmy wnioskowania
Język OWL dopuszcza na definiowanie zależności pomiędzy danymi, dzięki czemu da się przeprowadzać wnioskowanie. Jednakże osobną sprawą jest przygotowanie odpowiednich mechanizmów, które takie wnioskowanie przeprowadzą poprawnie, a równocześnie w odpowiednio szybkim czasie. Program, przeprowadzający wnioskowanie nosi miano 'reasonera' (brak polskiego odpowiednika - w wolnym tłumaczeniu 'wnioskujący'). W tej chwili zaawansowanie techniczne reasonerów jest wciąż ograniczone oraz przeprowadzanie wnioskowań nawet na nieskomplikowanych ontologiach trwa zbyt długo jak na uwarunkowania Internetu.
Mechanizmy certyfikacji oraz zaufania
Istnieją w tej chwili w sferze rozważań teoretycznych. Mechanizmy te pozwoliłyby na zestandaryzowanie oraz rozwiązanie problemów autoryzacji użytkowników, identyfikacji ich zasobów, a także określenia praw, na jakich te zasoby są przesyłane oraz bywają udostępniane.
Koncepcja projektu była opisana m.in. w książce pt. "Semantic Web" autorzy: Michael C. Daconta., Leo Obrst, Kevin Smith.
Korzyści z takiej reprezentacji wiedzy
Dzięki standaryzacji możliwa stanie się swobodna wymiana danych oraz formalizacja oraz unifikacja dotychczasowej już zelektronizowanej wiedzy. Dzięki dobrze określonym strukturom reprezentacji komputer będzie mógł w łatwiejszy oraz bardziej trafny sposób wyszukiwać informacji albo nawet wnioskować w poszukiwaniu nowych faktów oraz powiązań.
Wyobraźmy sobie, że szukamy w Internecie informacji o jakiejś konkretnej grupie ludzi. Standardowym zachowaniem jest wpisanie w wyszukiwarkę internetową nazwiska tych osób oraz analiza wyników wyszukiwania pod kątem oceniania czy znaleźliśmy rzeczywiście szukane osoby. Jeśli jednak wyszukujemy w informacjach opisanych siecią semantyczną możemy pytać o osoby wskazując jakiś konkretny, bardzo szczegółowy fakt, np. "dyrektorzy przychodni lekarskich" oraz w wyniku otrzymamy kompletną listę spełniającą zapytanie.
Sprawdź też
Linki zewnętrzne