Semistrukturerte data og XML

Like dokumenter
Semistrukturerte data og XML

og XML Where is the Life we have lost in living? Where is the wisdom we have lost in knowledge? Where is the knowledge we have lost in information?

Semistrukturerte data og XML

HVA ER XML? extensible Markup Language En standardisert måte å strukturere ulike typer data Åpent format Enkelt:

INF1040 Oppgavesett 5: XML

Læringsmål XML. Markering av tekst. SGML-familien. Forstå prinsippene bak XML og XHTML. Forstå hva XML kan brukes til og hvordan.

UNIVERSITETET SQL-99. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

Markeringsspråk og XML

1. XML Grunnlag

NKKN typeforslag versjon Definisjon av grunntypene

MPEG-7. Problemstilling:

Spørsmålskompilering del 1

Spørsmålskompilering del 1

Oblig 2: Prototype. Oblig 2: Mulig sekvens. Oblig 2: Grovstruktur. Oblig 2: The Candy-community. Begrenset prototype Teste teknologi:

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) Institutt for Informatikk. INF Ragnar Normann 1

1. Mer om oppbyning av XML-dokument

Markeringsspråk og XML Nettsider og XHTML

Relasjonsalgebraen. Algebra

Innrapportering av trekk til NAV

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

Transaksjonsstandard for virkesomsetningen i Norge. Transportert virke. Versjon 2.0. Desember 2007 SKOG-DATA AS

UNIVERSITETET RELASJONSALGEBRA. Regning g med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

INF2220: Forelesning 1. Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel )

[Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hio.no) 07/ Vi holder orden på verdier med hjelp av variabler

Spørsmålskompilering. Basert på foiler av Hector Garcia-Molina

Transaksjonsstandard for virkesomsetningen i Norge. Business Acknowledge. Versjon 2.0. Desember 2007 SKOG-DATA AS

INF Noen oppgaver til kap. 8

Binære søketrær. En ordnet datastruktur med raske oppslag. Sigmund Hansen

Introduksjon til beslutningsstrukturer

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ragnar Normann

- <!-- Generated on :28:44 at KITH. - <!-- XML-Schema level supported is specified by W3C. - <!--

Transaksjonsstandard for virkesomsetningen i Norge. Transportoppdrag. Versjon 2.0. Desember 2007 SKOG-DATA AS

XML. Figur Et eksempel på et XML-dokument

XML Schema. David Massey MBIB

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas

HØGSKOLEN I SØR-TRØNDELAG

XSLT 2. David Massey MBIB

Object [] element. array. int [] tall

</html> </head> <form action= rtkst.php > <p> Fornavn? <input type= text name= fornavn <input type= submit />

Parallelle og distribuerte databaser del III

16 Programmere TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5

Beskrivelse av programmeringsspråket Compila15 INF Kompilatorteknikk Våren 2015

Spørsmålskompilering. Basert på foiler av Hector Garcia-Molina

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) Institutt for Informatikk. INF Ellen Munthe-Kaas 1

Dagens tema: Sjekking

Avansert bruk av SQL. Avanserte spørringer Valguttrykk Spørring på spørring Unionspørringer Delspørringer, vekselvirkende delspørringer Kvantorer

Spørsmålskompilering del 2

Norsk standard for utveksling av fjernlånsdata, NILL. Versjon 1.3

INF Noen oppgaver til kap. 8

Databaser fra et logikkperspektiv

Oppsummering - Kurset (10/ )

UNIVERSITETET. Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Hashliknende strukturer.

Spørsmålskompilering del 2

Presentasjon. Implementasjon av. Prosjektsdeltager 5E Lars Christian Tangen E - Lars Christian Tangen 1

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm

XML enabled database. support for XML in Microsoft SQL Server 2000 & Martin Malý

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på SIF8037 Distribuerte systemer og ytelsesvurdering (Distribuerte systemer kun)

Databaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen

INF1300 Relasjonsalgebra. Et matematisk fundament for å forstå SQL-setninger

Forespørsel om fastlege Informasjonsmodell og XML meldingsbeskrivelse HIS 1022:2010

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

INF1300 Relasjonsalgebra og SQL, mengder og bager. Lysark for forelesning v. 2.1

Beskrivelse av programmeringsspråket Simpila INF Kompilatorteknikk Våren 2012

static int skrivetidsfrist = 0; // antall overskredet tid når skrive

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

INF april, 2014 Stein Krogdahl Ifi, UiO. Svar på oppgaver til kap. 8

Repetisjon: Normalformer og SQL


Ny/utsatt EKSAMEN. Dato: 5. januar 2018 Eksamenstid: 09:00 13:00

Navngivning av XML elementer

Oppgaver til kodegenerering etc. INF-5110, 16. mai, 2014

Binære søketrær. Et notat for INF1010 Stein Michael Storleer 16. mai 2013

TransportoppdragBekreftelse

1. Lage og vise et enkelt XML-dokument

