10 Tiedostot, dokumentit, tieto (&h-media)



Samankaltaiset tiedostot
13 Tiedostot, dokumentit, tieto (&h-media)

13 Tiedostot, dokumentit, tieto (&h-media)

käyttäjän tai tietoa käsittelevät ohjelmiston näkökulmasta Jokaiseen dokumenttiin liittyy

Johdatus rakenteisiin dokumentteihin

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Luento 12: XML ja metatieto

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto

Verkkosivut perinteisesti. Tanja Välisalo

ARVO - verkkomateriaalien arviointiin

3 Verkkosaavutettavuuden tekniset perusteet

Paikkatiedot ja Web-standardit

Rakenteisen oppimateriaalin tuottaminen verkossa esimerkki Rhaptos. Antti Auer Koordinaattori, HT Jyväskylän yliopisto Virtuaaliyliopistohanke

XML johdanto, uusimmat standardit ja kehitys

XHTML - harjoitus. Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa. Tiedoston tallennus notepad (muistio) ohjelmassa:

Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta.

W3C-teknologiat ja yhteensopivuus

Proseduraalinen dokumentti: sisältö, rakenne ja ulkoasu yhdessä, esim. worddokumentti

4. Lausekielinen ohjelmointi 4.1

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli.

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö)

Tyylien käyttö. <LINK href="mystyle.css" rel="stylesheet" type="text/css"> 5 WWW-hypermedian perusta: HTML

W3C ja alueellinen standardointi

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen.

ARVO - verkkomateriaalien arviointiin

Sisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1

Digitaalisen median tekniikat. JSP ja XML

Metatiedot organisaatioiden sisällönhallinnassa

W3C: teknologia ja (tieto)yhteiskunta

8 Tiedostot, dokumentit, tieto (&h-media)

Eero Hyvönen. Semanttinen web. Linkitetyn avoimen datan käsikirja

The OWL-S are not what they seem

Code Camp for Girls. Sanna Nygård. Lokakuussa

W3C ja Web-teknologiat

8. Kieliopit ja kielet 1 / 22

HTML ja CSS. Tästä se lähtee: portfolio-sivusto. Sivuston pääkansio, jonka sisällä on kaikki sivustoon kuuluvat alikansiot ja tiedostot.

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Rakenteisten dokumenttien jatkokurssi, syksy 2006

FUNKTIONAALIANALYYSIN PERUSKURSSI Johdanto


TIEDEJUTTUKURSSI FM VILLE SALMINEN

Muodolliset kieliopit

12 Dokumenttiluokan toteuttamisesta

Edistyksen päivät, Helsinki. Voiko tutkija muuttaa maailmaa? Humanistista meta-analyysiä merkitysneuvottelevien koneiden avulla.

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15

9 Hypermediajärjestelmistä

HTML5 & CSS3 perusteet

SÄHKE-hanke. Abstrakti mallintaminen Tietomallin (graafi) lukuohje

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Rakenteiset dokumentit Mitä hyötyä niistä on?

Miksi tarvitsemme verkkokirjoittamisen taitoa?

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2013

Luonnolliset vs. muodolliset kielet

Ajatus kaiken taustalla

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

9.16 XSLT ja nimiavaruudet (1/3): literaali oletusnimiavaruus

REKISTERI- JA TIETOKANTA-AINEISTOJEN SIIRTÄMINEN VAPA-PALVELUUN

Automaattinen semanttinen annotointi

etunimi, sukunimi ja opiskelijanumero ja näillä

CSS - tyylit Seppo Räsänen

Sisällönhallinnan menetelmiä

Johdatus Ohjelmointiin

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

Sami Hirvonen. Ulkoasut Media Works sivustolle

8. Kieliopit ja kielet

5 Hypertekstin rakenne ja navigointi

Mikä on semanttinen web?

Ohjeita informaation saavutettavuuteen

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki

3 WWW-hypermedian perusta: HTML

JOHDATUS TEKOÄLYYN TEEMU ROOS

Ohjelmoinnin perusteet Y Python

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin?

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto

Tiedon esitys tietokoneessa. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2010

W3C & verkkojulkaisun standardit

Ohjelmistojen mallintaminen, mallintaminen ja UML

Tentti erilaiset kysymystyypit

ARVO - verkkomateriaalien arviointiin

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014


Tietokoneohjelmien käyttö laadullisen aineiston analyysin apuna

