Semantic Web - Metadata editor

 

Ohjelmistotuotantoprojekti, kesä 2002

Ohjelmistotuotantoryhmä 1, Meedio

 

http://www.cs.Helsinki.FI/group/meedio

 

Mikko Apiola (M.A.)

Ari Inkovaara (A.I.)

Miikka Junnila (M.J.)

Justus Karekallas (J.K.)

Pekko Parikka (P.P.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Helsinki 3. elokuuta 2002

Metadataeditorin asennus- ja käyttöohje

Helsingin yliopisto

Tietojenkäsittelytieteen laitos
Versiohistoria

 

Versio

Pvm

Laatija

Kommentti

 

1.0

28.8.2002

Miikka Junnila

Valmis käyttöohje

 

 


 

Sisältö


Versiohistoria.. 1-2

Sisältö.. 1-3

1      Yleistä.. 3

2      Asennus.. 3

2.1        Tomcatin asennus. 3

2.2        Metadataeditorin asennus. 2

2.3        Konfiguraatiotiedosto. 2

3      Ohjelman käyttö.. 3

3.1        Miten päästä alkuun? – yksi tyypillinen käyttötapaus. 3

3.2        Tiedostonkäsittelyikkuna - toiminnot 9

3.2.1      Tiedoston luominen. 9

3.2.2      Valmiiden RDF-korttien tallentaminen. 9

3.2.3      XML-tiedostojen poistaminen metadataeditorista. 9

3.2.4      Kortin tallentaminen. 9

3.2.5      Tiedoston korttien esiin saaminen. 9

3.2.6      Kortin tietojen esiin saaminen. 9

3.3        Pääikkuna – toiminnot 9

3.3.1      Tietojen syöttäminen. 10

3.3.2      Ontologialistan selaaminen. 10

3.3.3      ”Hae” -napin käyttö. 10

3.3.4      XML-tietojen käyttäminen. 10

3.3.5      ”Tarkista olemassolevat” –napin käyttö. 10

3.3.6      Kortin luokittelun aloittaminen. Error! Bookmark not defined.

 


 

 

 

 

 

 


1         Yleistä

MEEDIO-metadataeditori on ohjelma, jolla voidaan luokitella xml-korttien pohjaltaasioita rdf-ontologian mukaisiksi instansseiksi.

2         Asennus

2.1         Tomcatin asennus

Jakartan Tomcat on saatavissa Jakartan kotisivulta http://jakarta.apache.org/tomcat/ . Paketin purkamisen jälkeen on Tomcat asetettava käyttämään jotakin vapaata porttia. Oletusarvoisesti Tomcat käyttää porttia 8080. Jos tämä portti ei ole vapaana, on portti asetuksia muutettava.  Portin asettaminen tapahtuu tiedostosta: ./jakarta-tomcat-*.*.*/conf/server.xml. Lisätietoja asennukseen liittyen on edellämainitulla WWW-sivustolla.

 

Jotta Tomcat toimisi on koneella oltava myös Java Runtime –ympäristö, jonka fyysinen sijainti on asetettava ympäristömuuttujaan JAVA_HOME. Sunin Java on saatavissa Javan kotisivulta http://java.sun.com.

 

2.2         Metadataeditorin asennus

Metadataeditori tarvitsee toimiakseen Apachen Xalania ja Xerxcesiä  (http://xml.apache.org), Hewlett-Packardin Jenaa ( http://www.hpl.hp.com/semweb ) sekä Oraclen JDBC Thin (versio 9.01 tai uudempi http://www.oracle.com ). Nämä kirjastot on asennettava Tomcatin hakemistoon /jakarta-tomcat-*.*.*/lib.

Pura meedio.tar tiedosto hakemistoon ./jakarta-tomcat-*.*.*/webapps.

systemfiles- hakemisto CD:ltä on kopioitava /jakarta-tomcat-*.*.*/bin -hakemistoon

 

2.2.1       Metadataeditorin kääntäminen

Metadataeditori vaatii kääntyäkseen classpath-määrityksiin Xalanin, Xerxesin, Jenan tarvitsemat jar-pakkaukset ja Oraclen ajurit. Metadataeditori kääntyy tämän jälkeen normaalisti komennolla

javac *.java

Jollei edellinen komento toimi, kannattaa edellisen komennon perään komentoriviparametriksi laittaa edellämainitut jar-pakkaukset.

 

 

2.3         Konfiguraatiotiedosto

Konfiguraatiotiedosto on järjestelmän toiminnan kannalta välttämätön. Sen avulla metadataeditori

osaa käsitellä muokattavaa tietoa oikein. Konfiguraatiotiedoston editoiminen on tehtävä jollakin

metadataeditorin ulkopuolisella tekstieditorilla kuten esim. Microsoft Wordpad. Konfiguraatiotiedostoa muokatessa kannattaa huomioida, että virheellistä tietoa sisältävä konfiguraatiotiedosto saattaa tehdä metadataeditorin käytön mahdottomaksi. Konfiguraatiotiedosto on nimeltään configuration.mde ja se sijaitsee metadataeditorin hakemistossa systemfiles/MDEdata.

Konfiguraatiotiedosto sisältää seuraavat editoitavat tiedot:

 

<rdf-schema=> Käytettävän rdf-skeeman sijainti.

<xml-schema=> Käytettävän xml-skeeman sijainti.

<tomcat=> Tomcat-palvelimen käynnistyskomento.

<tomcat_off=> Tomcat-palvelimen sammutuskomento.

<card_id_attribute=> Xml-kortin tunnistetiedon sisältävän kentän nimi.

<card_start_attribute=> Xml-kortin alun osoittavan kentän nimi.

<card_header_attribute=>Xml-kortin otsikon sisältävän kentän nimi.

<joint_file_attribute=> Liitettyjen ominaisuuksien tiedoston sijainti hakemistorakenteessa.

<picture_start=> Ilmoittaa, mistä alkaa kenttä, joka sisältää esineen kuvan sijainnin.

<picture_end=> Ilmoittaa, mihin loppuu kenttä, joka sisältää esineen kuvan sijainnin.

<database=> Tietokannan nimi, johon luodut instanssit tallennetaan.

<db_login_name=> Tietokannan käyttäjätunnus.

<db_passwd=oideem> Tietokannan tunnussana.

<db_model_name=> Esineen malli.

<db_id_class=> Tietokannan luokkien osoite.

<db_id_property=> Tietokannan luokkien ominaisuuksien osoite.

<museum_id=> Museon nimi.

 

Tiedot syötetään halutulle riville yhtäsuuruus-merkin jälkeen siten, että komento päättyy

>-merkkiin. Esim. <rdf-schema=www.rdfschema.fi/skeema.rdfs>

 

3         Ohjelman käyttö

Metadataeditorin perustoiminnallisuus koostuu xml-tiedostojen käyttöönotosta, niissä olevien korttien avaamisesta, kortin asioiden luokittelua tietyn ontologian(luokittelun) mukaisesti, ja tämän uuden tiedon tallentamisesta. Tässä osassa kuvataan ohjelman toiminnot yksitellen, sekä annetaan pieni toimintaesimerkki tyypillisestä käyttötapauksesta.

 

3.1         Miten päästä alkuun? – yksi tyypillinen käyttötapaus

 

Kuva 3.1.1. Alkutilanne

 

 

Aluksi kopioidaan uusi tiedosto järjestelmän käyttöön (eli ikään kuin avataan tiedosto) painamalla nappia ”Luo tiedosto”, jolloin aukeaa seuraava ikkuna.

Kuva 3.1.2. Uusi tiedosto : Uusi tiedosto otetaan ohjelman käyttöön kirjoittamalla tiedoston hakemistopolku ja nimi ruudun kenttään, esimerkiksi ”/home/museum/xml/esineData1.xml”, ja sen jälkeen painetaan OK. Jos polku ja tiedostonimi olivat oikein, tulee ilmoitus että tiedosto on luotu. Sitten suljetaan ikkuna ”Sulje”-napilla.

              

Kuva 3.1.3 Uusi tiedosto on nyt listassa. Uudet tiedostot tulevat aina tähän listaan. Tässä tapauksessa tiedostoja oli jo ennestään kaksi, ja nyt siihen tuli lisäksi esineData1.xml. Kun painetaan tiedoston nimeä hiirellä, avautuu lista korteista joita on tiedostossa. Kun sitten valitaan hiirellä klikkaamalla yksi kortti, isoon ikkunaan avautuu uusi näkymä. Kuvaa ei tosin välttämättä ole, se riippuu siitä onko xml-kortissa kuvan tiedot.

 

Kuva 3.1.4. Avattu kortti näkyy tässä. Sama isompana seuraavassa kuvassa:

Kuva 3.1.5. Avatun kortin alkutila. Aluksi pitäisi päättää minkä ontologian luokan instanssi halutaan luoda. Tämä tapahtuu avaamalla ontologialista klikkaamalla sanan ”Tyyppi” alla olevaa valkoista neliötä.

Kuva 3.1.6. Tässä näkyy avattu ontologialista. Listan haaroja voi availla painamalla ”+”-merkkiä, ja näin avautuvia alahaaroja voi vastaavasti sulkea ”-”-merkillä. Jos plussaa eikä miinusta ole, ei kyseinen luokka sisällä enää alaluokkia. Koska  kuvassa oleva esine näyttäisi olevan ryijy, etsimme puusta ”Ryijy”-luokkaa.

Kuva 3.1.7 Tässä löytyi listasta ”Ryijy”. Kun oikea luokka on löytynyt, valitaan se painamalla itse luokan nimeä, jolloin Ryijy-luokalle määritellyt ominaisuudet avautuvat taulukkoon. Seuraavaksi voi alkaa täyttelemään tietoja. Listan voi tässä vaiheessa sulkea samasta napista josta sen avasikin, jonka jälkeen tilanne näyttää tältä.

                                           

Kuva 3.1.8. Ominaisuudet ovat taulukossa. Suluissa oleva tieto on xml-tietoa, joka on sidottu vastaaviin ominaisuuksiin. Seuraavaksi voidaan alkaa täyttää ominaisuuksia.

                                                                

Kuva 3.1.9.Niihin taulukon kenttiin missä ei ole alla ontologialistan avaus-nappia(eli niihin joiden alla ei ole valkoista laatikkoa), voidaan syöttää tekstiä.

Kuva 3.1.10. Niihin taulukon kenttiin joiden ontologialistassa on kaikki luokat, voidaan valita arvoksi mikä tahansa luokka painamalla sen nimeä listasta. Kun arvo on valittu, voidaan lista taas haluttaessa sulkea.

( Kuvissa listan tekstien vaihtuvista väreistä ei kannata välittää, ne eivät liity meidän ohjelmaamme vaan Internet-selaimeen.)

 

 

 

Kuva 3.1.11. Niihin taulukon kenttiin joiden  ontologialistassa on vain jokunen luokka, halutaan arvoksi instanssi. Tämä tarkoittaa sitä, että valitaan yksi luokka, ja valinnan jälkeen sen alle ilmaantuu tämän luokan aliominaisuuksia, esimerkiksi kun valitaan Yritys valmistajaksi, ja avataan ontologialista, näyttää tilanne tältä.

Kuva 3.1.12. Koska ei haluta monta samanlaista, on tärkeää tarkastaa jo olemassa olevat instanssit tietokannasta. Näin voidaan saada esimerkiksi tiedot kaikkiin ominaisuuksiin suoraan ilman että ne joudutaan itse täyttämään. Jos halutaan vaikka ilmaista, että esineen valmistaja on  yritys Lommilasta, voidaan kirjoittaa yrityksen tietoihin kohtaan osoite Lommila, ja sitten painaa nappia ”Tarkista olemassaolevat”. Kun nappia painetaan, ilmestyy ontologialistaan sellaisten instanssien lista, jotka sopivat kyseiseen tietoon.

Kuva 3.1.13. Kun painettiin nappia, tuli listaan yksi kursivoitu rivi lisää. Se tarkoittaa että tietokannasta löytyi yksi yritys, joka on Lommilasta. Seuraavaksi valitaan se, jotta nähtäisiin sen tiedot.

 

Kuva 3.1.14. Kun kursivoitua tekstiä klikattiin, saatiin sen instanssin tiedot näkyviin, eli tämä lommilalainen yritys oli Vaatturiliike Holma. Näiden esimerkkien mukaan voi sitten täytellä lisääkin tietoja, ja kun kokee olevansa valmis, painetaan ”Tallenna kortti” –nappia vasemmasta ikkunasta. Kun kortti on tallennettu, se muuttuu listassa vihreäksi, joka tarkoittaa että kortti on tallennettu. Korttiin voi palata myöhemmin ja muutella tietoja, jolloin se pitää tallentaa uudestaan jos muutokset halutaan voimaan. 

Kuva 3.1.15. Kortti on täytetty ja tallennettu. Kuten näkyy, myös tyhjiä kenttiä saa jättää, jos tietoja ei ole saatavilla.

 

3.2         Tiedostonkäsittelyikkuna - toiminnot 

Tiedostonkäsittelyikkuna on vasemmanpuoleinen ja ohuempi kahdesta ikkunasta, jotka ohjelmassamme näkyvät. Tämän ikkunan kautta availlaan ja suljetaan tiedostoja, valitaan kortteja tiedostoista, ja tallennetaan kortteja. Alla tarkemmat kuvaukset eri toiminnoista.

 

3.2.1       Tiedoston luominen

”Luo tiedosto” –napista saadaan auki ikkuna, johon kirjoitetaan halutun xml-tiedoston tiedostopolku ja nimi, esimerkiksi /home/museum/xml/esineData1.xml tai missä xml-tiedot sitten ikinä sijaitsevatkin. Sitten painetaan OK, jonka jälkeen pitäisi tulla tieto operaation onnistumisesta. Jos xml-data ei ole validia, ei tiedostoa voida avata, ja jos tiedostopolku tai nimi ovat väärin, ei tiedostoa myöskään löydy. Kun operaatio onnistuu, voidaan painaa sulje-nappia, ja tiedoston pitäisi ilmestyä tiedostolistaan, nappien alle tiedostonkäsittelyikkunaan

                      Tiedoston luominen tarkoittaa tämän ohjelman yhteydessä sitä, että xml-tiedosto kopioidaan ohjelman toimesta sen itsensä käyttöön. Tämä tarkoittaa sitä, että alkuperäiselle xml-tiedolle ei käy mitään, vaikkei ohjelmamme sitä onnistuisikaan avaamaan.

3.2.2       Valmiiden RDF-korttien tallentaminen

Kun yhden tiedoston kortit on kaikki luokiteltu, halutaan RDF-tiedot useimmiten tallentaa jonnekin järjestelmän ulkopuoliseen osoitteeseen. Tällöin painetaan ”Tallenna valmiit” –nappia, joka tallentaa valmiin RDF-tiedon tiedostoista auki olevan tiedoston(eli sen jonka kortit ovat näkyvissä)  pohjalta haluttuun hakemistoon. Kun hakemistopolku on syötetty, painetaan ”Tallenna” –nappia, jolloin tulee tieto operaation onnistumisesta.

3.2.3       XML-tiedostojen poistaminen metadataeditorista

Kun tiedosto halutaan poistaa tiedostonkäsittelyikkunan listasta, voidaan painaa ”Poista tiedosto” –nappia. Silloin avautuu ikkuna, jossa on lista tiedostoista jotka ovat käytössä, ja siitä voi klikkaamalla poistaa haluamansa tiedostot. Tämä ei tuhoa alkuperäistiedostoa, vaan ainoastaan poistaa kopion, joka on metadataeditorin käytössä. Kun on poistettavansa poistanut, voi ”Sulje”-napilla sulkea ikkunan.

3.2.4       Kortin tallentaminen

Kun ohjelman pääikkunaan on avattu joku kortti, voi sen tallentaa napista ”Tallenna kortti”. Tällöin kortin tiedot tallentuvat editorin omiin tietorakenteisiin, ja ne ladataan sieltä mikäli käyttäjä haluaa ladata kortin uudestaan, eli avaa kortin myöhemmin painamalla sen tunnusta listasta. Tallennnus ensimmäistä kertaa muuttaa myös kortin tunnuksen taustavärin listassa vihreäksi, ja kirjaimen K = koskematon V:ksi = valmis. Korttin tietoja voi kuitenkin tulla aina muuttelemaan, ja jos sen tallentaa, muutokset astuvat voimaan.

3.2.5       Tiedoston korttien esiin saaminen

Kun tiedosto on lisätty ”Luo tiedosto” –napilla editorin käyttöön, sen nimi tulee listaan nappien alle. Tiedoston kortit saa esiin painamalla tiedoston nimeä, jolloin sen alle listaan avautuvat kortit. Kortit ovat taustaväriltään punaisia jos niitä ei ole kertaakaan tallennettu ja vihreitä jos ne on vähintään kerran tallennettu. Eli vihreä viittaa valmiiseen, punainen keskeneräiseen. Jos avaa jonkun toisen tiedoston, edellisen kortit menevät piiloon,  eli vain yksi tiedosto on auki kerrallaan.

3.2.6       Kortin tietojen esiin saaminen

Kortin saa avattua painamalla sen tunnusnumeroa auki olevan tiedoston listasta, jolloin pääikkunaan avautuu kuva, mikäli sellainen on olemassa, sekä kortin tiedot, mikäli korttiin on lisätty tietoja ja tallennettu ne. Jos kortti avataan ensimmäistä kertaa, ei tule muita tietoja kuin esineen tyyppi ja tyhjä kenttä, josta luetteloinnin voi aloittaa.

 

3.3         Pääikkuna – toiminnot

Pääikkunaksi kutsun ohjelman suurempaa ikkunaa, joka on ikkunoista oikeanpuoleinen. Tässä ikkunassa tapahtuu metadatan lisääminen kortteihin. Ohjelmaa käynnistettäessä pääikkunassa on vain metadataeditorin logo, mutta heti kun kortteja avataan, ne avautuvat tähän ikkunaan.

3.3.1       Tietojen syöttäminen

Kun kortteja luokitellaan, valitaan aluksi minkä luokan instanssi tehdään. Sen jälkeen pääikkunan taulukkoon tulee tämän luokan ominaisuudet. Joihinkin ominaisuuksiin halutaan pelkkää tekstiä arvoiksi, toisiin halutaan joku luokka, ja kolmansiin jonkun luokan instanssi. Nämä käyttäytyvät hieman erityyppisesti, mutta ne on hyvä erottaa toisistaan.

 

Tapaus 1: Sellaiset ominaisuudet, joiden arvoksi halutaan pelkkää tekstiä, voidaan kirjoittaa mitä tahansa. Niiden kenttien perässä ei ole ”Hae” –nappia, eikä niiden alta voi avata ontologialistaa.

 

Tapaus 2: Sellaiset ominaisuudet, joihin halutaan arvoksi luokka, tunnistaa siitä, että niiden alta saa ontologialistan auki, ja tässä listassa on kaikki mahdolliset luokat vaihtoehtoina. Niiden arvoksi voi laittaa minkä tahansa luokan, mutta olisi kuitenkin tarkoitus, että arvoksi laitetaan joku järkevä luokka, esimerkiksi ”Sukupuoli” -ominaisuuden arvoksi on järkevää laittaa ”Mies” tai ”Nainen” eikä esimerkiksi ”Ryijy”. Kun luokan valitsee, se lukkiutuu, ja homma on sillä selvä.

 

Tapaus 3: Sellaiset ominaisuudet, joihin halutaan arvoksi instanssi, erottaa siitä, että niiden alta avautuva ontologialista on paljon suppeampi kuin edellisessä tapauksessa. Tällaisiin ominaisuuksiin halutaan arvoksi jonkun luokan instanssi. Kun luokka on valittu, avautuu taulukkoon uusia ominaisuuksia, jotka liittyvät luokkaan, esimerkiksi jos valitaan ”omistajaksi” ”Henkilö”, tulee alle etunimi, sukunimi, ynnä muita henkilöihin liittyviä ominaisuuksia. Nämä tiedot voi täyttää normaalisti, mutta aluksi kannattaa tarkistaa valmiita instansseja tietokannasta. (Katso Luku 3.3.5: ”Tarkista olemassaolevat- napin käyttäminen)

                     

3.3.2       Ontologialistan selaaminen

Sellaisissa taulukon kentissä, johon halutaan arvoksi joku luokka, on ominaisuuden nimen alla pieni laatikko, josta painamalla saa esiin ontologialistan. Tästä listasta avautuvat aluksi vain kaikkein yleisluontoisimmat luokat, mutta niiden vieressä olevista plus-merkeistä saa esiin niiden alaluokat, joiden plussista saa taas esiin niiden alaluokat ja niin edelleen. Samalla logiikalla voi miinusmerkeistä sulkea listasta yhden luokan kaikki alaluokat, jotka ovat listassa näkyvillä. Kun sopiva luokka on löytynyt, painetaan itse tekstin nimeä, jolloin luokka valitaan arvoksi kyseiseen kenttään.

Tiettyihin ominaisuuksiin pitää laittaa instanssi arvoksi. Näissä tapauksissa lista on usein paljon suppeampi, koska esimerkiksi tekijän arvoksi ei voida pistää puuvilla-instanssia. Näissä tapauksissa valitaan aivan samalla logiikalla sopiva luokka arvoksi, ja kun luokka on valittu, tulevat sen ominaisuudet listaan sen alle, ja ne voi puolestaan täyttää.

3.3.3       ”Hae” -napin käyttö

Ontologialistan selaaminen saattaa käydä puuduttavaksi, ja siksi käyttäjä voikin kirjoittaa luokan nimen myös suoraan tekstikenttään, ja painaa sitten ”Hae” –nappia, joka on kentän oikeassa laidassa. Silloin kirjoitettu luokka tulee suoraan kentän lukituksi arvoksi, ilman ontologialistan selaamista. Tämä vaatii kuitenkin sitä, että käyttäjän kirjoittama teksti on identtinen luokan nimen kanssa, isoja ja pieniä kirjaimia myöten. Jos ontologialistassa joku luokka kirjoitetaan vaikkapa MASA_asiasanoitus, ei riitä että kirjoittaa MASA-Asiasanoitus, vaan se pitää olla tarkalleen samalla tavalla. Jos kirjoittaa väärin, mitään ei tapahdu.

3.3.4       XML-tietojen käyttäminen

Kun kortti avataan, tulevat xml:stä sidotut tiedot sulkeisiin kyseisen ominaisuuden perään. Mikäli ominaisuus on sellainen, jonka arvo ei ole luokka, laittaa ohjelma tiedon myös suoraan vastaavaan kenttään. Jos sen haluaa vaihtaa, sen voi yksinkertaisesti poistaa ja kirjoittaa muuta tilalle. Luokka-arvoisilla ominaisuuksilla xml-tiedot ainoastaan näkyvät suluissa suuntaa-antavina tietoina, mutta tiedot pitää silti syöttää itse, jotta ne saadaan sopimaan uusiin luokitteluihin, eli ontologiaan. 

3.3.5       ”Tarkista olemassolevat” –napin käyttö

Valmiiden instanssien hakeminen tapahtuu painamalla ”Tarkista olemassaolevat” –nappia, joka ilmestyy näytölle kun on valinnut instanssiarvoisen ominaisuuden arvoksi luokan. Jos ei täytä henkilön tietoja ollenkaan, tulevat tietokannasta kaikki henkilö-instanssit. Jos taas käyttäjä on syöttänyt etunimi-kenttään Lasse, tulee tietokannasta ainoastaan Lasse-nimisten henkilöiden instanssit, ja niin edelleen. Instanssit ilmestyvät ontologialistaan henkilöluokan alle. Jos ontologialista ei ole siltä kohtaa avoinna, saattaa vaikuttaa siltä ettei mitään tapahtunut, mutta instanssien pitäisi silti löytyä listasta, kun sen sitten avaa. Instanssit näkyvät listassa kursivoituna, eli näin ne erottaa luokista. Kun instanssin valitsee, tulevat kyseisen instanssin tiedot näkyviin alle.

Instanssien haku on näppärä siksi, että valmiita instansseja ei kannata luoda uudelleen, vaan käyttää olemassaolevia. Näin säästyy myös itse jonkun muun jo syöttämien tietojen uudelleen kirjoittamiselta.