Gedcom:Gedcom-Names-ohjelma

wikitammesta
Versio hetkellä 3. marraskuuta 2019 kello 08.17 – tehnyt PeterPower (keskustelu | muokkaukset) (→‎Etunimi-osa)

Gedcom työkalu Henkilönimet

TÄMÄ ON KESKEN! ÅLÅ LUE VIELÄ!

in English På svenska

Tarkoitus

Suomi-tietokannan koostamisessa aineistojen henkilönimiaineistoa on esikäsiteltävä yleensä aina, jotta eri tutkijoiden aineistoista tulevat tiedot ovat yhteismitallisia ja aineisto soveltuu päällekkäisten henkilöiden löytämiseen ja tietokantaistukseen.

Isotammen Henkilönimet-työkalulla tutkija voi itse tehokkaasti muokata gedcom-tiedostossaan olevia henkilönimitietoja. Muunnoksilla ei ole kielipoliittisia tavoitteita. Hyvän tutkimuskäytännön mukaisesti tutkijan on itse huolehdittava siitä, että tallentaa nimet lähteiden mukaisella kielellä ja vain lähteistä löytyviä patronyymeja ja sukunimiä.

Viimeistään Grampsissä on vaihtoehtoisiin nimiin liitettävä oikea tyyppitieto ja lähdeviittaus. Sen voi tietenkin tehdä myös tutkijan muussa sukututkimusohjelmassa, jos ohjelma tukee vaihtoehtoisia tyypitettyjä nimiä lähdeviitteinen ja jos ohjelma siirtää tiedot oikein gedcom-tiedostoon.

Työkalun käyttö

Valitse Isotammen gedcom-työkaluista "Henkilönimet" Rastita asetus "Näytä muutetut rivit" (valinnainen) Suorita muunnos.

Tarkista muunnoksen tulokset sivun alaosasta.

Jos olet muunnokseen tyytyväinen, käytä painiketta "Tallenna tulos", jolloin aikaisempi gedcom-tiedostosi saa uuden versionumero (.0) ja muunnettu gedcom-tiedosto tallennetaan aikaisemman gedcom-tiedoston versionumerolla. Jos et halua tallentaa muunnettua gedcom-tiedostoa, poistu gedcom-työkaluista tai aja jokin muu muunnos.

Käsittelyn periaatteet

Tutkijan käyttämästä sukututkimusohjelmasta ja tutkijan käytänteistä riippuu, miten tutkijan kirjaamat henkilönimien tiedot ovat sijoittuneet ohjelman tulostamaan gedcom-tiedostoon. Isotammen Henkilönimet-työkalu vakioi nimiaineiston rakenteisesti ja osin sisällöltään.

Puuttuva etu- tai sukunimi

NAME-rivillä oletetaan olevan sekä etu- että sukunimet. Jos etunimeä tai sukunimeä ei ole, puuttuva arvo merkitään "N":llä.

Jos etunimenä on jokin seuraavista:

{ "vauva":"U", "poikavauva":"M", "tyttövauva":"F", 
  "poikalapsi":"M", "tyttölapsi":"F", "lapsi":"U",
  "fröken":"F", "junfru":"F", "herr":"M", 
  "neiti":"F", "rouva":"F", "herra":"M", 
  "(vauva)":"U", "(poikavauva)":"M", "(tyttövauva)":"F", 
  "(poikalapsi)":"M", "(tyttölapsi)":"F", "(lapsi)":"U",
  "barn":"U", "son":"M", "gåsse":"M", 
  "dotter":"F", "flicke":"F", "fl.barn":"U", "dödf.barn":"U",
  "(barn)":"U", "(son)":"M", "(gåsse)":"M", 
  "(dotter)":"F", "(flicke)":"F", "(fl.barn)":"U", "(dödf.barn)":"U" }

nimi korvataan "N":llä ja sukupuoli lisätään tagilla SEX jos se ei ole "U" (tuntematon).

Esimerkiksi Sukujutut merkitsee avionimen ilman etunimiä. Tällöin oletetaan, että edelliset etunimet pätevät.

Patronyymi ja Matronyymi

Patronyymi tunnistetaan nimen loppuosasta. Jos patronyymimuotoinen etunimi löytyy jostain nimenosasta, mahdollinen lyhenne täydennetään, se siirretään jälkiliitteeksi ja lisäksi tulostetaan SPFX-rivi. Samoin toimitaan matronyymin kanssa.