XML Finland seminaari : Office 2007 XML dokumenttituotannossa

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

Hohde Consulting 2004

Mitä direktiivi käytännössä velvoittaa?

W3C, Web-teknologiat ja XML

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Kotisivuohjeet. Eteläpohjalaiset Kylät ry. Sivupohjien rakenne

6 XML-työkalut 1. 6 XML-työkalut

Esimerkki: ulkoisen tyylitiedoston valinta median mukaan

Kumula, Asiantuntijan blogiteksti

Tähtitieteen käytännön menetelmiä Kevät 2009

KUN LUKEMINEN ON HANKALAA. Helena Sorsa

Harjoitustehtävät ja ratkaisut viikolle 48

Transkriptio:

10 Tiedostot, dokumentit, tieto (&h-media) Tietokoneet käsittelevät tietoa tiedostojen muodossa Tietokoneiden yhteydessä dokumentilla tarkoitetaan tiedosto(je)n avulla esitettävää asiakokonaisuutta, joka jäsennetään kokonaisuudeksi joko käyttäjän tai tietoa käsittelevän ohjelmiston näkökulmasta Jokaiseen dokumenttiin liittyy - sisältö, rakenne ja esitystapa (enemmän tai väh. toisiinsa sekoittuneina) Tietokoneiden tapauksessa nämä voidaan teknisesti erottaa (ainakin osittain) toisistaan, esim. seuraavasti 1) dokumentin sisältö kirjoitetaan suomen kielellä ja esitetään tekstimuotoisena 2) dokumentin looginen rakenne (otsikot, kappaleet, lainaukset, ) koodataan HTML-elementeiksi HTML-koodauksen avulla 3) dokumentin ulkoasu (esitystapa) valitaan määrittelemällä em. elementeille ulkoasu esim. CSS-sääntöjen muodossa, WYSIWYG-tyyliin formatointiohjeina tai jätetään kokonaan dokumenttia esittävän ohjelman huoleksi 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 242

Esimerkki: HTML-dokumentti Seuraava dokumentti koostuu kolmesta tiedostosta esim.html (sisältö & rakenne), kuva.gif (dokumenttiin upotettu kuva) ja esim.css (ulkoasun määrittely): tiedosto esim.css BODY { background: white; } H1 { color: black; font-size: 20px; font-weight: bold; } P { color: blue; font-size: 12px; } tiedosto esim.html: <HTML> <HEAD> <TITLE>Moi maailma</title> <LINK REL="stylesheet" TYPE="text/css" HREF="esim.css"> </HEAD> <BODY> <H1>Esimerkki</H1> <P><IMG SRC="kuva.gif">Dokumenttien kirjoittaminen on oikeastaan aika helppoa.</p> </BODY> </HTML> 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 243

Dokumentit, tiedon "mallintaminen" ja "esittäminen" Karkeasti sanottuna: dokumentti on väline tiedon esittämiselle. "Dokumentti" ("käsitteellinen kokonaisuus") voi "teknisesti" tosin olla esitettynä useassa tiedostossa, tietokannassa tai jopa tietokoneohjelman "sisällä" tulostusohjeina "Tieto"-käsitteen hankaluuteen ei tässä yhteydessä ole syytä syvällisemmin puuttua - tiedon akseli: tietämys - tieto - informaatio - data - kohina - klassinen näkemys ~ "tieto on tosi, perusteltu uskomus" (tämä näkemys on yleisesti liian rajoittava [mitkä asiat "oikeasti" ovat tosia?]) - käytännöllinen näkemys ~ tieto on tavalla tai toisella merkityksellistä informaatiota (tässä taas ei oteta kantaa "totuuteen", vaan yhteys käyttöön) Tiedon esittäminen perustuu johonkin tiedon esitysmuotoon ollen sidoksissa tietyn kuvausmenetelmän käyttöön Tiedon kuvausmenetelmiä on olemassa lukuisia erilaisia ja eritasoisia, esim. - käsitekartat, semanttiset verkot, predikaattilogiikka, formaalit teoriat, ERdiagrammit, UML-kaaviot, HTML, XML, CSS, XSL, MathML, SMIL, SVG 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 244

