Uoffisielt og åpent supporterarkiv
AaFK-arkivet
Meny

Åpne data

Datasettet

Et åpent og etterprøvbart arkiv over AaFKs kamper, sesonger og personer. Alt ligger som YAML-filer på GitHub, og bygges om til en skrivebeskyttet SQLite-fil ved hver utrulling. Dataene kan utforskes her eller lastes ned og brukes videre.

Hva arkivet inneholder

Dekningen følger kildene. At en opplysning mangler her, betyr derfor ikke at den ikke finnes, bare at ingen kilde vi har, oppgir den.

Bruk dataene videre

Koble et AI-verktøy til arkivet med MCP på https://aafkarkivet.no/mcp. Bygger du et nettsted, skript eller en app, finnes det også et åpent REST API på /api/v1 med maskinlesbar kontrakt i OpenAPI.

Begge er gratis og bruker samme skrivebeskyttede arkiv. Les den korte veiledningen, API-dokumentasjonen og MCP-dokumentasjonen før du bygger statistikk på kildedokumenterte resultater.

Kamper per konkurranse

Serien har skiftet navn flere ganger, og hver kamp ligger under navnet som gjaldt da den ble spilt. Les kilder og forbehold før du gjenbruker data.

source_results

Resultater dokumentert i historiske kilder, men uten nok opplysninger til å være kanoniske kamper.

Viktig å vite:
  • aafk_score og opponent_score står alltid fra AaFKs perspektiv. Hjemme/borte er ukjent, og kampdato er bare satt når kilden oppgir den uttrykkelig.
  • Radene teller ikke i matches, seasons eller kampstatistikken. Bruk match_id når en rad senere er koblet til en komplett kamp.
  • competition_id er bare satt når kilden uttrykkelig navngir konkurransen. NULL betyr ukjent.
  • Ved rekorder og spørsmål om hele historien må ukoblede rader vurderes sammen med matches. Omtal dem som resultater kilden oppgir, ikke som fullstendig identifiserte kamper.
KolonneTypeBetydning
claim_idtextGlobalt stabil claim-identifikator (srcclaim-...) uavhengig av kildekoordinater.
source_idtextHistorisk kilde.
source_titletextLesbar tittel på den historiske kilden.
idtextStabil ID innen kilden.
seasonintegerÅret resultatet står under i kilden.
source_orderintegerRekkefølgen i resultatlista.
pageintegerTrykt sidetall.
datetextDatoen kilden oppgir på formen YYYY-MM-DD. NULL når kilden ikke oppgir eksakt dato.
opponenttextKildens motstandernavn. Kan være NULL ved walkover.
opponent_club_idtextKjent klubb når avklart.
aafk_scoreintegerAaFKs mål. NULL ved walkover.
opponent_scoreintegerMotstanderens mål. NULL ved walkover.
resulttextS, U eller T fra AaFK-perspektivet. NULL ved walkover.
competition_idtextKonkurranse når kilden sier den uttrykkelig.
statustextplayed eller walkover.
replayinteger (0/1)Omkamp.
after_extra_timeinteger (0/1)Resultat etter ekstraomganger.
roundintegerRunde når oppgitt.
result_group_idtextValgfri ID som samler flere kildepåstander om samme uidentifiserte historiske oppgjør.
match_idtextKanonisk kamp når koblet. Ellers NULL.
notetextKort merknad eller forbehold.
source_urltextDirektelenke til publikasjonen hos kilden.
urltextLenke til kildesiden i arkivet.

result_groups

Ukoblede kildepåstander samlet til ett mulig oppgjør per result_group_id.

Viktig å vite:
  • Én rad er én mulig kamp, ikke et kanonisk faktum. claims bevarer hver kildes originaltekst og sources bevarer kildene.
  • has_conflicts markerer motstridende ikke-tomme datoer, klubb-ID-er, resultater eller konkurranser. Manglende verdi i én kilde er ikke alene en konflikt.
  • Radene skal aldri summeres sammen med matches. opponent_club_id kan være NULL selv om opponent inneholder et lesbart kildenavn.
KolonneTypeBetydning
record_idtextresult_group_id, eller claim_id når påstanden ikke inngår i en gruppe.
datetextFelles eksakt dato når kildene er enige. Ellers NULL.
date_precisiontextexact eller season_only.
seasonintegerSesongen gruppen ligger under.
opponenttextStabilt visningsnavn. Originale skrivemåter ligger i claims.
opponent_searchtextNormalisert søketekst med alle trykte motstandernavn.
opponent_club_idtextKanonisk klubb-ID når avklart uten motstrid.
aafk_scoreintegerAaFKs mål når kildene er enige.
opponent_scoreintegerMotstanderens mål når kildene er enige.
goal_differenceintegerAaFKs mål minus motstanderens mål.
resulttextS, U eller T når kildene er enige.
competition_idtextKonkurranse-ID når minst én kilde oppgir den og ingen motsier.
competitiontextKonkurransens visningsnavn. NULL når competition_id ikke finnes i konkurranseregisteret.
has_conflictsinteger (0/1)Om ikke-tomme kjernefelt motsier hverandre.
result_group_idtextEksplisitt gruppe-ID. NULL for en enkeltstående claim.
notetextKildenotatene satt sammen til én lesbar tekst. Bruk notes når du skal skille dem.
notesJSONEtt element per kildenotat. Notatene kommer fra ulike kilder og skal ikke tilskrives én av dem.
claim_summaryJSONHvor enige kildene i gruppen er om score, dato, motstanderidentitet og konkurranse. Beskriver intern enighet, ikke om påstanden er sann.
missing_fieldsJSONFelt som ikke kan omtales som kanonisk eller avklart.
source_countintegerAntall unike kilder i gruppen.
sourcesJSONUnike kilder med tittel, side og lenker.
claimsJSONAlle originale påstander med motstandernavn, score, konkurranse og kilde.
urltextRelativ lenke til en kildeside i arkivet.

venues

Stadioner og baner med historiske navn, AaFKs hjemmebaneperioder, dekke og kildeførte publikumsrekorder.

Viktig å vite:
  • home_periods, attendance_records og sources er JSON-lister. En åpen slutt i en hjemmebaneperiode betyr at kilden ikke oppgir slutten eller at perioden fortsatte da siden ble oppdatert.
  • En publikumsrekord kan være omtrentlig. Bruk approximate-feltet inne i attendance_records før tallet omtales som eksakt.
KolonneTypeBetydning
idtextStabil stadion-ID.
nametextKanonisk navn.
citytextBy. Kan være NULL.
countrytextLandkode med to bokstaver.
capacityintegerOppgitt kapasitet. Kan være NULL og er ikke det samme som publikumsrekord.
openedintegerÅpningsår når kjent.
opened_datetextEksakt åpningsdato når kjent.
closedintegerStengningsår når kjent.
closed_datetextEksakt stengnings- eller sluttdato når kjent.
surfacetext'gravel', 'grass' eller 'artificial_turf'.
namesJSONTidsavhengige stadionnavn.
surface_historyJSONTidfestede banedekker med kilde og eventuelt forbehold.
home_periodsJSONKlubb, fra-/til-år og kilde for hver hjemmebaneperiode.
attendance_recordsJSONTilskuertall, motstander, eventuelt år og kontekst, omtrentlig-flagg og kilder.
eventsJSONKildede åpninger, kamper, byggestarter, oppgraderinger og andre milepæler.
sourcesJSONKilder som dokumenterer stadionets øvrige felt.
notetextForbehold eller kort redaksjonell merknad.

