Metaklasa (sieć semantyczna)

W sieci semantycznej iw reprezentacji wiedzy metaklasa jest klasą , której instancje same są klasami. Podobna do ich roli w językach programowania , metaklasy w językach sieci semantycznej mogą mieć właściwości, które w przeciwnym razie można zastosować tylko do jednostek, zachowując jednocześnie zdolność tej samej klasy do klasyfikowania w hierarchii pojęć. Umożliwia to wywnioskowanie wiedzy o instancjach tych metaklas przez semantycznych wnioskodawców przy użyciu stwierdzeń zawartych w metaklasie. W ten sposób metaklasy zwiększają ekspresyjność reprezentacji wiedzy w sposób intuicyjny dla użytkowników. Chociaż klasy są odpowiednie do reprezentowania populacji jednostek, metaklasy mogą, jako jedna z ich cech, być używana do reprezentowania pojęciowego wymiaru ontologii. Metaklasy są obsługiwane w języku ontologii OWL oraz słownik modelowania danych RDFS .

Metaklasy są często modelowane przez ustawianie ich jako obiektów roszczeń dotyczących rdf:type i rdfs:subClassOf — wbudowanych właściwości powszechnie określanych jako instancje i podklasy . Instancja oznacza, że ​​podmiotem roszczenia jest instancja, czyli jednostka należąca do klasy. Podklasa oznacza, że ​​podmiot jest klasą. W kontekście instancji i podklasy kluczowa różnica między metaklasami a zwykłymi klasami polega na tym, że metaklasy są przedmiotem wystąpienia roszczeń używanych w klasie, podczas gdy zwykłe klasy nie są przedmiotem takich roszczeń. (np. w twierdzeniu Bob instancji Człowiek , Bob jest podmiotem i Instancją, podczas gdy obiekt Człowiek jest zwykłą klasą; ale dalsze twierdzenie, że ludzka instancja gatunku Zwierząt czyni „gatunki zwierząt” metaklasą, ponieważ ma członek, „Człowiek”, który jest również klasą).

OWL 2 DL obsługuje metaklasy przez funkcję zwaną punning , w której jedna jednostka jest interpretowana jako dwa różne typy rzeczy — klasa i jednostka — w zależności od kontekstu składniowego. Na przykład, poprzez grę słów, ontologia może mieć hierarchię pojęć, taką jak Harry orzeł , instancja orła przedniego , podklasa orła przedniego ptaka i orzeł przedni, instancja gatunku . W tym przypadku ukaranym bytem byłby orzeł przedni, ponieważ jest reprezentowany jako klasa (drugie twierdzenie) i instancja (trzecie twierdzenie); podczas gdy metaklasa byłaby gatunkiem, ponieważ ma instancję, która jest klasą. Punning umożliwia również użycie innych właściwości, które w innym przypadku miałyby zastosowanie tylko w zwykłych przypadkach, bezpośrednio w klasach, na przykład „ stan ochrony orła przedniego najmniejszej troski ”.

Wywodzące się z obszarów reprezentacji wiedzy , logiki opisu i ontologii formalnej , języki sieci semantycznej mają bliższy związek z ontologią filozoficzną niż konwencjonalne języki programowania, takie jak Java czy Python . W związku z tym natura metaklas jest kształtowana przez pojęcia filozoficzne, takie jak obiekty abstrakcyjne , rozróżnienie na abstrakcję i konkret oraz rozróżnienie typu-token . Metaklasy pozwalają konceptom być interpretowane jako tokeny innych pojęć, zachowując jednocześnie ich status ontologiczny jako typów. Umożliwia to wyliczanie typów, przy jednoczesnym zachowaniu możliwości dziedziczenia po typach. Na przykład metaklasy mogą pozwolić maszynowemu rozumującemu wywnioskować z przyjaznej dla człowieka ontologii, ile pierwiastków znajduje się w układzie okresowym pierwiastków lub, biorąc pod uwagę, że liczba protonów jest właściwością pierwiastka chemicznego, a izotopy są podklasą pierwiastków, ile protonów istnieje w izotopie wodoru-2 .

Metaklasy są czasami zorganizowane według poziomów, podobnie jak w prostej Teorii typów, gdzie klasom, które nie są metaklasami, przyporządkowany jest pierwszy poziom, klasy klas na pierwszym poziomie są na drugim poziomie, klasy klas na drugim poziomie na następny i tak dalej.

Przykłady