Kuvausmenetelmä valitaan sen perusteella, mistä tiedon piirteistä ollaan kiinnostuneita ja mitä tiedolla halutaan tehdä Erilaisten kuvausmenetelmien välillä voidaan löytää seuraavat ääripäät: - tiedon kuvaaminen tai "jäsentäminen" asiasisällön itsensä näkökulmasta ~ tiedon käsitteellinen rakenne ([content]) - tiedon kuvaaminen tai "koodaaminen" asiasisällön esittämisen näkökulmasta ~ tiedon esitysrakenne ([presentation]) Esimerkki: kakkureseptin rakenteen kuvailu - taso 1: käsiterakenteen termeihin ja relaatioihin liittyvien sopimusten esittäminen - taso 2: tiedon tiedostoksi koodaamiseen (elementtien rakenne ja sisältö) liittyvien sopimusten esittäminen - tämän lisäksi sama "asia" voidaan vielä "kertoa välillisesti" jonkin yleisen tekstin esitysrakenteen puitteissa (esim. muunnoksen tuloksena) Sisällön ymmärtävän lukijan näkökulmasta em. kolme tapaa voivat hyvinkin välittää "saman tiedon", mutta esim. tietokoneiden näkökulmasta tiedon eri esitysrakenteet ovat hyvinkin erilaisia 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 245

Esimerkki kakkureseptin erityyppisistä esitysmuodoista "idea" "tiedon jäsentäminen" Kakkuresepti? kakkuresepti on resepti osa ainekset "TIETO IHMISEN MIELESSÄ" osa valmistusohje "tiedon mallintaminen" "tiedon esittäminen tai tiedosta kertominen" resepti ainesosa työvaihe #PCDATA #PCDATA resepti otsikko luku #PCDATA kplotsikko #PCDATA kpl #PCDATA "TIETO TIETOKONEESSA" "luettavissa oleva dokumentti" 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 246

Esimerkki: matemaattisen kaavan x + a / b kuvailu MathML-merkkauskielellä: tapa 1: käsitteellinen merkkaus ([content]): <apply><plus/> <ci> x </ci> <apply><times/> <ci> a </ci> <apply><power/> <ci> b </ci> <cn> -1 </cn> </apply> </apply> </apply> tapa 2: esittämiseen liittyvä merkkaus ([presentation]): <mrow> <mi> x </mi> <mo> + </mo> <mrow> <mi> a </mi> <mo> / </mo> <mi> b </mi> </mrow> </mrow> 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 247

Tieto ja metatieto Tieto-käsitteeseen liittyy läheisesti metatiedon käsite. Metatiedolla tarkoitetaan tietoa tiedosta Tieto ja metatieto ovat suhteellisia, informaation käytöstä riippuvia käsitteitä Tietojenkäsittelyssä metatiedolla tarkoitetaan annetun tieto-objektin tietyn kiinteän mallin mukaista kuvausta (vrt. luettelokortti) kirja lomake luettelokortti Metatietoa on kärjistetysti kahdenlaista: tiedon semanttiseen kuvailuun & luokitteluun liittyvää metatietoa (esim. "tämä on kirje") ja tiedon esitysrakenteeseen liittyvää rakenteellista metatietoa (tämän dokumentin rakenneosia ovat "otsikko, leipäteksti ja kuva") 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 248

Esimerkki metatiedosta: RDF ja Semanttinen Web RDF (Resource Description Framework) on W3C:n Semanttisen Webin perusta Semanttisen Webin tavoitteena on tiedon esittäminen yhteensopivasti siten, että se on ihmisten lisäksi myös tietokoneiden tulkittavissa RDF:n ideana on kuvailla tietoa ns. lausumien avulla: lausumat koostuvat resurssista, resurssille määriteltävästä ominaisuudesta ja ominaisuudelle annettavasta arvosta http://matrii TIETO: tekijä MALLINNUS: http://matriisi.ee.tut.fi/hmopetus/hypmed03/index.html http://purl.org/dc/elements/1.1/creator KOODAUS: hypmed03:index.html dc:creator tut:jukkah http://www.tut.fi/person/jukkah RDF-lausumista muodostuu graafi, jonka perusteella voidaan tehdä esimerkiksi hakuja ja ohjelmallista päättelyä 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 249