matches

Én rad per kamp i arkivet, sett fra AaFKs synsvinkel. Dette er hovedtabellen. de fleste spørsmål besvares herfra alene.

Viktig å vite:
  • Alle kamper i arkivet involverer AaFK. «aafk_score» er alltid vårt lag, uansett om vi spilte hjemme eller borte.
  • goal_difference er aafk_score minus opponent_score, altså negativ ved tap.
  • result regnes etter ordinær tid pluss ekstraomgang. En kamp avgjort på straffer har result = 'U'. Bruk won_on_penalties for å se hvem som gikk videre.
  • Kamper som ennå ikke er spilt har status 'scheduled' og NULL i alle resultatkolonner. Regner du statistikk, filtrer på status IN ('played', 'awarded'). Det er den samme regelen alle aggregatene i datasettet bruker: en kamp avgjort på grønt bord har et resultat og teller med, en avbrutt kamp har ingen sluttstilling og teller ikke.
  • confidence sier hvor sikre opplysningene er. 'probable' er vanlig for kamper før 1990. Si fra i svaret når en kamp ikke er 'confirmed'.
  • Kampstatistikken kommer fra FotMob og finnes bare for deler av 2014–2026. Per 11. august 2026 har 276 av 1 353 kamper ballbesittelse, skudd, skudd på mål og cornere; 138 har fouls og offsider; 105 har xG. NULL betyr at kilden ikke leverte feltet, ikke null hendelser.
  • Dekningen varierer med kildens historiske payload: 2018 og 2019 leverer ingen av de sju feltene, 2021 leverer fire felt for 17 kamper, og 2024/2025 leverer vanligvis bare de fire grunnfeltene. Én 2024-kamp er holdt utenfor fordi FotMob oppgir 32 cornere.
  • xG kan ikke sammenlignes ukritisk mellom sesonger: FotMob dokumenterer ikke modellversjonen i kampresponsen, og modellen kan ha endret seg. Arkivet lagrer kildens tall, ikke en egen beregning.
  • SQLite har ingen boolsk type: is_home, neutral_venue og has_conflicts er heltall 0 eller 1. Skriv «WHERE is_home = 1», ikke «WHERE is_home IS TRUE».
KolonneTypeBetydning
match_idtextUnik ID, på formen YYYY-MM-DD-hjemmelag-bortelag.
datetext (YYYY-MM-DD)Kampdato.
seasonintegerSesongåret kampen tilhører.
date_confidencetext'exact', 'month' eller 'year'. For gamle kamper er noen ganger bare året kjent.
kickofftext (HH:MM)Avspark, lokal tid. Ofte NULL for eldre kamper.
statustext'played', 'scheduled', 'abandoned', 'awarded', 'cancelled' eller 'postponed'.
competition_idtextKonkurransens stabile ID. Bruk denne til å koble mot seasons og result_groups; navnet endrer seg over tid, ID-en gjør det ikke.
competitiontextKonkurransens navn slik det var på kampdatoen: «Tippeligaen» for en kamp i 2005, «Eliteserien» for en i 2024.
competition_typetext'league', 'national_cup', 'european', 'friendly' eller 'playoff'.
competition_tierintegerNivå i seriepyramiden, 1 er øverst. NULL for cup og europa.
stagetext'regular_season', 'quarter_final', 'final' osv.
roundintegerSerierunde eller cuprunde.
is_homeinteger (0/1)Sant når AaFK spilte på hjemmebane.
opponenttextMotstanderens navn slik det var på kampdatoen.
opponent_club_idtextMotstanderens ID, stabil over tid selv om navnet endres.
aafk_scoreintegerAaFKs mål, inkludert ekstraomganger.
opponent_scoreintegerMotstanderens mål, inkludert ekstraomganger.
goal_differenceintegeraafk_score minus opponent_score. Negativ ved tap.
resulttext'S' seier, 'U' uavgjort, 'T' tap. NULL når kampen ikke er spilt.
after_extra_timeinteger (0/1)Sant når kampen gikk til ekstraomganger. Målene derfra er allerede med i aafk_score.
notetextForbehold om denne kampen. Eldre kilder oppgir ofte bare sluttresultatet, ikke stillingen etter ordinær tid. Står det noe her, skal det tas med i svaret.
decided_on_penaltiesinteger (0/1)Sant når kampen gikk til straffesparkkonkurranse.
won_on_penaltiesinteger (0/1)Ved straffekonkurranse: vant AaFK den? Ellers NULL.
venuetextStadionnavn slik det var på kampdatoen.
neutral_venueinteger (0/1)Sant når kampen ble spilt på nøytral bane.
attendanceintegerTilskuertall. Ofte NULL for eldre kamper.
refereetextDommer.
has_statsinteger (0/1)Sant når kampen har minst ett lagstatistikkfelt.
aafk_possessionrealAaFKs ballbesittelse i prosent, uansett hjemme/borte.
opponent_possessionrealMotstanderens ballbesittelse i prosent.
aafk_shotsintegerAaFKs totale skudd.
opponent_shotsintegerMotstanderens totale skudd.
aafk_shots_on_targetintegerAaFKs skudd på mål.
opponent_shots_on_targetintegerMotstanderens skudd på mål.
aafk_cornersintegerAaFKs cornere.
opponent_cornersintegerMotstanderens cornere.
aafk_foulsintegerAaFKs registrerte fouls/frispark mot.
opponent_foulsintegerMotstanderens registrerte fouls/frispark mot.
aafk_offsidesintegerAaFKs offsider.
opponent_offsidesintegerMotstanderens offsider.
aafk_xgrealFotMobs forventede mål (xG) for AaFK. NULL når kilden ikke leverte xG.
opponent_xgrealFotMobs forventede mål (xG) for motstanderen.
report_summarytextÉn til to setningers sammendrag, der det finnes.
confidencetext'confirmed', 'probable' eller 'disputed'.
has_conflictsinteger (0/1)Sant når en uenighet mellom kilder er ført inn på kampen. Slå opp match_conflicts for å se hva den gjelder. Uenigheten løses ikke automatisk, og høyeste kildeprioritet vinner ikke av seg selv.
completenessreal0–1: hvor mye av kampen som er dokumentert.
missing_fieldstext (JSON-liste)Feltene completeness savner, som 'score', 'attendance', 'lineups', 'events', 'report', 'referee', 'venue' eller 'providers'. Tom liste betyr at kampen er fullt dokumentert. Bruk json_each for å telle: en kamp uten 'lineups' her har ingen registrert lagoppstilling.
last_retrieved_attext (YYYY-MM-DD)Siste gang en kilde ble hentet for kampen. NULL for kamper uten kildehenvisning.
providerstext (JSON-liste)Dataleverandører for kampen, med providerId, URL, hentetid og feltene leverandøren støtter. Holdes adskilt fra historiske sources.
tagstext (JSON-liste)Frie stikkord, f.eks. 'derby'.
sourcestext (JSON-liste)Historiske publikasjoner som dokumenterer kampen, med sourceId og eventuelt side eller notat.
urltextLenke til kampsiden. Bruk denne som kildehenvisning i svar.

