Av Per Georg Jönsson Fredagen den 21 december, 2007 - 13:20: |
Hej,
Jag tänker föra över information från Disgen till en generell databas, MySQL. Har använt export via Gedcom, som dock kräver ett mycket komplext databasschema. De program som finns på nätet för detta kan inte på långt när hantera Gedcom fullt ut utan har mycket förenklade schema. Gedcom kan vad jag kan förstå inte hantera orter och källor på det sätt som är möjligt i Gedcom, varför strukturen går förlorad när man flyttar data från Disgen via Gedcom. Att gå via rålista är kanske möjligt, men det är ingen trevlig väg.
Finns det en specifikation av formatet i Disgen flockar, så att man kan utnyttja dessa direkt?
Mvh
Per-Georg
Av Daniel Berglund Fredagen den 21 december, 2007 - 20:47: |
Hej,
nej, tyvärr gör det inte det. Rålistorna är mycket lika flockfilerna så även om det hade funnits dokumentation hade det inte gjort saken så mycket trevligare. Varken flockfilerna, rålistorna eller GEDCOM-exporten innehåller strukturen på DISGEN-orterna eller på källträdet, om man använder strukturerade källor.
Orterna ligger i flashfiler-tabeller (Flashfiler var en databasmotor som gjordes av Turbopower. De lade ner verksamheten 2003 och version 2 av flashfiler finns på Sourceforge).
Källorna ligger i samma typ av filer som flockfilerna.
Flockfilerna (och därmed rålistorna) innehåller referenser till de filer där orter resp källor ligger. GEDCOM-exporten innehåller inga sådana referenser utan det blir enbart "dum" text.
Det finns ju en GEDCOM-parser till Perl. Jag har inte tittat närmare på den men den kanske du kan använda för att plocka fram den informationen du vill ha ut en GEDCOM-export. Att skriva datat sedan i en MySQL-databas är ju enkelt från samma perlprogram. Jag antar att du ändå vill ha ett urval, för ska du flytta allt blir det komplicerat hur du än vänder dig..
Av Daniel Berglund Fredagen den 21 december, 2007 - 23:31: |
Hoppsan, jag ser att jag blandade ihop termerna - det som är likt flockfilerna är textexporten, inget annat. Rålistan är jämförelsevis vackert formatterad Har du inte tittat på textexporten tidigare kanske det kan vara intressant (utfilerna som heter *.tx8)
Av Per Georg Jönsson Lördagen den 22 december, 2007 - 09:31: |
Hej Daniel,
Jag har tittat på en hel del program för Gedcomimport till MySQL, och de är alla skräp i den meningen att de bara kan läsa in en liten delmängd av standarden. Typiskt så stöds inte 1:m-relationer, tex bara en OCCU, max 3 giften, en rad kommentarer, hälften av strukturena stöds inte alls osv. De flesta är skrivna i php, vilket ju är bra om man ska publicera något på Internet, men ger problem för program som ska exekvera lokalt och tar lång tid. Perl har jag inget kunskap om.
Jag tycker att Java med NetBeans IDE är den snabbaste och stabilaste vägen att få till något fungerande. Men det jag håller på med är experiment för att skriva en på Internet editerbar version av släktfilerna som en skiss till hur man ska kunna bygga en risktäckande genealogisk databas där alla kan bidraga med sina resultat. Då blir det en kombination av php och Java samt MySQL (på servern) och Java applets (lokalt). Att få in information från Disgen och Gedcom är viktiga steg. Jag ska titta på textfilerna om det går att använda dessa, liksom på om det finns stöd för Flash att hämta.
Men det behövs en ny datastruktur som är mer generell än det som Gedcom och Disgen erbjuder. Denna håller jag på att modellera i UML. Den ska anpassas till verkligheten, så att tex biologiskt föräldraskap och samboförhållanden, och legala företeelser som giften osv separeras. Och olika strukturer för källor, olika länders geografiska, kyrkliga och politiska indelningar ska kunna läggas in av den som bidrager.
Men som sagt, jag tänker i första hand bara utreda vad det innebär att göra en sådan funktion, och om jag lyckas komma med ett förslag till hur man skulle kunna göra. Sedan får Dis eller annan med större resurser ta över.
Mvh
Per-Georg
Av Per Georg Jönsson Söndagen den 23 december, 2007 - 11:17: |
Hej igen,
Det verkar som att det ska gå att parsa flockfilerena från rådata i textform. Där finns även ortsdata, utan pekare till ortsdatabasen (förutom möjlighet att matcha namnen).
Det borde även gå att läsa flash2-filerna med de program som finns på sourceforge om det nu behövs med tanke på att informationen finns i rådatat.
Sedan är det en annan sak att bygga en mer generell orts-funktion som kan innehålla olika geografiska, politiska, ekonomiska och religösa indelningar vilka dessutom varierar över tiden. Varje händelse bör ju länka till den för händelsen aktuella tidpunkten gällande indelningarna, som sedan kan ha ändrats. Helst bör geografisk information sparas i en GIS-standard från ISO/OGC, vilka ju MySQL har stöd för. Där finns troligen färdiga data som direkt kan användas. Fast historiska data måste nog nyinmatas.
God Jul
Per-Georg