Dokumentteihin sisältyy useantyyppistä tietoa Dokumentteihin liittyy oikeastaan siis aina useita eritasoisia ja -tyyppisiä koodauksia, esim. - sisällön koodaus (suomen kielen sanojen kirjoittaminen ASCII-merkkeinä, kuvien esittäminen bittikarttoina tai vektorigrafiikkana) - rakenteen koodaus (elementtien alku- ja lopputagit HTML:n mukaisesti) - ulkoasun koodaus (esim. elementtien ulkoasun määrittäminen CSSformatointiominaisuuksien mukaisesti) - toiminnallisuuden koodaus (esim. linkin seuraaminen, skriptit, ) joihin puolestaan saattaa sisältyä omia koodauksia, rakenteita & yms. sopimuksia, joista ei "dokumentin yhteydessä" välttämättä erikseen mainita (esim. suomen kielen kielioppi & dokumenttiin sisältyvien objektien koodaus, HTML-kielioppi, kuvien pakkaus, skriptien syntaksi, jne.) Tietokoneiden myötä dokumentteihin voi siis liittyä myös toiminnallisuutta (esim. linkin seuraaminen, animaatiot & dokumenttiin upotettavat ohjelmat) 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 250

Tiedon kuvaaminen tekstimuodossa (tietokoneet) Erityyppiset tiedon esitystavat voidaan yleensä palauttaa tekstimuotoon Esimerkki: kakkureseptin käsitteellisen rakenteen palauttaminen logiikkaan part-of(ainekset,resepti) part-of(valmistusohje,resepti) is-a(kakkuresepti,resepti) Esimerkki: reseptin tiedon esitysrakenteen palauttaminen XML-säännöiksi: <!ELEMENT resepti (aineosa+, työvaihe+)> <!ATTLIST resepti nimi CDATA #IMPLIED> <!ELEMENT aineosa (#PCDATA)> <!ELEMENT työvaihe (#PCDATA)> Sääntöjä noudattava dokumentti voisi olla esim. seuraavanlainen <resepti nimi="suklaakakku"> <aineosa>jauhoja 3 desiä</aineosa> <aineosa>loput aineet</aineosa> <työvaihe>sekoita osat keskenään</työvaihe> <työvaihe>paista uunissa 200 asteen lämmössä</työvaihe> </resepti> 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 251

Käytännön suunnittelussa eri näkökulmien tulisi tukea toisiaan - aluksi tietoa analysoidaan & jäsennetään, jotta tiedettäisiin "mistä on kyse" - tämän jälkeen tieto mallinnetaan käytännöllisten tietorakenteiden muodossa, jotta tiedettäisiin "mitä tietoa sovelluksessa esitetään ja miten?" - lopuksi näistä tietorakenteista voidaan sitten rakentaa erilaisia esityksiä ("minkälainen hyperdokumentti asiasta kertomiseen tai asian näyttämiseen tarvitaan?") Eli aluksi mietitään mitä halutaan esittää, sitten suunnitellaan minkälaisten tietorakenteiden varaan tieto rakentuu ja lopuksi valitaan missä muodossa asiat (lukijalle) esitetään Huom!: jos tiedon X esitysrakenne valitaan sen perusteella, miten asiasisältö esitettäisiin esim. HTML-sivuna, esitysvaiheessa "hukataan" (abstraktia) tietoa: - kirjoittaja saattaa (ainakin kirjoitusvaiheessa) "ymmärtää" tai "muistaa" mistä oli kyse, mutta myöhemmin dokumenttia lukiessa "idea" on rivien välissä; konkreettisena pulmana tiedon koneellisen käsittelyn hankaloituminen - ratkaisu: tiedon esittämiseen käytetään "riittävän rikkaita" kuvausmenetelmiä (esim. XML-pohjaisia sanastoja joista tieto kuvataan HTML-muotoon tarvittaessa) 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 252

Automaattisen tietojenkäsittelyn idea Koska tietokoneet eivät ymmärrä koodatun datan merkitystä, pitää tiedon esitystapa valita käytössä olevien käsittelymenetelmien ehdoilla Keskeinen idea on ATK:n tuominen osaksi informaation käsittelyprosessia pelkän informaation tallettamisen sijaan ohjelmallinen käsittely siirrettävyys keskitetty ylläpito sovellukset ja käyttö informaatio, tieto ja näkemykset esittäminen tiedon sähköinen esitystapa salaus varmennettavuus pakkaus Tavoite: tietokone = (10 3 euroa maksava) muistilehtiö & lipasto tietokone = tiedon hallintajärjestelmä Keskeinen virhe on luulla, että tieto on (yleisesti) käyttökelpoisessa muodossa "kunhan se vain jotenkin saadaan tietokoneelle koodattua" (tavoitteet?!) 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 253