match_stats

To rader per kamp med statistikk: én for AaFK og én for motstanderen. Bruk denne ved summering eller sammenligning mellom sider.

Viktig å vite:
  • Viewet inneholder kamper med minst ett statistikkfelt. Hvert enkelt felt kan fortsatt være NULL.
  • side er 'aafk' eller 'opponent'. is_home beskriver om AaFK var hjemmelag, også på motstanderraden.
  • xG er FotMobs publiserte tall. Ingen xG-differanse lagres; regn ut xg minus motstanderens xg i spørringen når det trengs.
KolonneTypeBetydning
match_idtextKampens ID.
datetext (YYYY-MM-DD)Kampdato.
seasonintegerSesongår.
competitiontextKonkurransens navn.
competition_typetextKonkurransetype.
is_homeinteger (0/1)Sant når AaFK var hjemmelag.
sidetext'aafk' eller 'opponent'.
teamtextLaget statistikken gjelder.
opponenttextMotparten på denne raden.
possessionrealBallbesittelse i prosent.
shotsintegerTotale skudd.
shots_on_targetintegerSkudd på mål.
cornersintegerCornere.
foulsintegerRegistrerte fouls/frispark mot.
offsidesintegerOffsider.
xgrealFotMobs forventede mål; NULL når feltet mangler.
urltextLenke til kampsiden.

seasons

Ett sammendrag per sesong OG konkurranse: plassering, målforskjell og resultatfordeling. Et år med både serie og cup gir to rader, så filtrer på competition_id eller competition_type når du vil ha bare den ene.

Viktig å vite:
  • Én rad per sesong OG konkurranse. Et år med serie, cup og treningskamper gir tre rader, og tallene i hver rad gjelder bare den konkurransen. Summer aldri over rader uten å filtrere først.
  • Serieradene teller bare seriekamper. Kvalifiseringskamper etter sesongen ligger i matches, men holdes utenfor her, slik at en komplett sesong ikke ser ufullstendig ut.
  • En rad betyr at året er representert, ikke at sesongen er komplett. Se coverage, og coverage_evidence for hva merket hviler på. 'complete' krever både sammenhengende runder og et kjent forventet omfang som stemmer; sammenhengende runder alene gir 'unverified'.
  • coverage her gjelder én konkurranse. 'complete' på serieraden betyr at serien er hel, ikke at året er det: cupen kan mangle en kamp. Spør season_coverage når spørsmålet gjelder hele sesongen.
  • Kamper som ikke er spilt teller ikke med i played eller i resultatene. Står scheduled over 0, pågår sesongen.
  • played teller kamper med status 'played' eller 'awarded', den samme regelen som i matches og opponents. De tre kan derfor sammenlignes direkte.
KolonneTypeBetydning
seasonintegerSesongår.
competition_idtextKonkurransens ID. Ett år kan ha flere rader: serie, cup og treningskamper hver for seg.
competitiontextKonkurransens navn det året.
competition_typetextKonkurransetype.
competition_tierintegerNivå, 1 er øverst.
final_positionintegerSluttplassering, hentet fra standings når vi har tabellen for året.
teams_in_leagueintegerAntall lag i divisjonen, talt i standings når vi har tabellen for året.
head_coachtextHovedtrener.
promotedinteger (0/1)Rykket opp.
relegatedinteger (0/1)Rykket ned.
sourcesJSONHistoriske publikasjoner som dokumenterer sesongen som helhet.
notetextForbehold om sesongen, f.eks. at arkivet bare har deler av den. NULL når det ikke er noe å ta forbehold om.
coveragetextHvor godt sesongen er dekket: 'complete' (hver runde fra første til siste, og like mange kamper som det kjente omfanget), 'in_progress' (sesongen pågår, det står kamper igjen på terminlista), 'partial' (runder mangler, eller kampantallet stemmer ikke med omfanget), 'unverified' (rundene henger sammen, men ingen kilde sier hvor mange det skulle vært), 'isolated' (kamper uten rundenummer), 'not_applicable' (cup og treningskamper, som ikke har serierunder). Bruk denne når spørsmålet gjelder om et tall er hele sesongen eller bare det arkivet har.
coverage_evidencetextHva merket hviler på: 'rounds_and_standings' (sluttabellen sier hvor mange kamper AaFK spilte, og arkivet har like mange), 'rounds_and_declared_count' (omfanget er oppgitt for hånd i sesongfila), 'rounds_only' (bare rundenumre, omfanget er ukjent), 'isolated_matches_only', 'season_in_progress', 'not_applicable'.
expected_matchesintegerHvor mange kamper AaFK skulle spilt i konkurransen det året. Hentet fra sluttabellen når vi har den, ellers fra sesongfila. NULL betyr at ingen vet, og da kan sesongen ikke være 'complete'.
last_roundintegerHøyeste serierunde i sesongen. For en komplett sesong er dette antall runder. NULL for cup og treningskamper.
scheduledintegerKamper som står igjen på terminlista i denne konkurransen. Over 0 betyr at sesongen pågår, ikke at arkivet mangler noe. Disse kampene er ikke med i played, wins, draws, losses eller målene.
playedintegerAntall spilte kamper.
winsintegerSeire.
drawsintegerUavgjorte.
lossesintegerTap.
goals_forintegerMål scoret.
goals_againstintegerMål sluppet inn.
goal_differenceintegerMålforskjell.
avg_home_attendancerealSnitt tilskuertall på hjemmekamper.
urltextLenke til sesongsiden.

season_coverage

Én rad per sesongår med ett svar for hele året: er serien, cupen og et eventuelt europacupeventyr ferdig kanonisert? Bruk denne når spørsmålet er om et år er komplett; seasons.coverage svarer bare for én konkurranse om gangen.

Viktig å vite:
  • Én rad per år, mot seasons som har én rad per år OG konkurranse. Et år er 'complete' bare når hver seriesesong er complete i seasons, cupen er spilt ferdig og europacupen er spilt ferdig.
  • En cupsesong regnes som ferdig når den siste spilte kampen er et tap, en finale, eller en uavgjort avgjort på straffer. Slutter rekka på en seier som ikke er en finale, mangler arkivet minst én kamp. Om de første rundene mangler, kan ingen kilde i arkivet svare på: hvilken runde AaFK gikk inn i varierte med år og divisjon.
  • Treningskamper teller ikke. Ingen kilde sier hvor mange treningskamper laget spilte et gitt år, så et krav om dem ville gjort hvert år ufullstendig for alltid.
  • 'unknown' betyr at arkivet ikke har noen seriesesong det året, ikke at året var tomt. Da kan vi ikke svare på om serien mangler.
  • has_standings skiller det sterkeste belegget fra det nest sterkeste. Et år kan være 'complete' uten sluttabell når sesongfila oppgir omfanget med en note om hvor tallet kommer fra.
