• Nie Znaleziono Wyników

8.2.1. XML

XML (ang. Extensible Markup Language) jest prostym, elastycznym i nieza-le˙znym od platformy j˛ezykiem przeznaczonym do formalnego reprezentowa-nia ró˙znych danych w ustrukturalizowany sposób. Zastosowanie XML umo˙zli-wia łatw ˛a wymian˛e dokumentów pomi˛edzy ró˙znymi systemami i znacz ˛aco przy-czynia si˛e do popularno´sci tego j˛ezyka w dobie Internetu. XML jest rekomen-dowany oraz specyfikowany przez organizacj˛e W3C (http://www.w3.org/XML,

http://en.wikipedia.org/wiki/XML).

Na bazie XML powstało wiele ró˙znych j˛ezyków do reprezentacji danych i mo-deli (zapisywanych w plikach, które s ˛a poprawnymi dokumentami XML). J˛ezyki te nazywane s ˛a aplikacjami XML. Popularne aplikacje XML to:

• OpenDocument - OASIS Open Document Format for Office Applications, do-kumenty biurowe,

• SMIL - Synchronized Multimedia Integration Language, opis prezentacji mul-timedialnych,

• SVG - Scalable Vector Graphics, grafika wektorowa,

• XHTML - Extensible HyperText Markup Language, strony WWW, • XSL - Extensible Stylesheet Language, przekształcanie XML-i,

• XSLT - XSL Transformations, Przekształcenia Rozszerzalnego J˛ezyka Arkuszy Stylów.

8.2.2. RDF

Obecn ˛a zawarto´s´c internetu trudno kontrolowa´c. Składa si˛e ona z chaotycz-nie zindeksowanej przez roboty internetowe zawarto´sci. Mo˙zemy w chaotycz-niej wyró˙z-ni´c ró˙znorakie zasoby m.in. strony www, bazy danych, przeró˙zne pliki. Potrzebne

8.2. J˛ezyki modelowania zasoby w tych strukturach wyszukujemy za pomoc ˛a słów kluczowych skojarzo-nych z zagadnieniem. Niestety wi˛ekszo´s´c z otrzymaskojarzo-nych informacji jest nietrafna z punktu widzenia naszych potrzeb. W zwi ˛azku z tym przydatny okazałby si˛e jed-nolity model opisu tych zasobów.

RDF (ang. Resource Description Framework) jest modelem pozwalaj ˛acym na opisywanie zasobów sieci Web [3]. Do opisu mo˙zna wykorzysta´c składni˛e opart ˛a na XML-u lub Notation 3. Słu˙zy przedstawieniu wiedzy zawartej w Internecie, w sposób zrozumiały dla komputerów (łatwo przetwarzany przez programy kom-puterowe). Za pomoc ˛a RDF mo˙zna opisa´c zawarto´s´c np. strony www w krót-kim i zwi˛ezłym pliku tekstowym. Nast˛epnie opisy takie mog ˛a zosta´c wykorzy-stane w celu tworzenia semantycznego Internetu. Rozszerzeniem RDF jest OWL (http://en.wikipedia.org/wiki/Resource_Description_Framework).

W modelu RDF dany zasób mo˙ze posiada´c tylko jeden opis, który z kolei mo˙ze składa´c si˛e z wielu wła´sciwo´sci. Ka˙zda wła´sciwo´s´c ma jedn ˛a warto´s´c (rys. 8.1). Opis w postaci trójki zasób, własno´s´c, warto´s´c jest cech ˛a charakterystyczn ˛a modelu RDF. Poni˙zej przedstawiono dwa przykłady zapisu tych samych trójek, pierwszy w j˛ezyku RDF/XML, a drugi w Notation 3 (http://en.wikipedia.org/ wiki/Notation_3).

Listing 8.1: Zapis trójek w formacie RDF/XML

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="http://en.wikipedia.org/wiki/Tony_Benn"> <dc:title>Tony Benn</dc:title> <dc:publisher>Wikipedia</dc:publisher> </rdf:Description> </rdf:RDF>

Listing 8.2: Zapis trójek w formacie Notation 3

@prefix dc: <http://purl.org/dc/elements/1.1/>.

<http://en.wikipedia.org/wiki/Tony_Benn> dc:title "Tony Benn";

dc:publisher "Wikipedia".

Opisanie zasobów w oparciu o przytoczony uniwersalny model pozwala ujed-nolici´c tre´s´c wzgl˛edem okre´slonego szablonu. Podej´scie takie umo˙zliwia progra-mom komputerowym trafniej interpretowa´c zawarto´s´c zasobów, a w nast˛epstwie indeksowa´c, katalogowa´c oraz ł ˛aczy´c je w dziedziny z innymi zasobami o podob-nej tematyce. Taki sposób opisu zasobów zapewnia u˙zytkownikowi wydajniejszy i pewniejszy dost˛ep do informacji.

Rys. 8.1: Model opisu RDF.

8.2.3. OWL

J˛ezyk OWL (ang. Web Ontology Language) został stworzony by usprawni´c ko-munikacj˛e pomi˛edzy komputerami podł ˛aczonymi do Internetu (http://www. w3.org/TR/owl-features/). Nadaje on formalne znaczenie informacjom za-wartym w sieci, dzi˛eki czemu łatwiejsze staje si˛e ich przetwarzanie. OWL mo˙zna przedstawi´c w strukturze czterowarstwowej jako produkt zbudowany na funda-mentach innych j˛ezyków. Poszczególne warstwy tej struktury to:

• wastwa ontologii (OWL),

• warstwa schema (RDF Schema), • warstwa metadanych (RDF),

• warstwa danych (XML/XML Schema).

OWL wyst˛epuje w trzech odmianach o rosn ˛acym poziomie zło˙zono´sci:

• OWL Lite – jest przeznaczony dla u˙zytkowników, którzy potrzebuj ˛a jedynie hie-rarchii klasyfikacji oraz podstawowych ogranicze ´n. Definiuje powi ˛azania z RDF Schema, metody sprawdzania równo´sci i nierówno´sci klas lub wła´sciwo´sci, metody operowania na wła´sciwo´sciach oraz wybór okre´slonych warto´sci z klas. • OWL DL – jest przeznaczony dla u˙zytkowników wymagaj ˛acych pełnego j˛ezyka OWL przy jednoczesnym zapewnieniu obliczalno´sci wyra˙ze ´n (wszelkie konklu-zje s ˛a obliczalne, a wszelkie obliczenia osi ˛agn ˛a wynik w sko ´nczonym czasie). Definiuje taki sam zestaw mo˙zliwo´sci jak OWL Lite, ale ponadto posiada do-datkowy zestaw mo˙zliwych operacji na klasach i wła´sciwo´sciach. Wymaga te˙z separacji typów (klasa nie mo˙ze by´c jednocze´snie indywiduum lub wła´sciwo-´sci ˛a, a wła´sciwo´s´c nie mo˙ze by´c jednocze´snie indywiduum lub klas ˛a). Ponadto wła´sciwo´sci w OWL DL musz ˛a by´c relacjami pomi˛edzy dwoma klasami albo relacjami pomi˛edzy instancjami klas i typami danych RDF lub XML Schema. • OWL Full – podobnie jak OWL DL zapewnia on dost˛ep do pełnego j˛ezyka OWL,

ale nie wprowadza tak restrykcyjnych ogranicze ´n, przez co nie mo˙ze zapew-ni´c pełnej obliczalno´sci wyra˙ze ´n. W szczególno´sci oznacza to, ˙ze nie wymaga separacji typów oraz nie ogranicza wła´sciwo´sci. W przeciwie ´nstwie do dwóch poprzednich, pozwala na u˙zycie klas jako instancji.

Poniewa˙z ka˙zda z tych odmian jest rozwini˛eciem poprzedniej, prawdziwe s ˛a na-st˛epuj ˛ace stwierdzenia:

8.2. J˛ezyki modelowania • Ka˙zda poprawna ontologia OWL Lite jest równie˙z poprawn ˛a ontologi ˛a OWL DL • Ka˙zda poprawna ontologia OWL DL jest równie˙z poprawn ˛a ontologi ˛a OWL Full • Ka˙zda poprawna konkluzja OWL Lite jest równie˙z poprawn ˛a konkluzj ˛a OWL

DL

• Ka˙zda poprawna konkluzja OWL DL jest równie˙z poprawn ˛a konkluzj ˛a OWL Full

8.2.4. UML

UML (ang. Unified Modeling Language) jest j˛ezykiem modeluj ˛acym przezna-czonym do zastosowa ´n w projektach programistycznych. Zawiera on zestaw me-tod graficznej notacji umo˙zliwiaj ˛acy łatw ˛a wizualizacj˛e. Wyró˙zni´c mo˙zna wersj˛e UML Full oraz UML Lite. Pierwsza z nich zawiera dodatkowo OCL (ang. Object Constraint Language), wprowadzaj ˛acy ograniczenia precyzuj ˛ace wykorzystanie j˛ezyka; druga jest go pozbawiona.

UML mo˙zna opisa´c jako czterowarstwowy model, gdzie kolejne warstwy to: • metamodel MOF (Meta Object Facility),

• metamodel UML, • modele UML, • dane u˙zytkownika.

8.2.5. Ró˙znice pomi˛edzy j˛ezykami UML i OWL

Porównanie UML oraz OWL mo˙ze odbywa´c si˛e ze wzgl˛edu na ró˙zne kryteria [2]:

• Składni˛e j˛ezyka – j˛ezyk UML posiada reprezentacj˛e diagramow ˛a oraz reprezen-tacj˛e w postaci XMLa nazwan ˛a XML Metadata Interchange (XMI), jednak˙ze ta druga jest wtórna i tworzona na podstawie diagramów. W tym kontek´scie jest jedynie pewnego rodzaju konwersj ˛a podstawowej reprezentacji UMLa. OWL natomiast jest j˛ezykiem bezpo´srednio bazowanym na XMLu.

• Semantyk˛e – oba j˛ezyki słu˙z ˛a innym celom. Podczas gdy OWL pozwala repre-zentowa´c wiedz˛e o systemie, UML został stworzony głównie z my´sl ˛a o tworze-niu systemu (oprogramowania). Mimo to celem obu jest reprezentacja systemu jako cało´sci. Oba j˛ezyki s ˛a ukierunkowane obiektowo, co oznacza, ˙ze głów-nym komponentem reprezentacji wiedzy jest obiekt oraz jego relacje z ingłów-nymi obiektami. Oba j˛ezyki maj ˛a te˙z dwie podstawowe warstwy reprezentacji wie-dzy: wiedz˛e konkretn ˛a (udowodnion ˛a) oraz abstrakcyjn ˛a (terminologi˛e). • Zało˙zenia dotycz ˛ace otwartego i zamkni˛etego ´swiata – wyró˙zni´c mo˙zna dwa

przeciwstawne zało˙zenia dotycz ˛ace ´swiata:- ´swiat otwarty lub zamkni˛ety. W modelu zamkni˛etym nie ma potrzeby zamykania definicji klasyfikatora lub obiektu, gdy˙z zamkni˛ecie jest domy´slnie przyjmowane. W modelu otwartym natomiast wyra´zne aksjomaty zamykaj ˛ace s ˛a niezb˛edne, by okre´sli´c co nie mo˙ze dotyczy´c danej koncepcji. UML jest ukierunkowany na modelowanie danych oraz tworzenie systemów, a wi˛ec nawet przy tworzeniu modelu kon-cepcyjnego, reprezentowana wiedza jest traktowana jako kompletna, a w przy-padku OWLa model mo˙ze potencjalnie reprezentowa´c wiedz˛e cz˛e´sciow ˛a.

Tab. 8.1: Porównanie UMLa z OWLem

UML Lite UML Full OWL

Zorientowany obiektowo tak tak tak

Zało˙zenie otwartego ´swiata nie nie tak

Wła´sciwo´sci globalne nie nie tak

Synonimy nie nie tak

Metaklasy tak* tak* tak

Uniwersalna koncepcja nie tak* tak

* - oznacza wyst˛epowanie zało˙zenia tylko w ograniczonym zakresie

• Zało˙zenia i synonimy dotycz ˛ace unikalnych nazw – poniewa˙z OWL ma na celu zapewnienie wsparcia dla sieci semantycznej, narzuca to pewne ograniczenia na j˛ezyk, takie jak konieczno´s´c wspierania rozproszonych ontologii. Aby to osi ˛agn ˛a´c, OWL umo˙zliwia tworzenie definicji synonimów dla klas, wła´sciwo-´sci oraz indywidualnych opisów. Natomiast UML wymaga, aby definicje klas oraz wła´sciwo´sci były unikatowe.

• Zasi˛eg atrybutów i wła´sciwo´sci – UML nie ogranicza równie˙z globalnego za-kresu atrybutów i asocjacji z powodu zało˙zenia zamkni˛etego ´swiata. Tak˙ze w OWLu wła´sciwo´sci maj ˛a globalny zasi˛eg.

Skrócone porównanie podstawowych cech UMLa z OWLem przedstawiono w tab. 8.1.