Muunnossäännöt:

patronyymi tulostetaan
poika', 'p.' 'poika'
'sson', 'ss.' 'sson'
's.' 'son'
'tytär', 't.' 'tytär'
'dotter':'dr.' 'dotter'

Etunimen muut säännöt

Kutsumanimi voi olla merkitty nimen perässä olevalla tähdellä '*' tai se on merkitty sulkuihin. Tähti poistetaan ja siitä tulostetaan NOTE _CALL ...-rivi. (Tieto on jälkeenpäin siirrettävä Grampsissa oikeaan kenttään, Gramps näet ei lue sisään epästandardeja tageja.)

Lempinimi voi olla suluissa: "Mats (Matti)". Se poistetaan etunimistä ja siitä tulostetaan NICK -tagillä varustettu rivi

Nimetön lapsi voi olla merkitty sanoilla "vauva", "poikavauva", "tyttövauva", "poikalapsi", "tyttölapsi", "lapsi", tai samoilla sanoilla suluissa. Nämä korvataan nimetön-merkinnällä "N" etunimen kohdalla.

Teknisiä lähtökohtia

Merkistö

Oletuksena syötteen merkistö on UTF-8.

Nimiosiot

Gedcom-tiedostossa Henkilötieto alkaa 0 @I0000@ INDI -riviltä, jonka alla on nimikuvauksia, jotka alkavat 1 NAME Etu/Suku/Patronyymi -rivillä.

Henkilöä kohti voi olla useita nimikuvauksia, esim. yksi syntymänimelle ja toinen avionimelle.

Standardi määrittelee nimitiedon seuraavasti:

PERSONAL_NAME_STRUCTURE:=
n NAME <NAME_PERSONAL>
+1 NPFX <NAME_PIECE_PREFIX>
+1 GIVN <NAME_PIECE_GIVEN>
+1 NICK <NAME_PIECE_NICKNAME> kutsumanimi
+1 SPFX <NAME_PIECE_SURNAME_PREFIX kuten 'von'
+1 SURN <NAME_PIECE_SURNAME>
+1 NSFX <NAME_PIECE_SUFFIX> käytetään patronyymille
+1 <<SOURCE_CITATION>>
+1 <<NOTE_STRUCTURE>>

Varsinaisen NAME-rivin tietoja pidetään ensisijaisena tietolähteenä, mutta myös muissa tageissä olleet tiedot pyritään huomioimaan.

Myös sukunimen kohdalla voi olla monta nimeä, joista kustakin tehdään oma NAME-kuvaus.

Henkilön usesta nimestä pidetään ensisijaisena ensimmäisen NAME-rivin viimestä nimeä, jonka pitäisi olla syntymänimi. Esimerkissä 1 NAME Raija /Reipas e. Frisk os. Laine/" nimi "Raija Laine" on hänen ensisijainen nimensä, johon liitetään syöttöaineistossa mahdollisesti tulleet attribuutit kuten huomautukset, lähdetiedot ja kutsumanimet.

Lisäksi NOTE- ja SOUR- määritykset ovat sallittuja lähes mille tahansa riville.

NAME-rivi

NAME-rivi oletetaan olevan muodossa 1 NAME Etunimet/Sukunimet/Jälkiliite. Jos kauttaviivoja ei löydy, tietoihin ei kosketa.

Jälkiliitteeseen sijoitetaan patronyymitieto, koska sille ei ole gedcom-standardissa omaa paikkaansa.

Gedcom-standardin mukaan useat etunimet tai sukunimet on erotettu toisistaan pilkulla, mutta käytännössä etunimien väleissä ei käytetä pilkkuja.

Gedcomin käsittely

NAME

NAME_PERSONAL:= [ <TEXT> | /<TEXT>/ | <TEXT> /<TEXT>/ | /<TEXT>/ <TEXT> | <TEXT> /<TEXT>/ <TEXT> ]

NAME-rivi oletetaan olevan muodossa 1 NAME Etunimet/Sukunimet/Jälkiliite, jossa jälkiliitteeseen on tarkoitus sijoittaa patronyymitieto. Jos kauttaviivoja ei löydy, tietoihin ei kosketa.

Standardin 5.5 mukaan esimerkiksi useat etunimet tai sukunimet on erotettu toisistaan pilkulla, mutta käytännössä emme tätä aina vaadi (esim. etunimien väleissä ei käytetä pilkkuja).