Tiedon esitysrakenteista: hierarkkiset rakenteet Tiedon intuitiivisista esitysrakenteista tärkeimpiä ovat kurssilla jo aikaisemmin esitellyiksi tulleet graafit ja puut Juurelliset puut ovat havainnollisuutensa ansiosta erityisen käyttökelpoisia pienten hierarkkisten dokumenttirakenteiden esittämisessä (esim. HTML) Esimerkki: Yksinkertaisen HTML-dokumentin eri osat voidaan kätevästi jäsentää dokumentin rakennepuun (eli jäsennyspuun) avulla seuraavasti: HTML HEAD BODY TITLE Esimerkki BGCOLOR="white" H1 Johdanto P Tämä on tyypillinen HTML-dokumentti 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 254

Sama dokumentti näyttää HTML-koodattuna esim. seuraavalta: <HTML> <HEAD> <TITLE>Esimerkki</TITLE> </HEAD> <BODY BGCOLOR="white"> <H1>Johdanto</H1> <P>Tämä on tyypillinen HTML-dokumentti</P> </BODY> </HTML> Paitsi analysoida ja jäsentää annettuja dokumentteja, merkattujen puurakenteiden avulla voidaan intuitiivisesti myös määritellä dokumenttiluokkia Esimerkki: Seuraava ELM-puudiagrammi määrittelee yksinkertaisen dokumenttiluokan geneerisen elementtirakenteen (XML DTD yhteensopivasti) resepti aines + * ohje #PCDATA #PCDATA 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 255

