\section{Ontologia-avusteinen selailu (RH)}
\label{ontnav}
Ontologioissa navigointi on ontologian avulla luokitellun dokumenttijoukun selailua. Tässä luvussa esitetään kaksi selkeästi poikkeavaa tapaa.
\subsection{HiBrowse-malli}
\label{ontnav_hibmal}
\emph{HiBrowse} [Hib02] on malli ontologioissa navigoimiseen. Ontologian fasetit ovat puurakenteita ja HiBrowse-mallissa muutetaan kerralla aina yhden fasetin \emph{aktiivista solmua}. Ontologioista oli lisätietoa luvussa \ref{ont}. Kaikkien ontologioiden fasettien aktiivisten solmujen joukko 
muodostaa mallin nykyisen \emph{tilan}, tai suodatuksen, joka suodattaa ontologian kuvaamaa dokumenttijoukkoa (tässä tapauksessa kuvajoukkoa) niin, että tiettyyn tilaan kuuluva dokumenttijoukko on kaikkien sen tilan aktiivisten solmujen kuvaamien dokumenttijoukkojen leikkaus. Aktiiviseen tilaan kuuluva dokumenttijoukko voidaan kutsua \emph{aktiiviseksi dokumenttijoukoksi} (kuva \ref{hib1}).

\begin{figure}
\begin{center}
\includegraphics[width=0.5\textwidth]{hibrowse1.eps}
\caption{Aktiivinen dokumenttijoukko.}
\label{hib1}
\end{center}
\end{figure}

Esimerkissämme (Kuvat \ref{hib1}-\ref{hib7}) on kahden fasetin (puut) suodattama (katkoviivanuolet) dokumenttijoukko (ympyrät). Kuvissa fasettien aktiiviset solmut on merkitty aina ehjällä reunalla kun taas muut solmut on merkitty katkoviivareunalla. Dokumenttijoukon aktiivinen osa on merkitty tummalla taustalla.

Aktiivisen solmun siirto yhdessä fasetissa muuttaa myös ontologian aktiivista dokumenttijoukkoa. Aktiivisen solmun siirto alaspäin puussa tarkentaa ontologian kuvaamaa dokumenttijoukkoa (kuvat \ref{hib2} ja \ref{hib3}).  Aktiivista dokumenttijoukkoa voi tarkentaa edelleen (kuva \ref{hib4}), mutta aktiivisten solmujen kuvaamien dokumenttijoukkojen leikkaus voi myös jäädä tyhjäksi (kuva \ref{hib5}). Tyhjiä dokumenttijoukkoja
antaviin tiloihin siirtyminen olisi mukavaa estää käyttöliittymätasolla piiloittamalla tällaiset siirtymät faseteissa.

\begin{figure}
\begin{center}
\includegraphics[width=0.5\textwidth]{hibrowse2.eps}
\caption{Aktiivisen dokumenttijoukon tarkennus.}
\label{hib2}
\end{center}
\end{figure}

\begin{figure}
\begin{center}
\includegraphics[width=0.5\textwidth]{hibrowse3.eps}
\caption{Aktiivisen dokumenttijoukon tarkennus.}
\label{hib3}
\end{center}
\end{figure}

\begin{figure}
\begin{center}
\includegraphics[width=0.5\textwidth]{hibrowse4.eps}
\caption{Aktiivisen dokumenttijoukon muuttuminen kun fasetissa siirretään aktiivinen solmu kahdella siirrolla sisarukseensa (vrt. kuva \ref{hib3}).}
\label{hib4}
\end{center}
\end{figure}

\begin{figure}
\begin{center}
\includegraphics[width=0.5\textwidth]{hibrowse5.eps}
\caption{Tyhjä aktiivinen dokumenttijoukko.}
\label{hib5}
\end{center}
\end{figure}

Koska fasetit ovat puurakenteita, niissä voi myös siirtyä muulla tavalla kuin pelkästään ylöspäin ja alaspäin. Käyttäjää kiinnostavat mm. ''sisarustilat'' (esim. kuvat \ref{hib2} ja \ref{hib3}) sijaitsevat samalla tasolla. Itse asiassa navigointi voi käyttöliittymätasolla olla hyvinkin vapaata, eli käyttäjä voi mistä tahansa solmusta siirtyä mihin tahansa toiseen solmuun. Fasettipuiden lehdissä löytyvät itse dokumentit, tai ainakin yksittäiset linkin niihin.

Yksi potentiaalinen ongelma HiBrowse-mallissa on ontologiassa olevien solmujen moniperinnän salliminen. Tämä tarkoittaa että jokin ontologiassa oleva solmu voi kuulua moneen 
fasettiin (solmu X kuvassa \ref{hib6}), joka voisi muodostua ongelmaksi liikuttaessa fasetissa ylöspäin, puun juurta kohti. Mikäli eteen tulisi tällöin kaksi mahdollista isäsolmua, on valittava se isäsolmu joka kuuluu siihen fasettiin jossa liikutaan. Tarvittaessa moniperivä solmu voidaan duplikoida kaikkiin fasetteihin johon se kuuluu. Tämä tarkoittaa että moniperintää fasetin sisällä ei sallita. Ongelmiksi jäävät vielä kahteen fasettiin kuuluvien solmujen mahdollisesti aiheuttamat suodatuksen ristiriidat jotka voivat selaillessa yllättäen johtaa tyhjään tai muuten odottamattomaan dokumenttijoukkoon. Nämä ristiriidat on mahdollisuuksien mukaan havaittava, ja siirto tällaisiin tiloihin on mukava estää joko järjestelmä- tai käyttöliittymätasolla. Syklejä ontologiassa ei saa esiintyä.

