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

Markeringsspråk og XML

1. XML Grunnlag

NKKN typeforslag versjon Definisjon av grunntypene

Spørsmålskompilering del 1

Spørsmålskompilering del 1

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

1. Mer om oppbyning av XML-dokument

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

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

- <!-- 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

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

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

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

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

Oppsummering - Kurset (10/ )

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

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ý

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

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

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...

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

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

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.

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