KolonneTypeBetydning
seasonintegerSesongår.
statustextÅret sett under ett: 'complete' (serie, cup og europacup ferdig kanonisert), 'partial' (noe mangler, se blocker), 'in_progress' (det står kamper igjen på terminlista), 'unknown' (arkivet har ingen seriesesong dette året).
blockertextHva som står igjen, i den rekkefølgen det bør rettes: 'none', 'season_in_progress', 'no_league_season', 'league_incomplete', 'cup_unfinished', 'european_unfinished'.
league_competitionsintegerAntall serierader året har i seasons. Som regel 1; 1967 har to.
league_completeintegerHvor mange av dem som er 'complete' i seasons.
cup_matchesintegerSpilte cupkamper året har i arkivet.
cup_closedinteger (0/1)Om cuprekka slutter der den skal. NULL når året ikke har cupkamper i arkivet.
european_matchesintegerSpilte europacupkamper året har i arkivet.
european_closedinteger (0/1)Om europacuprekka slutter der den skal. NULL når året ikke har europacupkamper.
has_standingsinteger (0/1)Om arkivet har sluttabellen for året.
scheduledintegerKamper som står igjen på terminlista, i alle konkurranser.

opponents

Innbyrdes statistikk mot hver motstander, over hele arkivet og alle konkurranser.

Viktig å vite:
  • played, wins, draws og losses regnes over de samme kampene, statusene 'played' og 'awarded'. wins + draws + losses er derfor alltid lik played.
  • first_meeting ser også kamper som ikke er spilt. En motstander vi har på terminlista uten å ha møtt står med played = 0 og last_meeting = NULL.
  • Viewet summerer bare kanoniske kamper. Ved spørsmål om komplett historikk må ukoblede source_results vises separat, aldri legges direkte til disse tallene.
KolonneTypeBetydning
opponent_club_idtextMotstanderens ID.
opponenttextMotstanderens navn (dagens navn).
citytextMotstanderens by.
playedintegerAntall spilte kamper mot laget.
winsintegerAaFK-seire.
drawsintegerUavgjorte.
lossesintegerAaFK-tap.
goals_forintegerAaFK-mål totalt.
goals_againstintegerInnslupne mål totalt.
first_meetingtext (YYYY-MM-DD)Første møte.
last_meetingtext (YYYY-MM-DD)Siste spilte møte.
urltextLenke til motstandersiden.

standings

Sluttabellen for en seriesesong, ett lag per rad. Bruk denne når spørsmålet gjelder hvor AaFK endte, hvem som vant divisjonen, eller hvor mange poeng det skilte.

Viktig å vite:
  • Bare seriesesonger, og bare de årene kilden har tabell for. Cupen har ingen tabell.
  • team er kildens eget lagnavn. club_id er satt for lagene arkivet kjenner fra før og NULL for resten, siden AaFK ikke har møtt alle lagene i hver divisjon. Filtrer på club_id = 'aalesunds-fk' for å finne vår egen rad.
  • points er tallet tabellen viser, ikke wins*3+draws. Poengtrekk finnes, og to poeng for seier gjaldt til 1987.
  • Tabellen dekker bare seriekampene. Cupkamper samme år ligger i matches og er ikke med her.
KolonneTypeBetydning
competition_idtextKonkurransens ID.
competitiontextKonkurransens navn.
seasonintegerSesongår.
positionintegerPlassering, 1 er øverst.
teamtextLagets navn slik kilden skrev det.
club_idtextKlubben i arkivet, når den finnes der. NULL ellers.
playedintegerSpilte kamper.
winsintegerSeire.
drawsintegerUavgjorte.
lossesintegerTap.
goals_forintegerScorede mål.
goals_againstintegerInnslupne mål.
goal_differenceintegerMålforskjell.
pointsintegerPoeng slik tabellen viser dem.
outcometext'promoted', 'relegated', 'promotion_playoff', 'relegation_playoff', 'playoff' eller 'none'.
sourcesJSONArray av kildereferanser som dokumenterer plasseringen.
notetextKildens egen merknad bak poengsummen, f.eks. en europacupplass.
urltextLenke til motstandersiden når klubben finnes i arkivet.

standings_progression

Hvor AaFK lå i tabellen etter hver serierunde. Bruk denne når spørsmålet gjelder utviklingen gjennom en sesong, ikke hvor den endte.

Viktig å vite:
  • Utregnet ved innhøsting av kildens fulle runderekke, ikke lagret som kamper. Kampene til de andre lagene ligger ikke i arkivet.
  • Bare sesonger der utregningen lander på nøyaktig samme rad som tabellen kilden trykte. Gjør den ikke det, er raden utelatt framfor å vises feil.
  • Bare AaFK. De andre lagenes vei gjennom sesongen finnes ikke her.
KolonneTypeBetydning
competition_idtextKonkurransens ID.
seasonintegerSesongår.
roundintegerSerierunde.
positionintegerPlassering etter denne runden.
pointsintegerPoeng etter denne runden.
playedintegerSpilte kamper etter denne runden. Lavere enn round når en kamp er utsatt.
goal_differenceintegerMålforskjell etter denne runden.

squad

Stallen per sesong: hvem som var med, hvor mange kamper og hvor mange mål. Bruk denne på spørsmål om spillere, ikke matches.

Viktig å vite:
  • Utledet av lagoppstillingene, som arkivet har fra 2010. Sesonger før det har ingen rader her, og det er en manglende kilde og ikke en tom stall.
  • appearances teller oppsatte tropper, ikke spilletid. Benken er med, fordi kilden ikke skiller mellom en som satt der og en som kom inn. Bruk starts når spørsmålet gjelder hvem som spilte.
  • goals teller bare mål i kamper der navnet står i hendelseslista. En kamp uten hendelser gir null mål for alle som spilte den.
  • person_key slår sammen skrivemåter av samme navn. name er den skrivemåten vi viser.
  • Bare AaFKs egne spillere. Motstandernes oppstillinger er registrert, men er ikke med her.
  • number, position, nationality og wikidata kommer fra personregisteret og dekker en del av stallen, ikke hele. NULL betyr at personen ikke står der, ikke at opplysningen ikke finnes.
KolonneTypeBetydning
seasonintegerSesongår.
person_keytextPersonens identitet, normalisert. Bruk denne når du grupperer over sesonger.
nametextNavnet slik det vises.
appearancesintegerKamper spilleren sto oppført i troppen.
startsintegerKamper fra start.
goalsintegerMål i sesongen, talt fra hendelsene.
person_idtextPersonen i registeret, når hun eller han står der. NULL ellers.
numberintegerDraktnummer den sesongen, fra personregisteret. NULL når vi ikke har det.
positiontext'keeper', 'forsvar', 'midtbane' eller 'angrep', fra personregisteret.
nationalitytextNasjonalitet slik kilden skrev den, f.eks. 'Norge'.
wikidatatextWikidata-ID, f.eks. Q1796755. Peker videre; dataene bak hentes ikke hit.
first_matchtext (YYYY-MM-DD)Første kamp i troppen den sesongen.
last_matchtext (YYYY-MM-DD)Siste kamp i troppen den sesongen.

people

Personregisteret: identitet, samlet kampaktivitet og om personen har kildeførte roller i klubben.

Viktig å vite:
  • Registeret omfatter personer med eksplisitt personfil. Spillere som bare finnes som et navn i én oppstilling kan derfor finnes i squad uten å finnes her.
  • appearances er registrerte kamptropper, ikke nødvendigvis innhopp eller spilleminutter.
  • role_count gjelder eksplisitte roller i person_roles; spilleraktivitet fra kampoppstillinger telles separat.