Vastaava (vaikeampilukuinen?) XML dokumentin tyyppimääritys olisi muotoa <!ELEMENT resepti (aines+, ohje*)> <!ELEMENT aines (#PCDATA)> <!ELEMENT ohje (#PCDATA)> On syytä huomata, että "sama asiasisältö" voidaan esittää useita erilaisia dokumenttirakenteita käyttämällä Esimerkki: Kotisivuilta löytyvä asia voidaan kertoa HTML-dokumenttina siten, että käytetään monipuolisesti eri HTML-elementtejä (esim. H1, H2, P & ADDRESS) tai siten, että sama asia kuvataan sanallisesti yhden ainoan P- elementin sisällä Dokumentin rakenteisuuden mitta on dokumenttiin koodattujen rakenneelementtien runsaus eli granulariteetti - suuri granulariteetti eli "pienet rakeet" ~ rikas rakenne - pieni granulariteetti eli "suuret rakeet" ~ yksinkertainen (köyhä) rakenne Jos dokumentin rakenne on valittu systemaattisesti, sisällön merkitystä kuvaillen, parantuvat mahdollisuudet tiedonkäsittelyn automatisointiin tiedon "arvo" kasvaa (suurta tietomäärää voidaan "hallita pienellä käsityön määrällä") 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 256

Hierarkiat ja virrat Kaikki tiedon "luontevat" esitysmuodot eivät aina ole luonteeltaan hierarkkisia (joskin kaikki tieto voidaan ilmeisesti kuvata myös hierarkkisina rakenteina) Virta on jono tietoalkioita (merkkejä) ja kontrollialkioita (kontrollimerkkejä, ohjausmerkkejä tai tapahtumia) Virrassa tieto esitetään siis "pötkössä", jonka seassa on ohjaustietoa Esimerkki: Tyypillisiä virtoja ovat esim. ääninäytteet ja videoleikkeet Virtojen kontrollimerkkejä ei siis tulkita elementtien lohko tms. -merkeiksi, koska koko elementin käsitettä ei (välttämättä) ole Esimerkki: Myös ohjelmointikielestä C tuttu merkkijonojen käsittely tapahtuu virtojen muodossa printf("tulosta minut\r\nkahdelle riville!"); Tietoa käsitellään virtojen muodossa lähinnä silloin kun - rakenne "ei kiinnosta", ts. tiedolla ei (sovelluksen näkökulmasta) ole tarpeellista rakennetta 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 257

- tietoa saadaan haltuun vähän kerrallaan, mutta se on käsiteltävä heti - tiedon rakenteen merkitseminen on kohtuuttoman hankalaa Kun hierarkkiset ja virtamaiset tietorakenteet yhdistetään, puhutaan ns. komposiittirakenteista - hierarkkiset rakenteet "virran vietävänä" ja päinvastoin Käytännössä useat dokumenttirakenteet ovat itse asiassa komposiittirakenteita, vaikka niistä puhutaankin hierarkkisina - "rakenteisissa dokumenteissa" toimitaan tyypillisesti siten, että dokumentin elementtien perusrakenne on puumainen (hierarkkinen) ja lehtielementtien sisältötekstin rakenne on tulkinnaltaan virtamainen (esim. HTMLstandardissa elementin BR käyttö) - vrt. HTML-kielen lohko- ja tekstityyliset elementit 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 258

Dokumenttirakenteiden määrittely (Rakenteisten) dokumenttien ja tietorakenteiden käytön yhteydessä (hypermediaan liittyviä) keskeisiä kysymyksiä ovat: - miten tietorakenne se-ja-se on määritelty? Ts., millaisia "kaikki" sovelluksen oikeantyyppiset tietorakenteen ovat? - kuinka dokumentista voidaan valita ankkurin kohteita dokumentin rakenneelementtien nimiä tai (yksityiskohtaisia rakenteitakaan) tuntematta? Rakenteisten dokumenttien, esim. HTML-merkkauksella merkityn tekstitiedoston tapauksessa samantyyppinen kysymys on: miten todella tiedämme, että esim. dokumentti <title>esimerkki</title> <h1>kappaleotsikko</h1> <p>tämä kappale on oikein muodostettu</p> on "oikein muodostettu", mutta seuraava dokumentti ei ole? <title>esimerkki</title> <h1>kappaleotsikko<p></h1> Tämä kappale on oikein muodostettu</p> 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 259

Vastaus piilee tavassa, jolla tietorakenne (dokumenttirakenne) määritellään; määrittelyn on oltava luonteeltaan sellainen, että se tarjoaa täsmällisen kuvauksen (tai mallin) kaikista "sallitunmuotoisista" tietorakenteista Edellä eräs tällainen kuvaustapa on edellä esitetty elm-puudiagrammi, joka täsmällisesti luonnehti kaikkia resepti-tyyppisiä rakenteisia dokumentteja: DOKUMENTIN TYYPPIMÄÄRITTELY DOKUMENTTILUOKAN KÄSITE resepti + * aines ohje #PCDATA #PCDATA Tietokoneet eivät kuitenkaan operoi kuvilla, vaan merkkijonoilla (eikä em. puudiagrammien avulla ole mahdollista määritellä kaikkia tietorakenteita) Yleisessä tapauksessa, kun halutaan täsmällisesti luonnehtia tai poimia tietorakenteita viittausten avulla, tietorakenteet assosioidaan merkkijonoiksi joiden rakenteen käsittely tietokoneilla on tehokasta (ja johon löytyy valmiiksi määritelmiä ja tuloksia) Tällöin viime kädessä päädytään (formaalisten) kielten käsitteisiin; idea on, että määriteltävän tietorakenteen "malli" vastaa kielen määrittelyä ja mallin mukaiset tietorakenteet vastaavat kielen yksittäisiä sanoja. 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 260

Formaalisista kielistä Pyrittäessä syntaktisesti yksikäsitteisiin kieliin päädytään ns. formaalisten kielten (formaalien kielten) käsitteisiin; tavoitteena on tällöin lähinnä (objektikieleen liittyvän) kielenkäytön ja päättelyn täsmentäminen Koska kielet ovat sanojen joukkoja, käytetään kielille tuttuja joukko-opin merkintöjä ja operaatioita (sisältyminen, yhdiste, leikkaus, komplementti jne.) Kieliin liittyviä peruskäsitteitä: aakkosto (merkistö), sana, tyhjä sana, kielioppi Äärellisen kielen ilmoittaminen onnistuu aina periaatteessa kielen sanat luettelemalla - äärettömille kielille tämä ei ilmeisestikään onnistu Esimerkki: eräs kieli aakkostossa ={a,b,c} on joukko L={a, ab, aaab, bab, ba} Äärettömän formaalisen kielen L ilmoittaminen voidaan tehdä usein eri tavoin (oleellisesti ominaisuusmääreiden tai tuottolausekkeiden avulla): - esim. säännöllisen lausekkeen avulla (jos L säännöllinen) - yleisessä tapauksessa kielen ilmoittaminen on usein tarkoituksenmukaista tehdä kielen sanat tuottavan kieliopin avulla 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 261

11 Monimutkaiset hyperdokumentit 11 Monimutkaiset hyperdokumentit Kuten kirjakin, myös hyperdokumentti voi olla tylsä, mielenkiintoinen, yksinkertainen tai monimutkainen, kirjan sisällöstä, rakenteesta, kirjoitustyylistä ja ulkoasusta riippuen Hyperdokumenttien konkreettisen epälineaarisen rakenteen ja koko lähestymistavan "uutuuden" ansiosta monimutkaisuus nousee kuitenkin nyt tarkastelussa korostettuun asemaan Hypermedian monimutkaisuuteen vaikuttavat useat tekijät, joista osalle ei löydy suoraa analogista vastinetta "kirjojen maailmasta" (tosin "kirjastojen maailmasta" saattaa jo löytyäkin). Hyvän hypermedian tekemisen edellytyksiä ovat ilmeisestikin hypermedian lukuprosessin perusteiden ymmärtäminen Tietokoneiden tuoma tuki voi olla passiivista (esim. kartat) tai aktiivista (esim. linkkien "tilan" esittäminen tai jopa käyttäjämallinnus) 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 262

11 Monimutkaiset hyperdokumentit Kirjan lukuprosessi vs. hypermedian lukuprosessi Hypermediaan liittyviä pulmia helpottaa luku- ja kirjoitusprosessien perusteiden ymmärtäminen (Sekventiaalisen) tekstin kirjoitusprosessi: 1) tutkimustyö ja suunnittelu, ideointi 2) sisällön jäsentäminen tekstimuotoiseksi, sen rakenteistaminen ja hallinta 3) kirjoittaminen (tekstin tuottaminen) ja lukuprosessi (edelliselle käänteinen): 1) lukeminen (tekstin tunnistaminen) 2) tekstin jäsentäminen ja tekstielementtien merkityksen tunnistaminen 3) sisällön tulkitseminen ja ymmärtäminen Lukeminen on helppoa, koska: tuttu tapa välittää tietoa, kirjan hallitseminen kokonaisuutena on helppoa (fyysinen objekti) ja sekventiaalisen tekstin kirjoittamista harjoitellaan paljon 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 263