Zgodnie z rozróżnieniem typu tokena obiekty ze świata rzeczywistego, takie jak Abraham Lincoln czy planeta Mars , są ponownie grupowane w klasy podobnych obiektów. Mówi się, że Abraham Lincoln jest przykładem człowieka, a Mars jest przykładem planety. Jest to rodzaj jest . Metaklasy to klasy klas, takie jak np. nuklidów . W chemii atomy są często klasyfikowane jako pierwiastki , a dokładniej jako izotopy . Szklanka wody, którą ostatnio wypiłeś, zawiera wiele atomów wodoru, z których każdy jest egzemplarzem wodoru . Sam wodór , klasa atomów, jest przykładem nuklidu . Nuklid jest klasą klas, stąd metaklasa.

Implementacje

RDF i RDFS

W RDF właściwość rdf:type jest używana do stwierdzenia, że ​​zasób jest instancją klasy. Umożliwia to łatwe tworzenie metaklas przy użyciu rdf:type w sposób przypominający łańcuch. [ potrzebne źródło ] [ wątpliwe ] Na przykład w dwóch trójkach

Orzeł Harry rdf: typ orzeł przedni rdf: typ gatunek

gatunek zasobu jest metaklasą, [ wątpliwe ] , ponieważ orzeł przedni jest używany jako klasa w pierwszym stwierdzeniu, a klasa orzeł przedni jest instancją klasy gatunek w drugim stwierdzeniu.

RDF zapewnia również rdf:Property jako sposób na tworzenie właściwości wykraczających poza te zdefiniowane we wbudowanym słownictwie. Właściwości mogą być używane bezpośrednio w metaklasach, na przykład „ ilość gatunków 8,7 miliona ”, gdzie ilość jest właściwością zdefiniowaną przez rdf: Właściwość i gatunek to metaklasa zgodnie z powyższym przykładem.

RDFS , rozszerzenie RDF, wprowadziło rdfs:Class i rdfs:subClassOf oraz wzbogaciło sposób, w jaki słowniki mogą klasyfikować pojęcia. Podczas gdy rdf:type umożliwia słownikom reprezentowanie instancji , właściwość rdfs:subClassOf umożliwia słownikom reprezentowanie subsumpcji . W ten sposób RDFS umożliwia słownikom reprezentowanie taksonomii , znanych również jako hierarchie subsumpcji lub hierarchie pojęć, co jest ważnym dodatkiem do rozróżnienia typów i tokenów możliwego dzięki RDF.

Warto zauważyć, że zasób rdfs:Class jest instancją samą w sobie, demonstrując zarówno użycie metaklas w wewnętrznej implementacji języka, jak i refleksyjne użycie rdf:type . RDFS jest własnym metamodelem

SOWA

W niektórych odmianach OWL, takich jak OWL1 -DL, byty mogą być albo klasami, albo instancjami, ale nie mogą być jednym i drugim. To ograniczenie zabrania metaklas i metamodelowania . Tak nie jest w przypadku pełnego smaku OWL1, ale pozwala to na obliczeniową nierozstrzygalność modelu. W OWL2 metaklasy można zaimplementować za pomocą punningu , czyli sposobu traktowania klas tak, jakby były jednostkami. Zaproponowano również inne podejścia i zastosowano je do sprawdzania właściwości ontologii na poziomie meta.

Paronomazja

OWL 2 obsługuje metaklasy poprzez funkcję zwaną punning . W metaklasach realizowanych przez kalambury ten sam podmiot jest interpretowany jako dwa zasadniczo różne typy rzeczy — klasa i jednostka — w zależności od kontekstu składniowego. Jest to podobne do gry słów w języku naturalnym, w której podkreśla się różne znaczenia tego samego słowa, aby zilustrować punkt. W przeciwieństwie do języka naturalnego, gdzie kalambury są zwykle używane w celach komediowych lub retorycznych, głównym celem gier słownych w technologiach Semantic Web jest ułatwienie przedstawiania pojęć, bliższe temu, jak są one omawiane w mowie potocznej lub literaturze akademickiej.

Protegowany

W edytorze ontologii Protégé metaklasy są szablonami dla innych klas, które są ich instancjami.

Klasyfikacja metaklas

przykład ontologii z pierwszym rzędem metaklas: klasyfikacja niektórych atomów chemicznych

Niektóre ontologie, takie jak ontologia projektu Cyc AI, same klasyfikują klasy i metaklasy w swoich ontologiach. Klasy dzielą się na „klasy o stałym porządku” i „klasy o zmiennym porządku”. W przypadku tych pierwszych metaklasom przypisuje się kolejność, mierząc odległość do osobników w odniesieniu do liczby „instancji” trójek potrzebnych do znalezienia osobnika. Klasy, które nie są metaklasami, są klasami jednostek, więc ich kolejność to „1”. Metaklasy, które są klasami o kolejności klas pierwszego rzędu, to „2” i tak dalej. Z drugiej strony metaklasy o zmiennym porządku mogą mieć instancje, jednym z przykładów metaklasy o zmiennym porządku jest klasa wszystkich klas o stałym porządku.


Zobacz też