KolonneTypeBetydning
idtextStabil person-ID.
nametextNavnet slik arkivet viser det.
nationalitytextNasjonalitet der den er kjent.
positiontextSpillerposisjon der den er kjent.
wikidatatextWikidata-ID der den finnes.
sourcesJSONPublikasjoner som omtaler personen, med sidetall der det er kjent.
conflictsJSONVerv der kildene oppgir ulike navn. Ingen er avgjort maskinelt; `decision` sier hvordan en eventuell avgjørelse ble tatt.
notetextRedaksjonelt forbehold.
has_conflictsinteger (0/1)Sant når kilder er uenige om en rolle. Slå opp person_conflicts.
first_seasonintegerFørste sesong med registrert kamptropp.
last_seasonintegerSiste sesong med registrert kamptropp.
appearancesintegerAntall registrerte kamptropper.
startsintegerAntall registrerte starter.
role_countintegerAntall eksplisitt kildeførte roller.
first_role_yeartextFørste år med eksplisitt rolle.
last_role_yeartextSiste år med eksplisitt rolle.
role_categoriesJSONKategoriene personen har roller i.
urltextLenke til personsiden.

person_roles

Én rad per kildeførte rolle eller verv i AaFK-organisasjonen.

Viktig å vite:
  • Perioden er så presis som kilden: enten år eller eksakt dato. Ikke utled ansettelsesdatoer fra årstall.
  • Tomrom betyr at rollen ikke er kartlagt, ikke at vervet sto tomt.
  • sources er obligatorisk og peker på publikasjon og side for hver rolle.
KolonneTypeBetydning
person_idtextPersonens stabile ID.
nametextNavnet slik arkivet viser det.
role_idtextRollens stabile ID innenfor personen.
categorytext'player', 'coach', 'sporting_staff', 'board', 'administration', 'honorary', 'founder' eller 'project'.
titletextHistorisk tittel, for eksempel Formann eller Kasserer.
organization_idtextEksplisitt organisasjonsenhet, for eksempel aafk eller aafk-as.
organization_nametextLesbart navn på organisasjonsenheten.
bodytextOrganisasjonsdel, for eksempel Hovedstyret.
from_datetextStart som ÅÅÅÅ eller ÅÅÅÅ-MM-DD.
to_datetextSlutt som ÅÅÅÅ eller ÅÅÅÅ-MM-DD. NULL når ukjent eller løpende.
sourcesJSONPublikasjon, side og dokumenterte felt.
notetextForbehold eller kildekonflikt.
urltextLenke til personsiden.

transfers

Én rad per kildeført overgang inn til eller ut av AaFK. Bruk denne på spørsmål om hvem som ble hentet eller forsvant, ikke squad, som bare sier hvem som var med og ikke hvorfor.

Viktig å vite:
  • Dekningen er ujevn. Et år uten rader betyr at ingen kilde er ført inn ennå, ikke at ingen skiftet klubb.
  • En overgang er ikke bevis for en kampsesong. En spiller kan være hentet og aldri ha spilt, og han finnes da ikke i squad.
  • Ikke summer transfers og squad. De er to observasjoner om samme spiller, ikke to deler av samme tall.
  • Bare personer med egen personfil kan ha overganger her. En spiller som bare finnes som et navn i oppstillingene har ingen rad, og det er en manglende fil, ikke en manglende overgang.
  • club er kildens egen skrivemåte. club_id er satt bare når klubben finnes i arkivet, og klubbkatalogen inneholder motstandere. NULL betyr at klubben ikke er registrert, ikke at den er ukjent.
  • Ingen overgangssum. Beløp er sjelden dokumentert og lagres ikke som eget felt.
  • Hver rad har enten sources eller providers, aldri ingen av delene. sources er historiske publikasjoner, providers er nettmeldinger med adresse og hentetid.
KolonneTypeBetydning
person_idtextPersonens stabile ID.
nametextNavnet slik arkivet viser det.
directiontext'in' (til AaFK) eller 'out' (fra AaFK).
kindtext'transfer', 'loan', 'loan_return', 'free', 'academy', 'released' eller 'retired'.
seasonintegerSesongen overgangen føres på. Året i date, eller året etter når kilden plasserer en vinterovergang i neste sesong.
datetextDatoen kilden oppgir, som ÅÅÅÅ eller ÅÅÅÅ-MM-DD. «Høsten 1950» står som 1950.
club_idtextDen andre klubbens ID når den finnes i arkivet. NULL ellers.
clubtextDen andre klubben, med kildens egen skrivemåte. NULL når kilden ikke oppgir noen, altså 'released' og 'retired'.
sourcesJSONHistorisk publikasjon, side og dokumenterte felt. Tom når kilden er en nettmelding.
providersJSONDataleverandør, adresse og hentetid. Brukes for nettmeldinger, som ikke er dokumenter i kildekatalogen.
notetextRedaksjonelt forbehold eller det kilden sier utover feltene.
urltextLenke til personsiden.

organizations

Organisasjonsenheter som roller og snapshots kan knyttes til.

Viktig å vite:
  • AaFK, Ålesund Fotball AS og stadionvirksomhet er separate enheter selv når de deler personer.
KolonneTypeBetydning
idtextStabil organisasjons-ID.
nametextOffisielt eller historisk navn.
organization_numbertextOrganisasjonsnummer der det er kjent.
kindtextclub, company eller stadium.
notetextRedaksjonelt skille eller forbehold.

organization_snapshots

Personer og roller observert i en organisasjonsoversikt på én bestemt dato.

Viktig å vite:
  • snapshot_date beviser bare at personen hadde rollen da; den er aldri automatisk start- eller sluttdato.
  • Bruk person_roles når en kilde faktisk dokumenterer en periode.
KolonneTypeBetydning
snapshot_datetextObservasjonsdato som ÅÅÅÅ eller ÅÅÅÅ-MM-DD.
organization_idtextStabil organisasjons-ID.
organization_nametextLesbart organisasjonsnavn.
person_idtextStabil person-ID.
nametextPersonens visningsnavn.
observed_titletextTittelen ordrett fra kilden.
categorytextStabil rollekategori.
bodytextAvdeling eller organisasjonsdel.
sourcesJSONKilden som dokumenterer snapshotet.
notetextForbehold om dekning eller proveniens.
urltextLenke til personsiden.

person_conflicts

Én rad per kildeverdi i en uenighet om en personrolle eller et verv.

Viktig å vite:
  • decision = 'unresolved' betyr at arkivet ikke har valgt mellom kildene. Oppgi begge navnene og kildene.
  • field kombinerer normalt rolle og år, for eksempel formann.1968.
  • Kildeprioritet avgjør aldri en konflikt automatisk.
KolonneTypeBetydning
person_idtextPersonen konfliktoppføringen er lagret på.
nametextNavnet slik arkivet viser det.
fieldtextVervet og året uenigheten gjelder.
provider_idtextKilden som oppgir denne verdien.
valuetextPersonnavnet kilden oppgir.
value_notetextKildens eller innhøstingens merknad til verdien.
is_choseninteger (0/1)Sant når et menneske har valgt denne verdien.
decisiontextunresolved, manual, source_priority eller independent_source.
decided_attext (YYYY-MM-DD)Dato for avgjørelsen, eller NULL.
reasontextBegrunnelse når konflikten er avgjort.
lockedinteger (0/1)Sant når avgjørelsen er låst mot ny innhøsting.
conflict_notetextMerknad om uenigheten som helhet.
urltextLenke til personsiden.