Transaksjonsstandard for virkesomsetningen i Norge. Transportklart virke. Versjon 2.0. Desember 2007 SKOG-DATA AS

INF2810: Funksjonell Programmering. Lokale variabler. Og trær.

Markeringsspråk og XML

INF2810: Funksjonell Programmering. Dataabstraksjon og Trerekursjon

INF5110 Obligatorisk Oppgave 2 del 2. Andreas Svendsen SINTEF. 23. April Oversikt

NOIS-PIAH XML-import Filformat

Løsningsforslag til eksamen i IN2090 Databaser og datamodellering og INF1300 Introduksjon til databaser 6. desember :30 18:30 (4 timer)

Alle attributter har NULL som mulig verdi. mulige verdier for integer: NULL, 0, 1, 2, 3...

Oppgaver til kodegenerering etc. INF-5110, 12. mai, 2015

INFO122 Innføring i databaser. Oblig 2. av Frode H. Pedersen, Kjartan B. Michalsen og Kristin Breivik

INF2810: Funksjonell Programmering. Lokale variabler. Og trær.

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) INF Ellen Munthe-Kaas 1. Institutt for Informatikk

INF2810: Funksjonell Programmering. Tilstand og verditilordning

Litt om Javas class-filer og byte-kode

LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke September 2012 Siri Moe Jensen EKSEMPLER

UNIVERSITETET I OSLO

INF2810: Funksjonell Programmering. Tilstand og verditilordning

6. oktober Dagens program: Første time: Andre time, gjesteforelesning: Uavgjørbarhet. Stein Krogdahl. (Ikke pensum, egne foiler legges ut)

UNIVERSITETET. Indeksering. Hvordan finne et element raskt? Vera Goebel, Ellen Munthe-Kaas

Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

INF april, 2015 Stein Krogdahl Ifi, UiO. Svar på oppgaver til kap. 8. Ble lagt ut 24. april

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk INF Ellen Munthe-Kaas

INF1300 Det meste av resten av SQL. Utleggsark v. 2.0

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk INF Ellen Munthe-Kaas

INF2810: Funksjonell Programmering. Kommentarer til prøveeksamen

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Transkript:

Semistrukturerte data og XML

Innhold Semistrukturerte data XML XML Schema XQuery INF3100 26.4.2010 Ragnhild Kobro Runde Page 2

Semistrukturerte data Data med noe struktur, men ikke i henhold til et strengt skjema. Selvbeskrivende. Dataene inkluderer informasjon om sitt eget skjema. (F.eks. i form av XML markeringer.) Passer for å samle relatert informasjon fra ulike kilder (med ulike skjemaer). Database-integrasjon. Utveksling av informasjon. INF3100 26.4.2010 Ragnhild Kobro Runde Page 3

Semistrukturerte data: Graf-representasjon Samling av noder. Nøyaktig en rotnode. Atomiske verdier i løvnodene. Indre noder angir attributter og relasjoner mellom nodene. INF3100 26.4.2010 Ragnhild Kobro Runde Page 4

XML og XML Schema

XML: Eksempel <?xml version = "1.0" encoding="utf-8"?> <StarMovieData> <Star> <Name>Carrie Fisher</Name> <Address> <Street>123 Maple St.</Street> <City>Hollywood</City> </Address> </Star> <Movie> <Title>Star Wars</Title> <Year>1977</Year> </Movie> </StarMovieData> INF3100 26.4.2010 Ragnhild Kobro Runde Page 6

XML Schema <?xml version = 1.0 encoding= utf-8?> <xs:schema xmlns:xs= http://www.w3.org/2001/xmlschema > </xs:schema> INF3100 26.4.2010 Ragnhild Kobro Runde Page 7

Elementer <?xml version = 1.0 encoding= utf-8?> <xs:schema xmlns:xs= http://www.w3.org/2001/xmlschema > <xs:element name= Title type= xs:string /> <xs:element name= Year type= xs:integer /> </xs:schema> INF3100 26.4.2010 Ragnhild Kobro Runde Page 8

Sammensatte typer <?xml version = 1.0 encoding= utf-8?> <xs:schema xmlns:xs= http://www.w3.org/2001/xmlschema > <xs:complextype name= movietype > <xs:sequence> </xs:sequence> </xs:complextype> <xs:element name= Movies > </xs:element> </xs:schema> <xs:element name= Title type= xs:string /> <xs:element name= Year type= xs:integer /> <xs:complextype> <xs:sequence> </xs:sequence> </xs:complextype> <xs:element name= Movie type= movietype minoccurs= 0 maxoccurs= unbounded /> INF3100 26.4.2010 Ragnhild Kobro Runde Page 9

Eksempel-dokument: <?xml version = 1.0 encoding= utf-8?> <Movies xmlns:xsi= http://www.w3.org/2001/xmlschema-instance xsi:nonamespaceschemalocation= Movies.xsd > <Movie> <Title>Star Wars</Title> <Year>1977</Year> </Movie> <Movie> </Movie> </Movies> INF3100 26.4.2010 Ragnhild Kobro Runde Page 10

