5 XML Query Language. Skeemojen opiskelun myötä olemme polulla joka luontevasti johtaa ajatukseen XMLdokumenteista

Koko: px
Aloita esitys sivulta:

Download "5 XML Query Language. Skeemojen opiskelun myötä olemme polulla joka luontevasti johtaa ajatukseen XMLdokumenteista"

Transkriptio

1 5 XML Query Language Skeemojen opiskelun myötä olemme polulla joka luontevasti johtaa ajatukseen XMLdokumenteista tietokantoina. Erityisesti, XML-skeema voi vaatia että tietty rakenne toimii (esiintymässä) avaimen tavoin (xsd: unique, xsd:key/xsd:keyref). Tätä voidaan ilmeisesti hyödyntää esim. kyselyissä. Vaikka myös matalan tason sovellusohjelmointi (SAX, DOM) hyötyy täsmällisistä skeemamäärittelyistä, ei XML-muotoisen tiedon käsittely suoraan ruohonjuuritasolla ole aina tuottavaa (vrt. XSLT vs. DOM). XML-dataan on kuitenkin mahdollista päästä myös XML-kyselykielten välityksellä (vrt. SQL). XML-kyselykieliä on useita erilaisia; rajaamme (suppean!) tarkastelumme seuraavassa XQuery-teknologiaan koska se muodostunee jatkossa de facto - standardiksi (Huom. se ei siis vielä ole esim. W3C-suositus). MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 92

2 5.1 Välisoitto Tehokas sovellusintegraatio on tiedon saatavuuden näkökulmasta hyvä asia Tiedon yhtenäinen tekninen esitys ja vaivaton saatavuus korostavat myös esim. tietoturvan merkitystä organisaatioissa... tekijänoikeudet, tietosuoja ja rekisterit, yms. MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 93

3 5.2 Perusidea: XML tietokantana Useat XML-sovellukset voidaan käsitteellisesti jäsentää XML-tietokantoja (database) hyödyntävinä sovelluksina Kuten tietokantajärjestelmien tapauksessa, myös XML-sovellusten suunnittelu selkiytyy kun... - tietoa noudetaan kannasta kyselyiden (query) avulla... - jotka palauttavat XML-dokumentteja... - joita käsitellään hallitusti "matalan tason" rajapintojen avulla (esim. DOM) Huom. Ratkaisu tarjoaa keinon esittää periaatteessa mitä tahansa tietoa (ns. virtual [XML] documents) XML-rajanpinnan läpi (myös olemassa olevia relaatiotietokantoja(!)) XML DOM Application DOM XML Application DB XQuery XML DOM MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 94

4 5.3 XML Query Language XML Query Language eli XQuery määrittelee kielen jolla DTD:n tai XMLskeeman mukaisesta loogisesta tietovarannosta voidaan tietyn syntaksin puitteissa kysellä tietoa - ks. Kyselykieli pohjautuu vahvasti XPath-tekniikkaan, mikä määrittelee viittausten perustan useissa XML-perheen tekniikoissa (esim. XSLT) - teknisesti: XQuery laajentaa XPath 2.0 -määritystä XPath lausekkeet kelpaat siis jo XQuery-kyselyiksi Itse kysely(lauseke) (query) on tekstimuotoinen lauseke (XPath/XMLsyntaksi) Kysely palauttaa tuloksena (result) XML-elementtirakenteen (ei vaatimusta juurielementistä, ts. voi olla myös hyvin muodostettu XML-tekstientiteetti) MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 95

5 5.4 SQL-tyyppinen esimerkki (1/3) Olkoon annettuna seuraava XML-dokumentti <bib> <book year="1994"> <title>tcp/ip Illustrated</title> <author><last>stevens</last><first>w.</first></author> <publisher>addison-wesley</publisher> <price>65.95</price> </book>... <book year="1992"> <title>advanced Programming in the Unix environment</title> <author><last>stevens</last><first>w.</first></author> <publisher>addison-wesley</publisher> <price>65.95</price> </book> MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 96

6 ... <book year="2000"> <title>data on the Web</title> <author><last>abiteboul</last><first>serge</first></author> <author><last>buneman</last><first>peter</first></author> <author><last>suciu</last><first>dan</first></author> <publisher>morgan Kaufmann Publishers</publisher> <price>39.95</price> </book> </bib> <book year="1999"> <title>the Economics of Technology and Content for Digital TV</title> <editor> <last>gerbarg</last><first>darcy</first> <affiliation>citi</affiliation> </editor> <publisher>kluwer Academic Publishers</publisher> <price>129.95</price> </book> MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 97