coach_spells

Én rad per sammenhengende periode en trener hadde laget. Bruk denne på spørsmål om hvem som var trener når, og om trenerbytter.

Viktig å vite:
  • Utledet av hvem som står oppført på hver kamp, ikke av ansettelsesdatoer. En periode starter på første kamp og slutter på siste, ikke på dagen avtalen ble skrevet.
  • Et trenerbytte midt i sesongen gir to rader det året. 2023 gir tre.
  • En trener som kommer tilbake får to rader. Kjetil Rekdal har en periode fra 2010 og en fra 2024.
  • Bare fra 2010, som er der lagoppstillingene starter.
KolonneTypeBetydning
person_keytextTrenerens identitet, normalisert.
nametextNavnet slik det vises.
from_datetext (YYYY-MM-DD)Første kamp i perioden.
to_datetext (YYYY-MM-DD)Siste kamp i perioden.
from_seasonintegerSesongen perioden startet.
to_seasonintegerSesongen perioden sluttet.
matchesintegerKamper i perioden.

declared_coach_spells

Trenerperioder oppgitt av en kilde, for årene kampdataene ikke rekker. Bruk coach_spells når spørsmålet gjelder 2010 eller senere.

Viktig å vite:
  • Oppgitt, ikke utledet: som regel bare årstall, og vikarene mangler. Christian Johnsen står som 2023 til 2024; at Marius Boee og Sindre Eid hadde laget imellom, vet bare kampene.
  • Rekker til 2001. Eldre trenere finnes ikke i noen kilde vi har.
  • Overlapper med coach_spells for 2010 og senere. De to erstatter ikke hverandre; coach_spells er den nøyaktige.
KolonneTypeBetydning
person_idtextPersonen i registeret.
nametextNavnet slik det vises.
from_seasonintegerFørste sesong i perioden.
to_seasonintegerSiste sesong. NULL når perioden ikke er avsluttet i kilden.
from_datetextDagen perioden begynte, der kilden oppgir den. NULL når bare året er kjent.
to_datetextDagen perioden sluttet, der kilden oppgir den. NULL når bare året er kjent.

match_events

Én rad per hendelse i en kamp: mål, kort og innbytter.

Viktig å vite:
  • Dekningen er ujevn og følger kilden, ikke kalenderen: kamper hentet fra FotMob har hendelser, kamper hentet fra RSSSF har bare resultatet. Fravær av mål her betyr ikke at det ikke ble scoret. Sjekk aafk_score i matches.
  • Antallet kamper med hendelser står i dekningsavsnittet nederst, regnet ut av databasen ved hver bygging.
  • team er 'aafk' eller 'opponent', ikke hjemme/borte.
KolonneTypeBetydning
match_idtextKampens ID.
datetext (YYYY-MM-DD)Kampdato.
seasonintegerSesongår.
minuteintegerSpilleminutt.
stoppageintegerTilleggstid. 45+2 er minute 45, stoppage 2.
event_typetext'goal', 'own_goal', 'penalty_goal', 'yellow_card', 'red_card', 'substitution' m.fl.
teamtext'aafk' eller 'opponent'.
playertextSpiller.
assisttextMålgivende.
player_offtextVed innbytte: spilleren som gikk ut.
urltextLenke til kampsiden.

reports

Kampreferat, som en FTS5-tabell. Samme objekt dekker begge bruksmåtene: fritekstsøk og oppslag på match_id.

Viktig å vite:
  • Alle referat er skrevet for dette arkivet, aldri kopiert fra avis eller klubbside.
  • Fritekstsøk: WHERE reports MATCH 'ordet'. Flere ord: MATCH 'ord1 ord2' (OG), MATCH 'ord1 OR ord2'. Prefiks: MATCH 'snuoper*'.
  • Bare summary og body er søkbare. De andre kolonnene leses ut som vanlig, men treffer ikke på MATCH.
  • Arkivet har foreløpig ingen egne kampreferat. Et tomt søkeresultat betyr derfor ikke at kampen mangler, det betyr at ingen har skrevet referatet ennå. Si det slik, ikke som om kampen ikke finnes.
KolonneTypeBetydning
match_idtextKampens ID.
datetext (YYYY-MM-DD)Kampdato.
seasonintegerSesongår.
opponenttextMotstander.
is_homeinteger (0/1)Hjemmekamp.
resulttext'S', 'U' eller 'T'.
summarytextKort sammendrag.
bodytextReferatet.
bylinetextHvem som skrev det.
urltextLenke til kampsiden.

match_conflicts

Én rad per verdi i en uenighet mellom kilder. Bruk denne når has_conflicts er 1, eller når confidence er 'disputed', for å si hva uenigheten faktisk gjelder.

Viktig å vite:
  • To kilder som er uenige om ett felt gir to rader med samme match_id og field, og ulik value.
  • decision = 'unresolved' betyr at ingen har tatt stilling. Da er is_chosen 0 på alle radene, og svaret skal oppgi begge verdiene med hver sin kilde framfor å velge en.
  • Er konflikten avgjort, står begrunnelsen i reason og datoen i decided_at. Gjenfortell begrunnelsen framfor å finne på en.
  • Ingenting her avgjøres av kildeprioritet automatisk. Et valg er tatt av et menneske, og da står det hvorfor.
KolonneTypeBetydning
match_idtextKampen uenigheten gjelder.
datetext (YYYY-MM-DD)Kampdato.
seasonintegerSesongår.
opponenttextMotstanderens navn den datoen.
fieldtextFeltet kildene er uenige om, med punktnotasjon: 'away.score', 'attendance'.
provider_idtextKilden som oppgir denne verdien.
valuetext eller integerVerdien kilden oppgir.
value_notetextKildens eget forbehold om verdien.
is_choseninteger (0/1)Sant for verdien arkivet bruker. Alle rader er 0 når konflikten ikke er avgjort.
decisiontext'unresolved', 'manual', 'source_priority' eller 'independent_source'.
decided_attext (YYYY-MM-DD)Når valget ble tatt. NULL når det ikke er tatt.
reasontextHvorfor valget falt slik. NULL når konflikten står åpen.
lockedinteger (0/1)Sant når verdien er låst mot å bli overskrevet av en senere innhøsting.
conflict_notetextNotat om uenigheten som helhet.
urltextLenke til kampsiden.

providers

Kildekatalogen: hvor dataene kommer fra og hvor mye vi stoler på hver kilde.

Viktig å vite:
  • priority er en erklært rangering, ikke en avgjørelsesregel. Ingenting i innhøstingen velger verdi ut fra den.
  • Hver innhøsting skriver en observasjon per kilde, med kildens rå verdi og den normaliserte. Er to kilder uenige, står begge observasjonene der; ingen av dem vinner av seg selv.
  • En uenighet blir først synlig i matches.has_conflicts når noen har ført den inn som en konflikt. Feltene i matches.manual overskrives aldri av en senere innhøsting.
  • Sier du noe om en kamp der kildene er uenige, oppgi begge verdiene og hvilken kilde de kommer fra, framfor å velge en side.
