Børre Stenseth

Noen datasett

Hva
Noen datamengder som er brukt i dette materialet

I dette materialet er det brukt en rekke datamengder av ulik art. De viktigste av disse er beskrevet her. Hensikten er at det skal være enkelt å få tak i disse dataene og eksperimentere med dem på egen hånd.

Merk at noen av disse dataene er på grensen av hva vi kan tillate oss å bruke uten å avklare det med kilden. Jeg har valgt å legge dem ut under den klare forutsetning at de ikke skal brukes til annet enn eksperimenter i en læringssituasjon. De må altså ikke brukes til noe annet.

Merk også at databasene som er nevnt nedenfor ikke er tilgjengelig ved direkte oppslag utenfor høgskolens brannmur. Det går greitt å bruke dem fra vevsider som er plassert på høgskolens servere, og det går greitt å bruke dem fra desktop-programmer dersom du har koplet deg til høgskolens nett via VPN.

Olympiske data

Kilden er diverse resultatlister, og datasettet er satt sammen for hånd

Resultatene fra sprintøvelsene (100m, 200m, 400m) fra de siste sommerolympiadene (Barcelona, Atlanta, Sidney, Aten, Beijing) er lagret som en XML-fil: resultater. Den komplette adressen er: http://www.it.hiof.no/~borres/commondata/olympiade/all_results.xml

De olympiske sprintdataene slik som de er organisert ovenfor kan valideres med følgende DTD-fil:

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT IOC (OlympicGame+)>
<!ELEMENT OlympicGame (event+)>
<!ATTLIST OlympicGame
    place CDATA #REQUIRED
    year CDATA #REQUIRED
>
<!ELEMENT athlet (name, nation, result)>
<!ELEMENT event (athlet+)>
<!ATTLIST event
    dist (100m | 200m | 400m) #REQUIRED