Attributter <?xml version = 1.0 encoding= utf-8?> <xs:schema xmlns:xs= http://www.w3.org/2001/xmlschema > <xs:complextype name= movietype > <xs:attribute name= title type= xs:string use= required /> <xs:attribute name= year type= xs:integer use= required /> </xs:complextype> <xs:element name= Movies > </xs:element> </xs:schema> <xs:complextype> <xs:sequence> </xs:sequence> </xs:complextype> <xs:element name= Movie type= movietype minoccurs= 0 maxoccurs= unbounded /> INF3100 26.4.2010 Ragnhild Kobro Runde Page 11

Eksempel-dokument: <?xml version = 1.0 encoding= utf-8?> <Movies xmlns:xsi= http://www.w3.org/2001/xmlschema-instance xsi:nonamespaceschemalocation= Movies.xsd > <Movie title= Star Wars Year= 1977 /> <Movie> </Movie> </Movies> INF3100 26.4.2010 Ragnhild Kobro Runde Page 12

Nøkler <?xml version = 1.0 encoding= utf-8?> <xs:schema xmlns:xs= http://www.w3.org/2001/xmlschema > <xs:complextype name= movietype > </xs:complextype> <xs:element name= Movies > </xs:element> </xs:schema> <xs:complextype> <xs:sequence> </xs:sequence> <xs:element name= Movie type= movietype minoccurs= 0 maxoccurs= unbounded /> </xs:complextype> <xs:key name= moviekey > <xs:selector xpath= Movie /> <xs:field xpath= Title /> </xs:key> INF3100 26.4.2010 Ragnhild Kobro Runde Page 13

Fremmednøkler <xs:element name= Stars <xs:complextype> <xs:element name= StarredIn minoccurs= 0 maxoccurs= unbounded > <xs:complextype> <xs:attribute name= title type= xs:string /> <xs:attribute name= year type= xs:integer /> </xs:complextype> </xs:complextype> <xs:keyref name= movieref refers moviekey > <xs:selector xpath= Star/StarredIn /> <xs:field xpath= @title /> </xs:keyref> INF3100 26.4.2010 Ragnhild Kobro Runde Page 14

XQuery

Xpath uttrykk En sekvens av elementer kan angis ved hjelp av en absolutt eller relativ path av markeringer. /Movies rotelementet (med alt innhold). /Movies/Movie alle <Movie>-elementer innenfor <Movies>-elementet. /Movies/Movie/Title alle <Title>-elementer innenfor et <Movie>-element i <Movies>. //M angir alle <M>-elementer, uavhengig av nesting. * angir en vilkårlig markering Kan også angi betingelser som en del av uttrykket. /Movies/Movie/[Year= 1980 ] alle <Movie>-elementer hvor <Year>-elementet inneholder 1980. INF3100 26.4.2010 Ragnhild Kobro Runde Page 16

FLWR uttrykk (FORexpr LETexpr)+ WHEREclause? RETURNexpr FORexpr: FOR variable IN expression (, variable IN expression )* LETexpr: LET variable := expression (, variable := expression )* WHEREclause: WHERE expression RETURNexpr: RETURN expression INF3100 26.4.2010 Ragnhild Kobro Runde Page 17

FLWR eksempler Eksempel 1: let $a := (1, 2, 3) return <out>{$a}</out> Eksempel 2: for $a in (1, 2, 3) return <out>{$a}</out> INF3100 26.4.2010 Ragnhild Kobro Runde Page 18

Eksempel 3: XML dokument <?xml version = 1.0 encoding= utf-8?> <Movies> <Movie genre= comedy > <Title>Bruce Almighty</Title> <Star><Name>Jim Carrey</Name></Star> </Movie> <Movie genre= comedy > <Title>Dumb & Dumber</Title> <Star><Name>Jim Carrey</Name></Star> </Movie> <Movie genre= drama > <Title>The Truman Show</Title> <Star><Name>Jim Carrey</Name></Star> </Movie> <Movie genre= comedy > <Title>Nine Months</Title> <Star><Name>Hugh Grant<Name></Star> </Movie> </Movies> INF3100 26.4.2010 Ragnhild Kobro Runde Page 19

Eksempel 3: FLWR Finn alle komedier med Jim Carrey som skuespiller. INF3100 26.4.2010 Ragnhild Kobro Runde Page 20

Andre muligheter i XQuery Join: for $s1 in, $s2 in where data($s1/ ) = data($s2/ ) Duplikat-eliminasjon: let $s := distinct-values( ) Kvantorer: every $s in satisfies some $s in satisfies Aggregering (count, sum, max, ) Forgrening: if ( ) then else INF3100 26.4.2010 Ragnhild Kobro Runde Page 21