KolonneTypeBetydning
provider_idtextKildens ID.
nametextKildens navn.
urltextKildens nettadresse.
priorityintegerKildens rangering. Den avgjør IKKE automatisk hvem som vinner en konflikt; se conflicts i matches og caveats over.
licensetextLisens, der den er kjent.
automated_accesstextOm kilden kan hentes automatisk: allowed, permission_required, blocked eller unknown.
public_redistributiontextOm data derfra kan publiseres videre: allowed, permission_required, denied eller unknown. Et annet spørsmål enn om den kan hentes.
attribution_requiredinteger (0/1)Om kilden krever kreditering.
permission_statustextHva motparten har svart: not_needed, pending, requested, granted eller denied. Sier ingenting om hva vi har bestemt.
ingest_decisiontextHva vi har bestemt: blocked, pending, allowed eller accepted_risk. «accepted_risk» betyr at prosjekteier har valgt å gå videre uten tillatelse, ikke at tillatelse finnes.
permission_requested_attext (YYYY-MM-DD)Når forespørselen ble sendt.
risk_accepted_attext (YYYY-MM-DD)Når risikoen ble akseptert.
risk_accepted_bytextHvem som aksepterte den.
terms_checked_attext (YYYY-MM-DD)Når vilkårene sist ble lest av et menneske.
robots_checked_attext (YYYY-MM-DD)Når robots.txt sist ble kontrollert.
permission_notetextHva som er avklart, hvem som er spurt, og hva som gjenstår.
notetextForbehold og dekningsområde.

contributions

Brukerinnsendte bidrag, observasjoner og minner hentet fra innboksen.

Viktig å vite:
  • Bare godkjente bidrag som har gått gjennom redaksjonell kontroll ligger her.
  • Bidrag knyttes til en kamp (target_id = match_id), sesong (target_id = årstall) eller person (target_id = person_id). Sjekk scope ('match', 'season' eller 'person') for å se hva target_id peker på.
KolonneTypeBetydning
idtextUnik ID for bidraget.
scopetext'match', 'season' eller 'person'.
target_idtextKamp-ID eller sesongår.
categorytextKategori, f.eks. 'memory', 'context', 'trivia', 'event_detail'.
texttextSelve innholdet.
contributortextForfatterens navn.
submitted_attext (YYYY-MM-DD)Innsendingsdato.
verificationtextGrad av bekreftelse: 'unverified', 'corroborated' eller 'verified'.
source_urltextEventuell kildelenke for påstanden.

sources

Historisk materiale og kilder fra Nasjonalbiblioteket og AaFK Historiske arkiv.

Viktig å vite:
  • Inneholder bøker, medlemsblader, årsmeldinger og andre dokumenter.
  • Selve innholdet er ikke lagret her, men kan leses via access_url.
KolonneTypeBetydning
idtextUnik ID for publikasjonen.
parent_source_idtextID for kildens serie (f.eks. aafk-medlemsblad).
titletextTittel.
source_typetext'book', 'anniversary_book', 'member_magazine', 'annual_report', 'match_program', 'supporter_publication', 'local_history_book', 'newspaper_supplement', 'series' eller 'other'.
issuetextUtgave.
volumetextÅrgang/Volum.
publishertextUtgiver, f.eks. Aalesunds fotballklubb.
yearintegerUtgivelsesår.
urntextStabil bibliografisk identifikator, som regel Nasjonalbibliotekets URN. NULL når ingen er kjent.
authortextForfatter eller redaktør. NULL når katalogposten ikke oppgir noen.
descriptiontextKort beskrivelse av hva kilden inneholder. NULL når ingen er skrevet.
cover_urltextLenke til forsidebilde.
access_urltextLenke for å lese publikasjonen hos kilden.
urltextLenke til visningssiden på vårt nettsted.

historical_observations

Korte, kildeførte historiske fakta og hendelser med relevans for AaFK.

Viktig å vite:
  • Samme observasjon kan være knyttet til flere personer, sesonger, kamper, konkurranser og stadion uten å være duplisert.
  • date har bare den presisjonen kilden gir og kan være NULL.
  • sources er JSON med sourceId og eventuelt side; bruk kildesiden for etterprøving.
KolonneTypeBetydning
idtextUnik observasjons-ID.
titletextKort overskrift.
texttextKildebasert parafrase av funnet.
datetextÅr, måned eller dato når kilden gir det.
notetextEventuelt redaksjonelt forbehold.
sourcesJSONÉn eller flere kildehenvisninger.
person_idsJSONKanoniske personer observasjonen gjelder.
season_yearsJSONSesonger observasjonen vises på.
match_idsJSONKanoniske kamper observasjonen gjelder.
competition_idsJSONKonkurranser observasjonen gjelder.
venue_idsJSONStadion og baner observasjonen gjelder.
urltextDirektelenke til første visningssiden der observasjonen står.

verification_cases

Åpne og avsluttede verifiseringssaker: påstander arkivet ikke kan avgjøre alene, formulert som ett spørsmål hver.

Viktig å vite:
  • En sak er et spørsmål, ikke et faktum. Innholdet må aldri leses som en påstand arkivet står inne for.
  • resolution er NULL så lenge saken er åpen, og status forteller hvorfor en lukket sak er lukket.
  • target_type og target_id peker på arkivobjektet saken gjelder, men saken er ikke koblet inn i det objektets egne data.
KolonneTypeBetydning
idtextUnik saks-ID.
statustextdraft, open, paused, resolved, rejected eller superseded.
categorytextrole, identity, match, source_reading eller club.
claimtextPåstanden saken handler om, slik den står i arkivet i dag.
questiontextDet ene spørsmålet saken ber om svar på.
contexttextBakgrunnen en leser trenger for å svare.
why_it_matterstextHva svaret endrer i arkivet.
yes_meaningtextHva et ja betyr konkret.
no_meaningtextHva et nei betyr konkret.
inconclusive_meaningtextHva et «kan ikke bestemmes»-svar betyr. NULL når standardspråket brukes.
instructionsJSONStegene den som svarer bør gå gjennom.
target_typetextperson, match, season, club eller source.
target_idtextID-en til objektet saken gjelder.
target_fieldtextFeltet i objektet saken gjelder.
sourcesJSONKilder som støtter, motsier eller gir kontekst, hver med rolle og note.
search_hinttextHvor det er verdt å lete. NULL når ingen er skrevet.
newspaperJSONIntern kandidat-, kilderesultat- og NB-metadata for en avisverifisering. NULL for andre saker.
research_taskJSONStrukturert oppgave, alternativer og kontrollert avisproveniens for community research. NULL for andre saker.
estimated_minutesintegerAnslått arbeid for å svare, i minutter.
priorityinteger0–100. Høyere tall er viktigere.
revisiontextFingeravtrykk av saksinnholdet, så et svar kan knyttes til versjonen det gjaldt.
published_attextDato saken ble publisert. NULL for utkast.
resolutionJSONSvar, begrunnelse og dato når saken er avgjort. NULL mens den er åpen.
source_filetextYAML-fila saken kommer fra.
urltextLenke til saksvisningen på vårt nettsted.

publication_extractions

Dekning og proveniens for maskinell analyse av historiske publikasjoner.

Viktig å vite:
  • Rå OCR og sammenhengende prosa lagres ikke i databasen.
  • search_only betyr at publikasjonen kan fulltekstsøkes hos NB, men ikke har sidevis ALTO tilgjengelig for denne pipelinen.