>
<!ELEMENT name (#PCDATA)>
<!ELEMENT nation (#PCDATA)>
<!ELEMENT result (#PCDATA)>

eller følgende Schema-fil:

_olymp.xsd

For illustrasjonenes skyld brukes også følgende bilder:

Barcelona Atlanta Sidney Athens Beijing

Sonetter

Shakespears 154 sonetter finnes en rekke steder på nettet, f.eks. [1]

Sonettene er beskrevet i XML-format slik: sonetter som XML. Den komplette adressen er: http://www.it.hiof.no/~borres/commondata/sonetter/sonetter.xml

Sonettene slik som de er organisert ovenfor kan valideres med følgende DTD-fil:

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT id (#PCDATA)>
<!ELEMENT line (#PCDATA)>
<!ELEMENT sonnet (id, line+)>
<!ELEMENT sonnetes (sonnet+)>

eller følgende Schema-fil:

_sonetter.xsd

For illustrasjonenes skyld finnes noen bilder:

theman thegifman

En text-versjon kan du hente her: sonetter som text. Den komplette adressen er: http://www.it.hiof.no/~borres/commondata/sonetter/sonnets.txt

Bøker

Det er laget en enkel liste av bøker. Den forefinnes i to versjoner:

En kommaseparert versjon: bøker som text Den komplette adressen er: http://www.it.hiof.no/~borres/commondata/bokliste/bokliste.txt

En xml versjon: bøker som xml Den komplette adressen er: http://www.it.hiof.no/~borres/commondata/bokliste/bokliste.xml

Den siste kan valideres med følgende DTD:

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT author (#PCDATA)>
<!ELEMENT book (title, course, category, author, publisher, year, comment)>
<!ATTLIST book
    isbn CDATA #REQUIRED
    pages CDATA #REQUIRED
>
<!ELEMENT booklist (book+)>
<!ELEMENT category (#PCDATA)>
<!ELEMENT comment (#PCDATA)>
<!ELEMENT course (#PCDATA)>
<!ELEMENT publisher (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT year (#PCDATA)>

eller følgende Schema:

_bokliste.xsd

Viner

Vindataene er hentet fra diverse anmeldelser i dagpressen. Dataene er ikke brukbare som vinguide. De inneholder feil og flere av de refererte vinene er gått ut av Vinmonopolets sortiment. Dataene er bare brukbare for å eksperimentere med XML-transformasjoner, formatering og databasesøk.

Det er laget en XML-fil med beskrivelser av viner. Denne er bygget opp slik:

<?xml version="1.0" encoding="UTF-8"?>
<wines>
    <wine>
        <type>sparkling</type>
        <name>Gosset Grande Réserve Brut</name>
        <catalog>32299</catalog>
        <country>Frankrike</country>
        <volume>75</volume>
        <price>259.00</price>
        <dice>5</dice>
        <description>Duften minner mest om epler og har et lite streif av gjærbakst.</description>
    </wine>
    ...
</wines>

og er i sin helhet slik: viner som XML Den komplette adressen er: http://www.it.hiof.no/~borres/commondata/vin/viner.xml

Den kan valideres med følgende DTD:

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT catalog (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT dice (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ELEMENT type (#PCDATA)>
<!ELEMENT volume (#PCDATA)>
<!ELEMENT wine (type, name, catalog, country, volume, price, dice, description)>
<!ELEMENT wines (wine+)>

eller følgende Schema:

_vin.xsd

Materialet kan illustreres med følgende bilder:

Rødvin red1 red2 red3 red4 red5 red6
Musserende vin sparkling1 sparkling2 sparkling3 sparkling4 sparkling5 sparkling6
Rosevin rose1 rose2 rose3 rose4 rose5 rose6
Hvitvin white1 white2 white3 white4 white5 white6

Du kan laset ned aktuelle filer i zippet form her: allefiler.zip

Vindatabase

Det er også laget en MySQL-database og en (Microsoft)MSQL-database med vinbeskrivelser basert på XML-materialet som er beskrevet ovenfor. Basen er svært enkel, med en tabell som avbilder XML-strukturen direkte. Basen er laget slik som MySQL-base:

create database vin;
use vin;
create table wines(
    vin_id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100),
    catalog CHAR(10),
    type CHAR(10),
    country VARCHAR(20),
    dice TINYINT,
    volume INT,
    price CHAR(10),
    description TEXT
);

MSQL-basen er lik bortsett fra at vin_id er laget med andre verdier.

Som database betraktet er ikke dette noe storarted design, men hensikten er bare å ha noe råmateriale som vi kan eksperimentere med uten alt for mye tankearbeid.

MySQL -basen er tilgjengelig for lesing (select) som "vin" på: "frigg.hiof.no" med bruker "student" og passord "student".

MSQL -basen er tilgjengelig for lesing (select) som "bs" på: "donau.hiof.no" med bruker "student" og passord "student".

Fotball

Disse resultatene er tilgjengelige fra en rekke kilder. http://www.wspsoccer.com/ er en mulig kilde.

Det er laget en MySQL-database over fotballresultater fra noen europeiske ligaer.

dbstruktur
create database fotball;
use fotball;
create table sesong(
sesong_id YEAR PRIMARY KEY NOT NULL,
beskrivelse TEXT
);
create table land(
land_id CHAR(2) PRIMARY KEY,
navn VARCHAR(30),
beskrivelse TEXT
);
create table lag(
lag_id VARCHAR(35) PRIMARY KEY,
navn VARCHAR(30),
land_id CHAR(2),
beskrivelse VARCHAR(100)
);
create table kamp(
kamp_id INT AUTO_INCREMENT,
liga_id VARCHAR(35),
h_lag_id VARCHAR(35),
b_lag_id VARCHAR(35),
h_maal INT,
b_maal INT,
kamp_dato DATE,
PRIMARY KEY(kamp_id),
UNIQUE(kamp_dato,h_lag_id,b_lag_id)
);
create table liga(
liga_id VARCHAR(35) PRIMARY KEY,
sesong_id YEAR,
land_id CHAR(2),
nivaa INT,
antall_aar INT,
tittel VARCHAR(40),
beskrivelse TEXT);
create table lag_i_liga(
lag_i_liga_id INT PRIMARY KEY AUTO_INCREMENT,
liga_id VARCHAR(35),
lag_id VARCHAR(35),
UNIQUE(liga_id,lag_id)
);

Basen er tilgjengelig for lesing (select) som "fotball" på: "frigg.hiof.no" med bruker "student" og passord "student".

Merk at denne basen ikke holdes vedlike med nye resultater fortløpende. Den oppdateres et par ganger i året. Dette er bare ment som øvelsesdata, ikke som nyhetsformidling.

Resultatfiler

Du kan også laste ned noen resulatetfiler som XML:

  • Italiensk Serie A: England 01/02
  • Engelsk Premier League: Italia 01/02

Disse kan valideres med følgende DTD:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!ELEMENT blag (#PCDATA)>
<!ELEMENT bmal (#PCDATA)>
<!ELEMENT dato (#PCDATA)>
<!ELEMENT hlag (#PCDATA)>
<!ELEMENT hmal (#PCDATA)>
<!ELEMENT kamp (dato, hlag, hmal, blag, bmal)>
<!ELEMENT land (#PCDATA)>
<!ELEMENT liga (land, serie, sesong, kamp+)>
<!ELEMENT serie (#PCDATA)>
<!ELEMENT sesong (#PCDATA)>

eller følgende skjema:

_liga.xsd

FotballVM

Databasen fotball innholder i tillegg til det som er nevnt ovenfor også to tabeller som beskriver alle VM-turneringer og alle VM-kamper fra 1930 til 2006.

dbstruktur
use fotball;
create table vm(
  aar YEAR PRIMARY KEY,
  land VARCHAR(30),
  beskrivelse TEXT,
  grupper TEXT
);


create table vmkamper(
  kamp_id INT PRIMARY KEY AUTO_INCREMENT,
  aar YEAR,
  land VARCHAR(30),
  dato DATE,
  gruppe TEXT,
  lagA VARCHAR(30),
  lagB VARCHAR(30),
  scoreA INT,
  scoreB INT,
  scoreAx INT,
  scoreBx INT,
  scoreAp INT,
  scoreBp INT
);

vm.beskrivelse er en beskrivelse av turneringsstrukturen og vm.grupper er en liste over alle grupper, inklusive finaler

vmkamper.scoreAx og vmkamper.scoreBx er mål lagd i extraomganger, og vmkamper.scoreAp og vmkamper.scoreBp er mål lagd i straffekonkurranser.

Basen er tilgjengelig for lesing (select) som "fotball" på: "frigg.hiof.no" med bruker "student" og passord "student".

Norgeskart

Datasettet er et sett av svært grove polygoner for norske kommuner. Dette er gamle data stilt til rådighet av daværende Norges Geografiske Oppmåling for undervisningsformål. Dataene er modifisert av forfatteren i hht. kommunesammenslåinger.

Det er laget 3 filer som beskriver kommuner og fylker i Norge:

  • fylker er en liste over fylkesnummer og fylkesnavn. Den komplette adressen er: norge/fylker.txt
  • kommuneindex er en liste over kommunenummer, kommunenavn og indeks til hjørner i grensepolygonet for kommunen. Den komplette adressen er: http://www.it.hiof.no/~borres/commondata/norge/kindex.txt
  • punkter er en liste over alle polygonhjørner i alle kommunegrenser. Den komplette adressen er: http://www.it.hiof.no/~borres/commondata/norge/pnts.txt

Land

Vevstedet geonames [2] inneholder en masse data om steder i verden. Disse dataene er fritt tilgjengelige og kan hentes ned som dumper fra en database eller de kan hentes vie en enkel webservice i ymse format, XML, CSV eller JSON. Jeg har tatt ned og ordnet data for alle land i verden i henholdvis CSV- og XML-format. Jeg har laget lokale kopier for å sikre tilgjengeligheten. De samme data finnes som ws.geonames.org/countryInfo og ws.geonames.org/countryInfoCSV

CSV-fila

Dataene ser slik ut: land Den komplette adressen er: http://www.it.hiof.no/~borres/commondata/geonames/land.txt

Feltene er skilt med tabulator, og feltene er:

  1. 2 bokstavers kode standardisert av ISO
  2. 3 bokstavers kode standardisert av ISO
  3. tallkode kode standardisert av ISO
  4. fips code, identifikasjon fra en annen standard (fips)
  5. landets navn på engelsk
  6. hovestadens navn på engelsk
  7. arealet i km2
  8. befolkning
  9. verdensdel, EU, AS, NA, AF, AN, SA, OC
  10. språk, nærmere forklart på geonames
  11. mynt
  12. ID for denne geografiske enheten i geonames database

XML-fila

XML-fila inneholder i tillegg til CSV-fila geografiske koordinater for en boks som omgir landet.

Dataene ser slik ut: land som xml Den komplette adressen er: http://www.it.hiof.no/~borres/commondata/geonames/land.xml

Disse kan valideres med følgende DTD:

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT population (#PCDATA)>
<!ELEMENT languages (#PCDATA)>
<!ELEMENT isoNumeric (#PCDATA)>
<!ELEMENT isoAlpha3 (#PCDATA)>
<!ELEMENT geonames ((country+))>
<!ELEMENT geonameId (#PCDATA)>
<!ELEMENT fipsCode (#PCDATA)>
<!ELEMENT currencyCode (#PCDATA)>
<!ELEMENT countryName (#PCDATA)>
<!ELEMENT countryCode (#PCDATA)>
<!ELEMENT country ((countryCode, countryName, 
                    isoNumeric, isoAlpha3, fipsCode, 
                    continent, capital, areaInSqKm, 
                    population, currencyCode, languages, 
                    geonameId, west, north, 
                    east, south))>
<!ELEMENT continent (#PCDATA)>
<!ELEMENT capital (#PCDATA)>
<!ELEMENT west (#PCDATA)>
<!ELEMENT south (#PCDATA)>
<!ELEMENT north (#PCDATA)>
<!ELEMENT east (#PCDATA)>
<!ELEMENT areaInSqKm (#PCDATA)>

eller følgende skjema:

_land.xsd

Latinske ordtak

Et antall latinske ordtak av litt varierende art er lagret på fila: ordtak. Den komplette adressen er: http://www.it.hiof.no/~borres/commondata/latin/ordtak.txt

Som du ser er det ett ordtak pr linje, og latinen er skilt fra forklaringen med ;.

Tekst

Av og til trenger vi litt tekst uten særlig mening for å teste formatering, søkerutiner eller hva det måtte være. Klassikeren er "Lorem Ipsum", en "latinaktig" tekst uten mening [3] .

Dersom du trenger en tekst med norske tegn finner du noe her: maketext.html.

Skatt

Noen ligningsdata for året 2006. De 100 med størst inntekt, de 100 med størst skatt og de 100 med mest formue fra hvert fylke er lagret på tre måter: CSV-fil, XML-fil og database (mySQL).

Alle navn er anonymiserte. Anonymiseringen opprettholder kjønn. Em person opptrer kun en gang selv om han/hun figurerer på to eller tre av listene. Etternavn er stokket tilfeldig og fornavn tas fra de fornavn i Norge som er brukt minst 20 ganger. Likhet i etternavn er tilfeldig, og er altså ikke opprettholdt.

Tekstdata er slik: skattedata som tekst Den komplette adressen er: http://www.it.hiof.no/~borres/commondata/skatt_2006/nn-allefylker.txt

XMLdata er slik (stor fil): skattedata som xml Den komplette adressen er: http://www.it.hiof.no/~borres/commondata/skatt_2006/nn-allefylker.xml

Databasen er ordnet slik:

USE bsdiverse;
    DROP TABLE IF EXISTS skattere;
    CREATE TABLE skattere(
        skattid  INT PRIMARY KEY AUTO_INCREMENT,
        etternavn VARCHAR(30),
        fornavn VARCHAR(30),
        faar INT,
        fylke VARCHAR(30),
        inntekt LONG,
        skatt LONG,
        formue LONG
    );
faar er fødselsår

Basen er tilgjengelig for lesing fra frigg med bruker: student og passord: student.

CIA Factbook

Siden CIA Word Factbook inneholder data om verdens land. Disse dataene er tilgjengelige og er hentet og pakket av mange brukere. Versjon 2008 er lastet ned og pakket ut fra Ian Macky,PATsom
http://www.it.hiof.no/~borres/commondata/ciadata/CIA2008.xml.
(Dokumentet er på ca 5 Mb). Inspiser: CIA2008.xml

Referanser
  1. Sonetterwww.it.usyd.edu.au/~matty/Shakespeare/texts/poetry/sonnets14-03-2010
  1. GeonamesGeoNameswww.geonames.org/14-03-2010
  1. Lorem Ipsumlipsum.comwww.lipsum.com/14-09-2010

De aktuelle dataene er sitert i popup-vinduer og kan kopieres derfra.

Vedlikehold

B. Stenseth, april 2006, revidert september 2007

(Velkommen) (Ting og tang)