7 5.5 SQL-tyyppinen esimerkki (2/3) Suoritetaan kysely: "List the titles and years of all books published by Addison-Wesley after 1991, in alphabetic order." <bib> (: An example from the test cases [ON] :) { for $b in doc(" where $b/publisher = "Addison-Wesley" and $b/@year > 1991 order by $b/title return <book> { $b/@year } { $b/title } </book> } </bib> Huomioita: - oma syntaksi, XPath-lausekkeita, ns. FLWOR ("flower") -kysely MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 98

8 5.6 SQL-tyyppinen esimerkki (3/3) Kyselyn tuloksena (result) saadaan odotetusti: <bib> <book year="1992"> <title>advanced Programming in the Unix environment</title> </book> <book year="1994"> <title>tcp/ip Illustrated</title> </book> </bib> Huomioita: - SAX/DOM-ohjelmointiin verrattuna kysely yksinkertaistaa XML:n roolia sovelluksessa - tuloksen käsittelyyn tarvitaan XML-prosessointia, mutta tulos on helppo pakottaa helposti käsiteltävään muottiin (vrt. XML CSV) - tehtävän tasolla, yhtäläisyys XSLT-muunnosten kanssa on ilmeinen MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 99

9 5.7 XML-tietokannan tietomalli, huomioita SQL-vertauskuva ei kanna määräänsä pidemmälle: on hyvä muistaa että - XML-tietomalli on rakenteeltaan monimutkaisempi kuin relaatio JA - skeemamääritys voi sisältää vaihtoehtoisia ja toistuvia osia Ts. esim. seuraavalle "rikkaalle" tietorakenteelle ei löydy suoraa vastinetta relaatiotietokannoista (joskin "sama tietosisältö" voitaisiin toki esittää toisin): <!ELEMENT bib (book* )> <!ELEMENT book (title, (author+ editor+ ), publisher, price )> <!ATTLIST book year CDATA #REQUIRED > <!ELEMENT author (last, first )> <!ELEMENT editor (last, first, affiliation )> <!ELEMENT title (#PCDATA )> <!ELEMENT last (#PCDATA )> <!ELEMENT first (#PCDATA )> <!ELEMENT affiliation (#PCDATA )> <!ELEMENT publisher (#PCDATA )> <!ELEMENT price (#PCDATA )> MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 100

10 5.8 XQuery-kielioppi (1/5): perusteet Lausekkeiden perusrakenne, (dokumentin jäsennyspuun) solmun käsite, literaalit ja numeeriset tyypit tulevat XPathista ja XML-skeemoista, esim. doc("bib.xml")/bib//author[1] "merkkijono" -1.3E2 Kyselyn lähde valitaan syötefunktioiden avulla (input functions): - doc(...) (dokumenttisolmu, esim. doc("bib.xml") ) - collection(...) (kokoelma solmuja [listarakenne], esim. fn:collection(" ) - collection() valitsee oletussyötteenä oletuskokoelman (default collection) Kyselyn lähde voi olla selvillä myös kontekstin (tai kyselyn esittelyssä ilmoitetun option) perusteella Kyselyn liittyvät kommentit kirjataan hymynotaatiolla (: kommentti :) MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 101

11 5.9 XQuery-kielioppi (2/5): rakentajat Solmuja voidaan tuottaa suoraan rakentajien (constructor) avulla, esim.: <book year="1994"> <title>tcp/ip Illustrated</title> <author><last>stevens</last><first>w.</first></author> <price>65.95</price> </book> Sama voidaan tuottaa ohjelmallisesti myös rakentajakomentojen avulla (ns. computed constructors, vrt. XSLT-komennot), esim.: element book { attribute year { "isbn " }, element title { "TCP/IP Illustrated" }, element author { element last { "Stevens" }, element first { "W." } }, element price { } } MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 102

12 5.10 XQuery-kielioppi (3/5): ohjelmointi Aaltosulut merkkaavat evaluoitavan kohdan: <fact>i saw {5 + 3} cats.</fact> (: gives 8 :) XQuery sisältää tyypillisiä ohjelmointikielten piirteitä, kuten silmukoita (käsitellään tuonnempana) ja ehtolauseita: if ($widget1/unit-cost < $widget2/unit-cost) then $widget1 else $widget2 Monimutkaisemmat lausekkeet voidaan suunnitella funktioina: declare function local:between($seq as node()*, $start as node(), $end as node()) as item()* (: The between() function takes a sequence of nodes, a starting node, and an ending node, and returns the nodes between them. :) { let $nodes := for $n in $seq except $start//node() where $n >> $start and $n << $end return $n return $nodes except $nodes//node() }; MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 103

13 5.11 XQuery-kielioppi (4/5): kyselyt Yksinkertainen kysely palauttaa koko dokumentin sisällön tai sen osan: doc("bib.xml")//book Arkinen kysely rakentaa esim. tulokseen omia elementtejä: suorittaa laskentaa ja vertailuja: <example> <p> Here is a query. </p> <eg> $b/title </eg> (: tekstiä, EI evaluoitava lauseke! :) <p> Here is the result of the query. </p> <eg>{ $b/title }</eg> (: evaluoitava lauseke :) </example> Hieman monimutkaisempi kysely suorittaa myös "ehdollista laskentaa": (: oletetaan että muuttujat $dict ja $e on sidottu sopivasti... :) element {$dict/entry[@word=name($e)]/variant[@xml:lang="it"]} {$e/@*, $e/node()} Ks. MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 104

14 5.12 XQuery-kielioppi (5/5): kyselyn esittelyosa Kysely voi sisältää myös esittelyosan (prolog) Tyypillinen käyttötapaus on XQuery-version ja kyselyssä tarvittavien nimiavaruuden (prefiksinimien) esittely (declare): xquery version "1.0" encoding "utf-8"; declare namespace p=" declare namespace q=" declare namespace f=" <p:a q:b="{f:func(2)}" xmlns:r=" Kyselyt voidaan jakaa myös useisiin moduuleihin joihin viitata (import): import module namespace math = " Esittelyosa voi lisäksi sisältää esim. muuttujien esittelyjä, (itse määriteltyjä, kukaties rekursiivisiakin) funktioita ja kyselyä ohjaavia asetuksia MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 105

15 5.13 FLWOR-lausekkeet: sano se kukkasin Kyselyiden tärkeä erikoistapaus ovat FLWOR-kyselyt (for-let-where-order-return), esimerkiksi: for $d in fn:doc("depts.xml")/depts/deptno let $e := fn:doc("emps.xml")/emps/emp[deptno = $d] where fn:count($e) >= 10 order by fn:avg($e/salary) descending return <big-dept> { $d, <headcount>{fn:count($e)}</headcount>, <avgsal>{fn:avg($e/salary)}</avgsal> } </big-dept> Huomaa SQL-tyyppinen rakenne; keskeinen ero on se miten ja mistä syötevirta muodostuu (ns. tuple stream) MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 106

16 5.14 FLWOR-lausekkeiden evaluointi FLWOR-lausekkeiden syntaksi on melko intuitiivinen: FLWORExpr ::= (ForClause LetClause)+ WhereClause? OrderByClause? "return" ExprSingle for- ja let-osat (kenties useita kutakin) iteroivat valitun solmujoukon läpi, kiinnittäen "työmuuttujia" "silmukkamuuttujien" osoittamiin tietorakenteisiin syötevirrassa where-osa suodattaa syötevirtaa (valinnainen) order by -osa järjestää syötevirran (valinnainen) return-osa suoritetaan kerran kutakin (where-osan ehdot täyttävää) syötevirran alkiota kohden MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 107

17 5.15 FLWOR-lausekkeista (1/3): for Huomaa että for ja let -osat ovat aidosti erilaisia Esimerkki, for -kysely: for $s in (<one/>, <two/>, <three/>) return <out>{$s}</out> Tulos: <out> <one/> </out> <out> <two/> </out> <out> <three/> </out> Ts. return arvioidaan kerran kullekin silmukkamuuttujan arvolle MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 108

18 5.16 FLWOR-lausekkeista (2/3): let Esimerkki, let -kysely: let $s := (<one/>, <two/>, <three/>) return <out>{$s}</out> Tulos: <out> <one/> <two/> <three/> </out> Ts. return arvioidaan vain kerran (koska ei silmukkaa) for ja let -osia voidaan myös yhdistellä tuloksena on varsin mutkikkaita lauseita (jotka kannattaa yleensä järjestää jotta järjestys olisi määrätty): for $x in $w, $a in f($x) let $y := g($a) for $z in p($x, $y) return q($x, $y, $z) MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 109

19 5.17 FLWOR-lausekkeista (3/3): where ja order Peruskäytössä where-osa suorittaa testin jonka syötevirran alkioiden täytyy läpäistä, esim.... where $u/rating > "C" and $i/reserve_price > 1000 and $i/offered_by = $u/userid... where $i mod 100 = 0... where contains($i/description, "Bicycle")... order -osa puolestaan näyttää esim. tältä: for $e in $employees order by $e/salary descending (: tai esim. ascending empty least :) return $e/name MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 110

20 5.18 Funktiosta (1/2): itse määritellyt funktiot Esimerkki: "A local function that accepts a sequence of employee elements, summarizes them by department, and returns a sequence of dept elements." declare function local:summary($emps as element(employee)*) as element(dept)* { for $d in fn:distinct-values($emps/deptno) let $e := $emps[deptno = $d] return <dept> <deptno>{$d}</deptno> <headcount> {fn:count($e)} </headcount> <payroll> {fn:sum($e/salary)} </payroll> </dept> }; local:summary(fn:doc("acme_corp.xml")//employee[location = "Denver"]) Funktioiden yhteydessä vaaditaan aina nimiavaruuden käyttöä MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 111

21 5.19 Funktiosta (2/2): funktiokirjasto XQuery (1.0) hyödyntää laajennettua XPath (2.0) -funktiokirjastoa - ks. fn:function-name($parameter-name as parameter-type,...) as return-type Funktioiden käytön perusidea ja syntaksi on sama kuin XPath 1.0:ssa, eroja: - nimiavaruuksien käyttö - funktioiden määrä (!) - XQuery mahdollistaa omien funktioiden määrittelyn (!) XQuery-funktiokirjasto on nyt ilahduttavan laaja, erityisesti: kirjasto sisältää monia XML-skeemojen esimääriteltyjä datatyyppejä käsitteleviä funktioita MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 112

22 5.20 Esimerkkiprosessori: Saxon XSLT-sovelluksista tuttu Saxon(-B)-prosessori tarjoaa hyvän XQuery-toteutuksen - ks. Olkoon annettuna lähdedokumentti bib.xml ja kysely find.xq, esim. xquery version "1.0" encoding "iso-8859"; <root> <!-- books including string in their title "nt"... --> { for $s in //title where fn:contains($s,"nt") return $s } </root> Komento java -classpath... net.sf.saxon.query -s bib.xml find.xq...suorittaa halutun kyselyn MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 113

23 5.21 XML-sarjallistus XQuery-kyselyt voidaan esittää myös XML-muodossa (XQueryX), esim.: <bib> { for $b in doc(" where $b/publisher = "Addison-Wesley" and $b/@year > 1991 return <book year="{ $b/@year }"> { $b/title } </book> } </bib> Ks riviä koodia(!) Ts. käsin työhön ei tee mieli ryhtyä, mutta mahdollisuus kyselyiden käsittelyyn XML-rajapinnan läpi on toki paikallaan (esim. XSL-muunnoksin) MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 114

24 5.22 Lopuksi, huomioita Relaatiotietokantajärjestelmien suuri suosio perustuu eittämättä abstraktin relaatiotietokanta-kyselykieli -ratkaisumallin yleisyyteen: tietokanta voidaan "löytää" keskeisestä roolista miltei mistä tahansa sovelluksesta XQuery-prosessoreita voidaankin analogisesti pitää yhtenä keskeisimmistä XML-tekniikosta ( XML-kehitystyön tehokkuuden parantuminen) Melko pian huomataan että XQuery ja XSLT-tekniikat ovat tietyssä mielessä melko samanlaisia; tuntuu luonnolliselta olettaa että (iso) osa käyttötapauksista joihin nykyään sovelletaan XSL-muunnoksia voidaan tulevaisuudessa toteuttaa luontevasti XQuery-kyselyinä (funktiot & lausekielinen ohjelmointi...) Kuten XML-skeemojen, myös XQuery-teknologian opiskeluun voisi perustellusti käyttää lyhyen peruskurssin verran aikaa asiaa ei varmasti opi yksinomaan pinnallisesta esittelystä (vaan tekemälläpä oppii) MATHM RAKENTEISTEN DOKUMENTTIEN JATKOKURSSI (syksy 2005) - ON 115

5 XML Query Language. Skeemojen opiskelun myötä olemme polulla joka luontevasti johtaa ajatukseen XMLdokumenteista

5 XML Query Language. Skeemojen opiskelun myötä olemme polulla joka luontevasti johtaa ajatukseen XMLdokumenteista 5 XML Query Language Skeemojen opiskelun myötä olemme polulla joka luontevasti johtaa ajatukseen XMLdokumenteista tietokantoina. Erityisesti, XML-skeema voi vaatia että tietty rakenne toimii (esiintymässä)

Lisätiedot

XQuery tietokannan kyselykielenä

XQuery tietokannan kyselykielenä XQuery tietokannan kyselykielenä Miro Lehtonen 31.10.2007 OUGF-syysseminaari Tietojenkäsittelytieteen laitos Sisältö Johdanto XQueryn perusteet + esimerkkejä Oracle ja XQuery Miro Lehtonen, XQuery tietokannan

Lisätiedot

Hohde Consulting 2004

Hohde Consulting 2004 Luento 5: XQuery AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XQuery XQuery uudet funktiot sekvenssit muuttujat Iterointi järjestys suodatus järjestäminen Ehtorakenteet Muita toimintoja www.hohde.com

Lisätiedot

Web-teknologiat. XML-datan kysely Topi Sarkkinen

Web-teknologiat. XML-datan kysely Topi Sarkkinen Web-teknologiat XML-datan kysely Topi Sarkkinen Sisältö XML (lyhyesti) XPath XQuery XSLT XML Extensible Markup Language Ihmisten ja koneiden luettava metakieli, jolla voidaan määritellä muitakin kieliä

Lisätiedot

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

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely. XML prosessointi Miten XML dokumentteja luetaan ja kirjoitetaan XML prosessori lukee ja välittää XML dokumentin sovellukselle. Se sisältää entieettikäsittelijän (mahdollisesti) XML jäsentimen Sovellus

Lisätiedot

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

9.16 XSLT ja nimiavaruudet (1/3): literaali oletusnimiavaruus 9.16 XSLT ja nimiavaruudet (1/3): literaali oletusnimiavaruus XSL-muunnos voi tietenkin tuottaa myös tiettyyn nimiavaruuteen liittyviä kohdedokumentteja (tarvitaan aina jo esim. XHTML-sovelluksissa!) Helpoimmillaan

Lisätiedot

1. a) Laadi suoraviivaisesti kyselyä vastaava optimoimaton kyselypuu.

1. a) Laadi suoraviivaisesti kyselyä vastaava optimoimaton kyselypuu. Helsingin yliopisto, Tietojenkäsittelytieteen laitos Kyselykielet, s 2006, Harjoitus 5 (7.12.2006) Tietokannassa on tietoa tavaroista ja niiden toimittajista: Supplier(sid,sname,city,address,phone,etc);

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat Osa kalvoista perustuu Juha Puustjärven luentokalvoihin kurssilta T-76.1143 sekä kurssin oppikirjaan 3.5.2016 CSE-A1200 Tietokannat 3.5.2016 1 / 39 Oppimistavoitteet: tämän luennon

Lisätiedot

Paikkatiedot ja Web-standardit

Paikkatiedot ja Web-standardit Paikkatiedot ja Web-standardit Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: World Wide

Lisätiedot

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen Projektiryhmä StanForD-XML Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen Rahoittajat Koskitukki Oy, Metsähallitus, Metsäliitto Osuuskunta, Pölkky Oy, Stora Enso Oyj, UPM- Kymmene Oyj, Vapo Timber Oy, Yksityismetsätalouden

Lisätiedot

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla 2.5. YDIN-HASKELL 19 tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla kirjaimilla. Jos Γ ja ovat tyyppilausekkeita, niin Γ on tyyppilauseke. Nuoli kirjoitetaan koneella

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Makrojen mystinen maailma lyhyt oppimäärä

Makrojen mystinen maailma lyhyt oppimäärä Makrojen mystinen maailma lyhyt oppimäärä Makrot osana SAS-teknologiaa Yleiskuva Jouni Javanainen Aureolis lyhyesti Aureolis on jatkuvia Business Intelligence -palveluita tuottava asiantuntijaorganisaatio

Lisätiedot

3 Verkkosaavutettavuuden tekniset perusteet

3 Verkkosaavutettavuuden tekniset perusteet 3 Verkkosaavutettavuuden tekniset perusteet Saavutettavuuden toteuttaminen edellyttää lähtökohtaisesti tietoa laitteista ja sovelluksista, käyttäjistä ja käyttötavoista, sekä tekniikasta. Tekniikasta on

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Keskeneräinen luento 3: Listat (mm. SICP 22.2.3) Riku Saikkonen 31. 10. 2011 Sisältö 1 Linkitetyt listat 2 Linkitetyt listat (SICP 2.1.1, 2.2.1) funktionaalinen

Lisätiedot

XML-dokumenttien deklaratiivinen kyselykieli. Teemu Kumpulainen

XML-dokumenttien deklaratiivinen kyselykieli. Teemu Kumpulainen XML-dokumenttien deklaratiivinen kyselykieli Teemu Kumpulainen i Tampereen yliopisto Tietojenkäsittelytieteiden laitos Tietojenkäsittelyopin laitos Teemu Kumpulainen: XML-dokumenttien deklaratiivinen kyselykieli

Lisätiedot

Johdatus rakenteisiin dokumentteihin

Johdatus rakenteisiin dokumentteihin -RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista

Lisätiedot

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen

Lisätiedot

XML kielioppi. Elementtien ja attribuuttien määrittely. Ctl230: Luentokalvot Miro Lehtonen

XML kielioppi. Elementtien ja attribuuttien määrittely. Ctl230: Luentokalvot Miro Lehtonen XML kielioppi Elementtien ja attribuuttien määrittely Ctl230: Luentokalvot 11.10.2004 Miro Lehtonen Dokumenttien mallinnus Säännöt dokumenttityypeille 3Mahdollisten dokumenttirakenteiden määrittely Samassa

Lisätiedot

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta HELIA 1 (14) Luento Näkymät... 2 Relaatiotyypit... 2 Taulu - Tallennettu relaatio... 3 Näkymä - Virtuaalirelaatio... 3 Tulosrelaatio - Kyselyn tulos... 3 Otetaulut - Tauluun tallennettu kyselyn tulos...

Lisätiedot

XML-datan kysely. Topi Sarkkinen. Seminaarityö. Helsinki HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

XML-datan kysely. Topi Sarkkinen. Seminaarityö. Helsinki HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos XML-datan kysely Topi Sarkkinen Seminaarityö Helsinki 18.3.2015 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta Fakultet

Lisätiedot

Rakenteisten dokumenttien jatkokurssi, syksy 2006

Rakenteisten dokumenttien jatkokurssi, syksy 2006 Rakenteisten dokumenttien jatkokurssi, syksy 2006 MATHM-57200 Rakenteisten dokumenttien jatkokurssi, 5 op opetetaan syksyn 1-2 periodeilla Kotisivu: http://matriisi.ee.tut.fi/hmopetus/rdj/index.html Luennot:

Lisätiedot

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

Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta. 1. Julkaisutoiminnan peruskysymyksiä a) Mieti kohderyhmät b) Mieti palvelut c) Mieti palvelujen toteutus Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta. PALVELUKOKONAISUUDET:

Lisätiedot

Luento 3: Tietorakenteiden esittäminen

Luento 3: Tietorakenteiden esittäminen Luento 3: Tietorakenteiden esittäminen AS-0.110 XML-kuvauskielten perusteet Janne Kalliola Tietorakenteiden esittäminen XML-dokumentti puuna Muunnokset muodosta toiseen Perustietorakenteet listat puut

Lisätiedot

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1 Digitaalisen median tekniikat JSP ja XML 28.4.2004 Harri Laine 1 JSP hyvin lyhyesti JSP on Java-pohjainen skriptikieli JSP:llä laadittu sivu käännetään java-servletiksi (sivun toteutus vastaa servlettiluokan

Lisätiedot

Ohjelmointi 1 C#, kevät 2013, 2. tentti

Ohjelmointi 1 C#, kevät 2013, 2. tentti ITKP102 Ohjelmointi 1 C# 15.5.2013 1 / 6 Ohjelmointi 1 C#, kevät 2013, 2. tentti Tentaattori Antti-Jussi Lakanen Tässä tentissä saa olla mukana omia muistiinpanoja yhden arkin verran. Tentin valvojalla

Lisätiedot

SELECT-lauseen perusmuoto

SELECT-lauseen perusmuoto SQL: Tiedonhaku SELECT-lauseen perusmuoto SELECT FROM WHERE ; määrittää ne sarakkeet, joiden halutaan näkyvän kyselyn vastauksessa sisältää

Lisätiedot

Luento 5. Timo Savola. 28. huhtikuuta 2006

Luento 5. Timo Savola. 28. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 8: Pienen ohjelmointikielen tulkki (ohjelmoitava laskin) (mm. SICP 4-4.1.5 osin) Riku Saikkonen 15. 11. 2012 Sisältö 1 Nelilaskintulkki, globaalit muuttujat

Lisätiedot

W3C, Web-teknologiat ja XML

W3C, Web-teknologiat ja XML W3C, Web-teknologiat ja XML Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: XML on W3C:n

Lisätiedot

Extensible Stylesheet Language (XSL)

Extensible Stylesheet Language (XSL) Extensible Stylesheet Language (XSL) Tyylitiedostojen määrittely Ctl230:Luentokalvot 25.10.2004 Miro Lehtonen Johdanto Dokumenttien muotoilu tyylitiedostoilla 3XML: yleistetty merkkaus Kuvaa sisällön muttei

Lisätiedot

Helsingin yliopisto/tktl XML-metakieli XPath

Helsingin yliopisto/tktl XML-metakieli XPath XML-perusrakenteen ympärille on kehitetty tekniikoita ja standardeja kuvaamaan XML-rakenteisen tiedon käsittelyä sekä tietojen välisiä kytkentöjä. Näissä keskeinen tarve on pystyä osoittamaan operaatioiden

Lisätiedot

XML-merkkaus. Merkkidata, prosessointikomennot, kommentit

XML-merkkaus. Merkkidata, prosessointikomennot, kommentit XML-merkkaus Merkkidata, prosessointikomennot, kommentit Merkkidata Elementtien ja attribuuttien arvot 3Merkkijonot elementtien tunnisteiden välissä 3Attribuuttien arvot 3Kielletyt merkit < & Voidaan korvata

Lisätiedot

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

Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto Semanttinen Web Ossi Nykänen ossi.nykanen@tut.fi Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto Esitelmä "Semanttinen Web" Sisältö Konteksti: W3C, Web-teknologiat

Lisätiedot

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

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

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 5: Sijoituslause, SICP-oliot, tietorakenteen muuttaminen (mm. SICP 33.1.3, 3.33.3.2) Riku Saikkonen 6. 11. 2012 Sisältö 1 Muuttujan arvon muuttaminen:

Lisätiedot

C++11 Syntaksi. Jari-Pekka Voutilainen Jari-Pekka Voutilainen: C++11 Syntaksi

C++11 Syntaksi. Jari-Pekka Voutilainen Jari-Pekka Voutilainen: C++11 Syntaksi 1 C++11 Syntaksi Jari-Pekka Voutilainen 13.4.2012 2 Range-for Iteroi säiliön kaikki alkiot for-silmukassa. Säiliöltä vaaditaan begin- ja end-iteraattorit. Pätee kaikille C++11 STL-säiliöille, taulukoille,

Lisätiedot

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008 Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT Jouni Huotari S2008 2 Proseduurit Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

Digitaalisen median tekniikat. JSP ja XML

Digitaalisen median tekniikat. JSP ja XML Digitaalisen median tekniikat JSP ja 28.4.2004 Harri Laine 1 JSP hyvin lyhyesti JSP on Java-pohjainen skriptikieli JSP:llä laadittu sivu käännetään java-servletiksi (sivun toteutus vastaa servlettiluokan

Lisätiedot

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A. Tehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään neljä kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 31. tammikuuta 2009 Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 7: Funktionaalista ohjelmointia (mm. SICP 3.5) Riku Saikkonen 13. 11. 2012 Sisältö 1 Laiskaa laskentaa: delay ja force 2 Funktionaalinen I/O 3 Funktionaalista

Lisätiedot

Helsingin yliopisto Tietojenkäsittelytieteen laitos XML-metakieli (2011) Harri Laine 1. Jäsennys ja sarjallistaminen

Helsingin yliopisto Tietojenkäsittelytieteen laitos XML-metakieli (2011) Harri Laine 1. Jäsennys ja sarjallistaminen Jäsennys ja sarjallistaminen Tietorakenteen määrittely Hyvinmuodostettu / validi rakenne Rakenteen määrittely DTD XML-jäsentäjä (parser) on työkalu, joka pystyy muodostamaan puurakenteen tekstuaalisesta

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat 23.2.2016 CSE-A1200 Tietokannat 23.2.2016 1 / 36 Oppimistavoitteet: tämän luennon jälkeen Tunnet SQL:n perusteet ja osaat tehdä yksinkertaisia SQL-kyselyitä, esimerkiksi hakea relaatiosta

Lisätiedot

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python 7. helmikuuta 2009 Ohjelmoinnista Ohjelman peruselementtejä Koodin kommentointi Lohkorakenne Ohjausrakenteet If For While Try Funktiot Käyttö

Lisätiedot

Luento 7: XML-ohjelmointirajapinnat

Luento 7: XML-ohjelmointirajapinnat Luento 7: XML-ohjelmointirajapinnat AS-0.110 XML-kuvauskielten perusteet Janne Kalliola 1 XML-ohjelmointirajapinnat Document Object Model (DOM) käyttö rakenne ja versiot perusrajapinnat rajapinnat tarkemmin

Lisätiedot

Matlab- ja Maple- ohjelmointi

Matlab- ja Maple- ohjelmointi Perusasioita 2. helmikuuta 2005 Matlab- ja Maple- ohjelmointi Yleistä losoaa ja erityisesti Numsym05-kurssin tarpeita palvellee parhaiten, jos esitän asian rinnakkain Maple:n ja Matlab:n kannalta. Ohjelmien

Lisätiedot

P e d a c o d e ohjelmointikoulutus verkossa

P e d a c o d e ohjelmointikoulutus verkossa P e d a c o d e ohjelmointikoulutus verkossa XML-kielen perusteet Teoria ja ohjelmointitehtävät XML-kielen perusteet 3 Sisältö YLEISKATSAUS KURSSIN SISÄLTÖIHIN... 7 YLEISKATSAUS KURSSIN SISÄLTÖIHIN...

Lisätiedot

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32 HSMT Tietokannoista Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)

Lisätiedot

SQL - STRUCTURED QUERY LANGUAGE

SQL - STRUCTURED QUERY LANGUAGE SQL Peruskomentoja SQL - STRUCTURED QUERY LANGUAGE SQL on tietokantojen käsittelyyn kehitetty kieli Esimerkkejä kielellä hoidettavistaa toiminnoista: Tietokannan rakenteen määrittely ja muuttaminen Kyselyt

Lisätiedot

XSLT - ohjelmoinnin perusteet. Jaana Holvikivi Metropolia

XSLT - ohjelmoinnin perusteet. Jaana Holvikivi Metropolia XSLT - ohjelmoinnin perusteet Jaana Holvikivi Metropolia Johdanto: Muunnetaan XML-dokumentti HTML-muotoon (transformation)

Lisätiedot

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät HAAGA-HELIA Heti-09 1 (12) Näkymät Näkymät... 2 Eri tyyppisiä relaatioita... 2 Taulu - Tallennettu relaatio... 2 Tulosrelaatio - Kyselyn tulos... 2 Näkymä - Virtuaalirelaatio... 2 Näkymien määrittely...

Lisätiedot

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Esimerkkejä polynomisista ja ei-polynomisista ongelmista Esimerkkejä polynomisista ja ei-polynomisista ongelmista Ennen yleisempiä teoriatarkasteluja katsotaan joitain tyypillisiä esimerkkejä ongelmista ja niiden vaativuudesta kaikki nämä ongelmat ratkeavia

Lisätiedot

W3C-teknologiat ja yhteensopivuus

W3C-teknologiat ja yhteensopivuus W3C-teknologiat ja yhteensopivuus Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: W3C asettaa

Lisätiedot

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

6 XML-työkalut 1. 6 XML-työkalut 6 XML-työkalut 1 6 XML-työkalut XML:n periaatteiden tutustumisen jälkeen on helpompi tutustua XML-dokumenttien käsittelyyn ja katseluun suunniteltuja työkaiuja. XML:n yleistymisen pahin pullonkaula on

Lisätiedot

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 2: SICP kohdat 22.2.3 Riku Saikkonen 2. 11. 2010 Sisältö 1 Linkitetyt listat 2 Listaoperaatioita 3 Listarakenteet 4 Gambit-C:n Scheme-debuggeri Linkitetyt

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 11: Tulkin muokkaaminen, sisäiset määrittelyt, makrot (mm. SICP 3.2.4, 4-4.1.6) Riku Saikkonen 29. 11. 2012 Sisältö 1 Kirjan tulkin muokkaaminen 2 Yksityiskohta:

Lisätiedot

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT PUURAKENTEET, BINÄÄRIPUU, TASAPAINOTETUT PUUT MIKÄ ON PUUTIETORAKENNE? Esim. Viereinen kuva esittää erästä puuta. Tietojenkäsittelytieteessä puut kasvavat alaspäin.

Lisätiedot

è è è RDF-perusteet 7 RDF-perusteet

è è è RDF-perusteet 7 RDF-perusteet 7 RDF-perusteet Semanttisen Webin määrittelyteknisen ytimen muodostaa siis Resource Description Framework (RDF) -määritys. Tarkastellaan seuraavassa lyhyesti kielen (kaikille sovelluksille yhteisiä) primitiivejä

Lisätiedot

Poikkeusinfo XML-rajapinnan kuvaus, rajapinnan versio 2 Seasam Group

Poikkeusinfo XML-rajapinnan kuvaus, rajapinnan versio 2 Seasam Group 1.10.2010 1(15) Poikkeusinfo XML-rajapinnan kuvaus, rajapinnan versio 2 Seasam Group Graanintie 7 Tel. + 358 15 338 800 FIN-50190 MIKKELI Fax + 358 15 338 810 VERSIOHISTORIA Versio Pvm Tekijä Selite 1.0

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

Lisätiedot

www.hohde.com Hohde Consulting 2004

www.hohde.com Hohde Consulting 2004 Luento 14: Kertaus AS-0.110 XML-kuvauskielten perusteet Janne Kalliola Kertaus XML nimiavaruus validointi XML:n käyttö tietorakenteiden kuvaus ohjelmointi XML-pohjaiset kielet peruskielet muut kurssilla

Lisätiedot

Python-ohjelmointi Harjoitus 5

Python-ohjelmointi Harjoitus 5 Python-ohjelmointi Harjoitus 5 TAVOITTEET Kerrataan silmukkarakenteen käyttäminen. Kerrataan jos-ehtorakenteen käyttäminen. Opitaan if else- ja if elif else-ehtorakenteet. Matematiikan sisällöt Tehtävät

Lisätiedot

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4 Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.

Lisätiedot

9 RDF-kyselykielten perusteet: SPARQL

9 RDF-kyselykielten perusteet: SPARQL 9 RDF-kyselykielten perusteet: SPARQL Pelkkä yhteensopiva tietomalli ei sovellusten toteuttamiseen tietenkään riitä. RDFsovellusten yleiskäyttöisen perustan muodostavat erilaisten kyselyrajapinnat ja -

Lisätiedot

Kielioppia: toisin kuin Javassa

Kielioppia: toisin kuin Javassa Object Pascal Pascal kielen oliolaajennus (Inprise/Borland:n oma) luokat Voit uudelleenkäyttää luomiasi objekteja esim. komponentteja Periytyminen Kielioppia: toisin kuin Javassa Ei eroa isojen ja pienien

Lisätiedot

M. Merikanto 2012 XML. Merkkauskieli, osa 2

M. Merikanto 2012 XML. Merkkauskieli, osa 2 XML Merkkauskieli, osa 2 Esimerkki: XML-dokumentti resepti maitokaakao

Lisätiedot

Ehto- ja toistolauseet

Ehto- ja toistolauseet Ehto- ja toistolauseet 1 Ehto- ja toistolauseet Uutena asiana opetellaan ohjelmointilauseet / rakenteet, jotka mahdollistavat: Päätösten tekemisen ohjelman suorituksen aikana (esim. kyllä/ei) Samoja lauseiden

Lisätiedot

Luento 12: XML ja metatieto

Luento 12: XML ja metatieto Luento 12: XML ja metatieto AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XML ja metatieto Metatieto rakenne sanasto Resource Description Framework graafikuvaus XML Semanttinen Web agentit 2 1 Metatieto

Lisätiedot

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b Pythonin Kertaus Cse-a1130 Tietotekniikka Sovelluksissa Versio 0.01b Listat 1/2 esimerkkejä listan peruskäytöstä. > lista=['kala','kukko','kissa','koira'] ['kala','kukko','kissa','koira'] >lista.append('kana')

Lisätiedot

Interfacing Product Data Management System

Interfacing Product Data Management System Interfacing Product Data Management System Tekijä: Työn valvoja: Mats Kuivalainen Timo Korhonen Esitelmän sisältö Työn suorituspaikka - Ideal Product Data Oy Käsitteitä Työn tavoitteet Työn tulokset 1/5

Lisätiedot

XSL-muunnokset. 9 XSL-muunnokset

XSL-muunnokset. 9 XSL-muunnokset 9 XSL-muunnokset XML-dokumenttien keskeinen rooli on välittää tietoa sovellusten välillä. Yksinkertaisimmillaan tämä tarkoittaa sitä että tieto tuotetaan suoraan tietyn sovelluksen tekstiformaattiin. Lähestymistavan

Lisätiedot

Tyyppiluokat II konstruktoriluokat, funktionaaliset riippuvuudet. TIES341 Funktio-ohjelmointi 2 Kevät 2006

Tyyppiluokat II konstruktoriluokat, funktionaaliset riippuvuudet. TIES341 Funktio-ohjelmointi 2 Kevät 2006 Tyyppiluokat II konstruktoriluokat, funktionaaliset riippuvuudet TIES341 Funktio-ohjelmointi 2 Kevät 2006 Alkuperäislähteitä Philip Wadler & Stephen Blott: How to make ad-hoc polymorphism less ad-hoc,

Lisätiedot

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat

Lisätiedot

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö Tekijät: Eemeli Honkonen Joni Metsälä Työ palautettu: SISÄLLYSLUETTELO: 1 SEMINAARITYÖN KUVAUS... 3 2 TIETOKANTA... 3 2.1 MITÄ TIETOKANNAT SITTEN OVAT?... 3

Lisätiedot

Harjoitus 4 -- Ratkaisut

Harjoitus 4 -- Ratkaisut Harjoitus -- Ratkaisut 1 Ei kommenttia. Tutkittava funktio: In[15]:= f x : x 1 x Sin x ; Plot f x, x, 0, 3 Π, PlotRange All Out[159]= Luodaan tasavälinen pisteistö välille 0 x 3 Π. Tehdään se ensin kiinnitetyllä

Lisätiedot

Mathematica Sekalaista asiaa

Mathematica Sekalaista asiaa Mathematica Sekalaista asiaa Asetusoperaattorit Mathematicassa voi käyttää omia muuttujasymboleja melko rajattomasti ja niiden nimeämisessä voi käyttää miltei mitä tahansa merkkejä. Käytännössä nimeämisessä

Lisätiedot

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset 815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

Haskell ohjelmointikielen tyyppijärjestelmä

Haskell ohjelmointikielen tyyppijärjestelmä Haskell ohjelmointikielen tyyppijärjestelmä Sakari Jokinen Helsinki 19. huhtikuuta 2004 Ohjelmointikielten perusteet - seminaarityö HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 1 Johdanto 1 Tyyppien

Lisätiedot

XML johdanto, uusimmat standardit ja kehitys

XML johdanto, uusimmat standardit ja kehitys johdanto, uusimmat standardit ja kehitys Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: on W3C:n suosittama

Lisätiedot

XML rakenteen suunnittelu. Jaana Holvikivi

XML rakenteen suunnittelu. Jaana Holvikivi XML rakenteen suunnittelu Jaana Holvikivi XML suunnittelu Dokumentin ilmentymä elementit attribuutit (määritteet) entiteetit prosessointikäskyt 19.3.2015 Jaana Holvikivi 2 Elementtien sisäkkäisyys: säännöt

Lisätiedot

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0 CODEONLINE Monni Oo- ja Java-harjoituksia Version 1.0 Revision History Date Version Description Author 25.10.2000 1.0 Initial version Juha Johansson Inspection History Date Version Inspectors Approved

Lisätiedot

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9. Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä.

Lisätiedot

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä

Lisätiedot

W3C ja Web-teknologiat

W3C ja Web-teknologiat W3C ja Web-teknologiat Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: World Wide Web Consortium (W3C) on kansainvälinen

Lisätiedot

Algoritmit 1. Luento 3 Ti Timo Männikkö

Algoritmit 1. Luento 3 Ti Timo Männikkö Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016 ICS-C2000 Tietojenkäsittelyteoria Kevät 2016 Kierros 6, 22. 26. helmikuuta Huom: arviointiviikolla 15. 19.2. ei ole laskuharjoituksia! Demonstraatiotehtävien ratkaisut D1: (a) Osoita, että seuraava yhteydetön

Lisätiedot

XML-tietojenkäsittely

XML-tietojenkäsittely XML-tietojenkäsittely Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: XML tarjoaa välineitä tietojenkäsittelyyn

Lisätiedot

Julkishallinnon XML-skeemat v0.5 JHS-suositus

Julkishallinnon XML-skeemat v0.5 JHS-suositus Julkishallinnon XML-skeemat v0.5 JHS-suositus Keskustelutilaisuus 22.10.2008, Kansallismuseon auditorio Lasse Akselin TietoEnator lasse.akselin@tietoenator.com Sisällys Johdanto Nimeämissäännöt Skeemojen

Lisätiedot

TIEA341 Funktio-ohjelmointi 1, kevät 2008

TIEA341 Funktio-ohjelmointi 1, kevät 2008 TIEA341 Funktio-ohjelmointi 1, kevät 2008 Luento 4 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 17. tammikuuta 2008 Modulin viimeistelyä module Shape ( Shape ( Rectangle, E l l i p

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

Luento 4: XPath ja XLink

Luento 4: XPath ja XLink Luento 4: XPath ja XLink AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XPath ja XLink XPath lausekkeet joukko-oppi askeleet siirtymät solmutestit ehdot funktiot XPathin käyttö XLink XML Base XPointer

Lisätiedot

7.11.2006. Helsingin yliopisto/tktl Kyselykielet, s 2006 Relaatiokalkyylit. Harri Laine 1

7.11.2006. Helsingin yliopisto/tktl Kyselykielet, s 2006 Relaatiokalkyylit. Harri Laine 1 perusteita - relaatiokalkyylit perusteita - relaatiokalkyylit Relaatioalgebra on luonteeltaan proseduraalinen tapa käsitellä tietoa. Tiedon haetaan sarjaksi järjestettyjen operaatioiden avulla. Edellä

Lisätiedot