11 Monimutkaiset hyperdokumentit Sekventiaalisen tekstin lukeminen on erikoistapaus epälineaarisen tekstin tai hypertekstin lukemisesta (ongelmia: lukemisen alku- ja loppukohdan löytäminen, työmuistin kuormitus, aineiston koon hahmottaminen, oman "sijainnin" hahmottaminen) Hypertekstin lukemisessa korostuu lukustrategian merkitys (ääripäät: ylhäältä alas vs. alhaalta ylös) Hypermedian lukuprosessi pelkistettynä 1) alkukohdan löytäminen (esim. haulla) 2) sivun (solmun) silmäileminen & lukeminen 3) linkin valinta, jne. Laajojen hyperdokumenttien lukeminen on yleensä aina yhdistelmä hakuja ja linkin seuraamista (itse asiassa hypertekstiä voidaan pitää hakuihin perustuvan tietokannan käyttöliittymämetaforana, vrt. Dexter) 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 264

11 Monimutkaiset hyperdokumentit Hypermedian monimutkaisuuden syyt Monimutkaisuuden syyt liittyvät paljolti ihmisen muistin ja ymmärryksen rajoittuneisuuteen Puhekielessä monimutkaisuus tai kompleksisuus ovat suhteellisia käsitteitä; hyperdokumenttien tapauksessa monimutkaisuudesta voidaan puhua kolmesta näkökulmasta 1) sisällön laajuuden näkökulmasta 2) solmujen geneeristen rakenteiden monimutkaisuuden näkökulmasta 3) hyperdokumenttien "teknisen lukemisen" hankaluuden (kokonaisuutena) näkökulmasta. Ensimmäinen näkökulma liittyy siis siihen, "miten paljon tietoa esitetään ja mitä (sisällöllisiä) esitietoja tämä vaatii", toinen siihen "miten erilaisten elementtien ja hypertekstirakenteiden varaan tiedon esittäminen perustuu" ja kolmas siihen "miten hankalaa esim. selaimen käyttö on" 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 265