Sukunimi-osa

Sukunimitieto on NAME-rivillä kauttaviivojen välissä. Sen perusteella voidaan tuottaa useita "1 NAME"-rivejä, joissa nimen tyyppi voidaan ilmaista seuraavalla "2 TYPE arvo" -rivillä.

Ohjelma tunnistaa seuraavat sukunimen erottimet eli tyypin määritykset:

erotin "Aaltonen <erotin> Behm" tulostaa
'os.', 'o.s.' Behm avionimi Aaltonen
'ent.', 'e.' Behm otettu nimi Aaltonen
'/', ',' Aaltonen tunnettu myös Behm

TODO Näille tarvitaan vastaavat ruotsinkieliset lyhenteet

Käsittely:

  1. Nimet käsitellään lopusta alkuun. Viimeinen nimi on syntymänimi, jolle ei merkitä tyyppiä
  2. Nimet muunnetaan pikkukirjaimille, paitsi iso alkukirjain
  3. "Aaltonen (Behm)" käsitellään kuten "Aaltonen/Behm" eli tuottaa "Aaltonen; tunnettu myös Behm" (huom nimien järjestys)
  4. Jos mitään erotinta ei tunnisteta, tulkitaan, että tämä sukunimi koostuu kahdesta sanasta.
  5. Jos monisanaisen sukunimen etuosa on enintään kolmikirjaiminen eikä sisälläpistettä pistettä, sen uskotaan olevan aatelisnimien etuliite ("von" yms.), joka siirretään SPFX-riviksi.

Esimerkiksi nimestä "Raija/Reipas e. Frisk os. Laine/" muodostetaan lopusta alkaen kolme nimen kuvausta, josta ensimmäinen tässä järjestyksessä on syntymänimi:

  • "Raija/Laine/" (tyyppiä ei merkitä)
  • "Raija/Frisk/" TYPE="avionimi"
  • "Raija/Reipas/" TYPE="otettu"

Jos muokattu NAME poikkeaa alkuperäisestä muuten kuin tyhjämerkkien osalta, lisätään huomautusrivi 2 NOTE orig_NAME ....

Jälkiliite eli patronyymiosa

Ei muokkausta.

NAMEn alaiset tagit

Luetut NAME-riviä seuraavat sille alisteiset rivit liitetään ensimmäisenä tulostettavaan ensisijaiseen nimeen ja sen aliriveihin.

Jälkiliite voi olla NAME-tagin asemasta esitettynä pelkästään NPFX-tagilla. Sille ei tehdä mitään.

Epäsatandadi ALIA tagi

Standardista poiketen joissakin ohjelmissa voidaan ilmaista tagilla ALIA rinnakkainen nimi, esim. "1 ALIA Nätti-Jussi". Tällaisen nimen rakenne ei ole sama kuin NAME-rivillä. Sukujutut saattaa tulostaa avionimen ALIA-tagilla ellei käyttäjä ole valinnut vahtoehtoa "käytä NAME-tagia".

TODO Jos havaitaan ALIA -rivi, jossa on nimi, siitä tehdään NAME tyyppiä AKA, "tunnettu myös".

Esikäsittely

TODO Ennen muuta käsittelyä on tarkoitus tehdä ainakin NAME-riville seuraavaa –

  • patronyymi kahdella sanalla yhditetään: "Matin poika" --> "Matinpoika"

Ohjelman kulku

Ohjelma transforms.names käsittee syötteenä olevan gedcom-tiedoston proseduurissa phase3() käyttäen classes-moduulin luokkia:

  1. Rivit, jotka koskevat yhtä henkilöä (alkaen rivistä 0 @...@ INDI) talletetaan GedcomRecord -luokan sisälle taulukkoon rows:
    1. Nimitiedot (1 NAME ja alaiset rivit) talletetaan PersonName -olioon ja sen rows-taulukkoon
      1. Kun henkilön rivit on talletettu, names korjaa ja tulostaa tiedot gedcom-riveinä kutsulla PersonName.emit(), mikä kutsuu edelleen metodia PersonName.get_person_rows()
    2. Muut rivit talletetaan GedcomLine-luokan ilmentyminä ja tulostetaan sellaisenaan nimitietojen jälkeen

Menettely mahdollistaa sääntöjen ohjaamisen esimerkiksi henkilön syntymäajan tai -paikan mukaan.