\begin{figure}
\begin{center}
\includegraphics[width=0.5\textwidth]{hibrowse6.eps}
\caption{Moniperintä ontologiassa, jossa on moniperivä solmu X ja kaksi fasettia, A ja B.}
\label{hib6}
\end{center}
\end{figure}


Toinen ongelma on kiinteiden fasettien asettamat rajoitukset. Mikäli henkilöfasetteja olisi vain yksi, suodatukseen voisi valita vain professorin tai lehtorin, muttei molempia. Ratkaisu tähän on toteuttaa fasetit fasettiluokkina (esim. henkilöfasettiluokka) joista käyttäjä voi luoda useamman ilmentymän. Luokan tilaan tulisi kuulua sen ilmentymien tilojen aktiivisten dokumenttien yhdiste tai leikkaus. Nyt voidaan 
luoda kaksi henkilöfasettiilmentymää, joista toinen suodattaa professorin ja toinen lehtorin, ja henkilöfasettiluokan suodatus on siis 'professori ja lehtori' (Kuva \ref{hib7}).

\begin{figure}
\begin{center}
\includegraphics[width=0.5\textwidth]{hibrowse7.eps}
\caption{Fasettiluokan suodatus ilmentymäfasettien suodatusten leikkauksena (tummataustaiset dokumentit). Vaaleataustaiset dokumentit jäävät leikkauksen ulkopuolelle.}
\label{hib7}
\end{center}
\end{figure}


\subsection{Mielenkiintoiset linkit}
\label{ontnav_mielin}
Voidaan katsoa, että johonkin tarkasteltavissa olevaan dokumenttiin liittyy aina tietty määrä muita, aiheeltaan samoja tai samantyyppisiä dokumentteja, tai dokumentteja joiden aihe esiintyy tarkasteltavissa olevassa dokumentissa. Näitten dokumenttien löytäminen selailemalla voi olla hankalaa, varsinkin jos niitten olemassaolosta ei tiedetä mitään. HiBrowse-mallin tueksi voidaankin esittää jokaisen dokumentin yhteydessä ns. \emph{mielenkiintoisia linkkejä} muihin dokumentteihin. RDF-standardin mukaan ontologioissa voi solmujen välillä esiintyä paitsi periytymistä myös vapaamuotoisempia ominaisuussuhteita joita voi käyttää hyväksi. Esimerkkinä jollakin yliopiston rakennuksella voi olla talonmies. Kiinnostavuusyhteys voidaan siis määritellä näitten suhteiden mukaan, ja linkit tehdään lisättäessä dokumentteja ontologiaan.

\begin{figure}
\begin{center}
\includegraphics[width=0.5\textwidth]{hibrowse8.eps}
\caption{"Mielenkiintoinen" ominaisuuslinkki (X:llä on ominaisuus Y) ontologiassa.}
\label{hib8}
\end{center}
\end{figure}

On päätettävä, sallitaanko linkkejä ontologian aktiivisen tilan ulkopuolella oleviin dokumentteihin vai ei. 
Mikäli tällaiset linkit sallitaan, linkin takana olevat kuvat eivät välttämättä kuulu yksiselitteisesti mihinkään HiBrowse-mallin tilaan ja sen kanssa synkronisointi järkevällä ja johdonmukaisella tavalla on miltei mahdotonta. Tämän projektin puitteissa tällaiset vapaat linkit sallitaan ja synkronisointia ei edes yritetä toteuttaa.

Mikäli ontologiat ovat suuria on kymmenien tai jopa satojen linkkien näyttäminen käyttäjälle aivan turhaa, ja siksi näitä linkkejä on luokiteltava tai painotettava jollakin tavalla paremmuusjärjestykseen niin, että käyttäjälle näytetään vain esim. korkeintaan kymmenen parasta linkkiä. Luokitteluun on ontologioiden koosta aiheutuen luontevinta käyttää tekoälymenetelmiä manuaalisen luokittelun sijasta. Myös yhteisösuodatusmalli saattaa olla käyttökelpoinen, eli käyttäjät saisivat äänestää hyviä linkkejä, ja paljon ääniä saaneet linkit voitaisiin katsoa erityisen mielenkiintoisiksi. Samoin eniten seuratut linkit voitaisiin katsoa muita mielenkiintoisiksi. 

\subsection{Sidokset käyttöliittymään}
\label{ontnav_sidkäy}
Luonteva yhteys käyttöliittymään olisi kaksijakoinen käyttöliittymämalli, jonka yhdessä osassa näytettäisiin HiBrowse-mallin mukainen fasettiselain ja toisessa osassa aktiivinen dokumenttijoukko ja sille määritellyt mielenkiintoiset linkit. Tilanmuutos selainosassa muuttaisi dokumenttiosaa vastaamaan selaimen aktiivista tilaa ja mielenkiintoisen linkin seuraaminen dokumenttiosassa muuttaisi vastaavasti selainosaa, mikäli tällainen synkronointi katsotaan mieluisaksi tehdä. Käyttäjälle myös oma polun seuraaminen taaksepäin olisi hyödyllinen ominaisuus. Tällöin vierailluista tiloista voitaisiin muodostaa linkitetty lista jossa voidaan siirtyä sekä taaksepäin että eteenpäin. Mikäli käyttäjä peruuttaa ja valitsee jonkun muun tilan kuin se mikä olisi ollut listassa seuraavana, listassa kaikki aktiivista tilaa seuraavat tilat tyhjennetään ennen uutta siirtymää. Toiminto on tällöin oleellisesti samanlainen kuin web-selaimissa käytetty back/forward-logiikka. Tässä projektissa oman polun seuraaminen jää lisäominaisuudeksi joka toteutetaan jos aikaa riittää.