11 Monimutkaiset hyperdokumentit Ongelmia aiheuttavat yleensä käytännössä (asian "sisällöllisen vaikeuden" ohella): 1) hypertekstin (graafin) suuri koko 2) solmujen sisäisen rakenteen monimutkaisuus 3) hypertekstijärjestelmän käyttöliittymän ongelmat Ensimmäisiin ongelmiin syynä ovat yleensä: - aineiston ja kohdeyleisön puutteellinen rajaaminen ("tästäkin joku saattaa olla kiinnostunut") - sisällön rakenteistaminen yksinomaan esim. teknisistä lähtökohdista käsin ("hei, käytetäänkin X-formaattia suoraan dokumenttimallina") - aineistoon ja käyttäjille soveltumaton käyttöliittymämetafora ("mikä ihmeen metafora? - mehän tarvitsemme vain ikkunoita ja nappuloita!") 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 266

11 Monimutkaiset hyperdokumentit Adaptiivinen hypermedia Samaan tapaan kuin esim. navigointia helpottava kalansilmänäyttö muuttuu navigoinnin myötä, myös varsinainen asiasisältö voidaan (periaatteessa) mukauttaa käyttäjän tarpeiden mukaisesti Adaptiivisella hypermedialla tarkoitetaan tilannetta jossa esim. - hypertekstin linkkejä piilotetaan tai näytetään käyttäjän navigointihistorian/navigointistrategian/toiveiden mukaisesti - solmuihin lisätään osia tai niitä piilotetaan - hypertekstiin luodaan dynaamisesti uusia karttoja (tms. näkymiä) - myös osa sisällöstä generoidaan dynaamisesti, jne. Käyttäjälle (lukijalle) välitettävän informaation tarkoituksenmukainen määrä on mitä ilmeisimmin käyttäjäkohtaista niinpä mielekäs aktiivinen adaptiivisuus edellyttää jotain tietoa käyttäjästä. Tiedon keruumekanismeja: - suorat kysymykset (Mitä haluat tehdä/nähdä? Mitä osaat?) - epäsuora päättely (esim. päättely navigointihistorian/tehtävien perusteella) 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 267

11 Monimutkaiset hyperdokumentit Adaptiivisuuden tekninen toteutus tarvitsee taustalle käyttäjästä kertovan tietorakenteen eli käyttäjämallin ja mekanismin hypertekstin mukauttamiseen Rikas hypertekstirakenne Käyttäjämalli Käyttäjälle esitettävä hyperteksti Perusratkaisu (koska helppo toteuttaa!) käyttäjämallinnukseen on ns. overlaymallien käyttö (hypertekstin graafiin merkitään informaatiota käyttäjästä, esim. tietääkö esitiedot/milloin lukenut/ymmärsikö/mitä haluaisi tietää/jne.) 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 268

"Yleensä" adaptiivisuus toteutetaan siten, että - toteutetaan yksi "maksimaalisen rikas" hyperteksti 11 Monimutkaiset hyperdokumentit - mallinnetaan käyttäjiä suhteessa tähän (esim. rikkaan semanttisen verkon avulla overlay-periaatteella [verkon rakenne ~ hypertekstin rakenne]) - alustetaan käyttäjämalli stereotyyppien noviisi/peruskäyttäjä/ekspertti avulla esim. lyhyen alkukyselyn tms. perusteella; päivitetään käytön myötä - linkkejä ja solmujen yksityiskohtia (adapt. elementit) näytetään adaptiivisesti - epäsuora päättely tehdään käyttäjän lokitietojen perusteella; vaikeasti pääteltävät asiat kysytään suoraan käyttäjiltä epäsuoran päättelyn sijaan - adaptiivisuuden päähuomio on näkymien ja karttojen adaptiivisuudella Sisällön "todellinen" adaptiivisuus edellyttää astetta järeämpien tekoälytekniikoiden tapauskohtaista käyttöä (esim. tietämyskantoja, joista tietoa "kuvataan" hypermediasovellukseen) näissä taas törmätään tekoälytieteiden ongelmiin (tiedon esittäminen, kontekstin tunnistaminen, jne.) Toteutus vaatii sovelluskohtaisia ratkaisuja & ohjelmointia, ts. valmiita, yleisesti käytössä olevia alustoja ei prototyyppisovelluksia (esim. ELM ART, ks. http://www.psychologie.uni-trier.de:8000/elmart) lukuun ottamatta juuri ole 73270 HYPERMEDIAN PERUSTEET (syksy 2003) 269