KolonneTypeBetydning
source_idtextPublikasjonen i sources.
provider_idtextDataleverandøren.
adaptertextAdapter og versjon.
retrieved_attext (YYYY-MM-DD)Dato for kjøringen.
ocr_accesstextalto, search_only eller unavailable.
pages_expectedintegerAntall sider i manifestet.
pages_processedintegerAntall ALTO-sider som ble analysert.
pages_failedJSONSidelabeler som ikke kunne behandles.
content_hashtextSHA-256 av analysert ALTO-innhold, uten at innholdet lagres.

fact_candidates

Strukturerte faktakandidater med sidehenvisning, klare for redaksjonell kontroll.

Viktig å vite:
  • En kandidat er ikke kanonisk fakta før den er kontrollert og flyttet til person-, sesong- eller kampmodellen.
  • Feltene inneholder korte faktatokens og ID-er, aldri OCR-prosa.
KolonneTypeBetydning
source_idtextPublikasjonen kandidaten kommer fra.
idtextDeterministisk kandidat-ID.
kindtextperson_mention, person_role, match_result, lineup_or_squad, organization, season_fact eller fixture_list.
pagetextSidelabel i publikasjonen.
confidencetexthigh, medium eller low for det maskinelle treffet.
keywordsJSONFaktabærende nøkkelord som utløste treffet.
namesJSONMulige person- eller organisasjonsnavn.
yearsJSONEksplisitte årstall på samme tekstlinje.
scoresJSONResultattokens på samme tekstlinje.
person_idsJSONEntydige treff mot eksisterende personer.
match_idsJSONEntydige eller mulige treff mot eksisterende kamper.

resolved_roles

Maskinelt løste personroller med tittel, periode, side og kilde.

Viktig å vite:
  • Dette er kandidater, ikke kanoniske fakta. Bruk person_roles for kontrollerte roller.
  • Oppgi alltid confidence og kilde når et svar bygger på resolved_roles.
  • from_date kan være NULL når siden ikke oppgir år. Ikke utled et år fra publikasjonens utgivelsesår.
KolonneTypeBetydning
source_idtextPublikasjonen rollen kommer fra.
source_titletextLesbar tittel på publikasjonen.
idtextDeterministisk resolver-ID.
pagetextSidelabel i publikasjonen.
column_nointegerNullbasert spaltenummer når kjent.
person_nametextNavnet slik publikasjonen skriver det.
person_idtextKjent person i registeret når navnet er avstemt.
categorytextRolleklasse, som board, coach eller honorary.
titletextHistorisk tittel eller verv.
bodytextOrganisasjonsdel når siden oppgir den.
from_datetextStartår eller dato når oppgitt.
to_datetextSluttår eller dato når oppgitt.
confidencetexthigh, medium eller low for resolverens treff.
ruletextRegelen som løste navn, rolle og år.
source_urltextDirektelenke til publikasjonen hos kilden.
urltextLenke til kildesiden i arkivet.

resolved_lineups

Maskinelt løste lag- og spillerlister med rekkefølge, side og kilde.

Viktig å vite:
  • Dette er kandidater uten kamp-ID. De kan være lagoppstillinger, tropper eller spillerrekker.
  • season er et nærliggende årstall, ikke en bekreftet kampkobling.
  • Oppgi alltid confidence og kilde, og kall ikke listen en kampoppstilling uten annen dokumentasjon.
KolonneTypeBetydning
source_idtextPublikasjonen listen kommer fra.
source_titletextLesbar tittel på publikasjonen.
idtextDeterministisk resolver-ID.
pagetextSidelabel i publikasjonen.
column_nointegerNullbasert spaltenummer når kjent.
seasonintegerNærliggende årstall når siden oppgir et.
namesJSONNavnene i kildens rekkefølge.
person_idsJSONNavn som er avstemt mot personregisteret.
confidencetexthigh, medium eller low for resolverens treff.
source_urltextDirektelenke til publikasjonen hos kilden.
urltextLenke til kildesiden i arkivet.

Eksempelspørringer

Disse spørringene kjøres som en del av testene, så de virker alltid mot datasettet slik det ser ut nå.

Hvilke kamper har xG-data, og hva var forskjellen?

SELECT date, opponent, aafk_xg, opponent_xg,
       aafk_xg - opponent_xg AS xg_difference, url
FROM matches
WHERE aafk_xg IS NOT NULL AND opponent_xg IS NOT NULL
ORDER BY date DESC

Når tapte vi sist med 6 mål på hjemmebane?

SELECT date, opponent, aafk_score, opponent_score, competition, url
FROM matches
WHERE is_home = 1 AND result = 'T' AND goal_difference <= -6
ORDER BY date DESC
LIMIT 1

Hvilken motstander har vi tapt flest ganger mot?

SELECT opponent, losses, played, wins, draws
FROM opponents
ORDER BY losses DESC
LIMIT 5

Hvor mange mål scoret vi i 2024?

SELECT sum(aafk_score) AS mal, count(*) AS kamper
FROM matches
WHERE season = 2024 AND status = 'played'

Hvilke sesonger har vi hatt best målforskjell?

SELECT season, competition, goal_difference, final_position
FROM seasons
ORDER BY goal_difference DESC
LIMIT 5

Finnes det referat som nevner snuoperasjon?

SELECT match_id, date, opponent, summary, url
FROM reports
WHERE reports MATCH 'snuoperasjon'
ORDER BY date DESC

Hva er den eldste kampen i arkivet?

SELECT date, opponent, is_home, aafk_score, opponent_score, competition, url
FROM matches
ORDER BY date ASC LIMIT 1

Hvor mange kamper har vi fra hvert tiår?

SELECT substr(date, 1, 3) || '0-tallet' AS tiar, count(*) AS kamper
FROM matches
GROUP BY tiar ORDER BY tiar

Har vi noen gang vunnet en cupkamp på straffer?

SELECT date, opponent, aafk_score, opponent_score, url
FROM matches
WHERE decided_on_penalties = 1 AND won_on_penalties = 1
ORDER BY date DESC

Er det lagt inn noen bidrag eller minner om kamper mot Brann i 1998?

SELECT c.text, c.contributor, c.verification
FROM contributions c
JOIN matches m ON c.target_id = m.match_id
WHERE c.scope = 'match' AND m.opponent = 'SK Brann' AND m.season = 1998

Hvilke medlemsblader har vi fra 1970-tallet?

SELECT title, year, access_url
FROM sources
WHERE source_type = 'member_magazine' AND year BETWEEN 1970 AND 1979
ORDER BY year ASC

Slik er spørrefunksjonen begrenset

Spørrefunksjonen kan skrive SELECT-spørringer mot tabellene over. Det er dét som gjør at den kan svare på spørsmål ingen har laget et ferdig oppslag for. Grensene er:

  • Arkivfilen åpnes skrivebeskyttet. Et forsøk på å endre noe blir avvist av SQLite selv, ikke av koden vår.
  • Spørringen kjører i en egen prosess som stoppes ved tidsavbrudd, og den ser bare tabellene som er dokumentert på denne siden, ikke rådataene bak dem.
  • Én SQL-setning per spørring, og bare SELECT.
  • Maks 200 rader og 3 sekunders kjøretid.
  • Hver spørring som kjøres, vises under svaret, så du kan etterprøve hva svaret bygger på.

Referatene i arkivet er skrevet av bidragsytere. Spørrefunksjonen behandler alltid slik tekst som data, aldri som instruksjoner til seg selv.