Error checker
Brought to you by:
canajun2eh,
yalnifj
Gedcheck does a good job on the technical side.
I would like to have a routine similiar to FTM's error finder that would find logical errors.
It would check things like:
-child's birth date later than mother's death date
-child's birth date later than father's death (+ 9 mos.)
-child's birth date after parent's 60 year of age. (65?)
-child's birth date before date of marriage (if entered)
-child's birth date before parent's 13 year of age
-marriage date before indivual's 13 year
-death date after 110 year of age (115?)
-child's surname other than father's surname.
I realize that some of the "errors" we would 'skip' but it would help find many typo errors.
Logged In: YES
user_id=1466942
Originator: NO
Originally gedcheck did contain a number of these "semantic" checks, but they didn't make it into the released version which is largely concerned with "syntactic" checks. The framework is all there, but it is not really used.
The main reason for this is that there is already other tools which do this (e.g. the gedcheck.exe DOS utility), but there were no other tools which did the 5.5.1 validation.
I'll assign this one to me. If you want to come up with a list of checks, feel free to post them here.
Logged In: YES
user_id=1254634
Originator: NO
Sounds like a great idea. You could be flooded with lists though :-)
Is there a way to build it round a flexible framwork rather than a fixed list? A series of selection and /or input boxes that together would create the sort of queries Thomas has listed.
Alternatively, at least some sort of grouping, so as not to search for all errors all the time, but selectively instead.
Other than that, I would add:
Married women without _MARNM recorded
Places (eg towns) listed in more than one state or county
People without a gender
Dates beyond today (eg 2050, when it should have been 2005)
Nigel
Logged In: YES
user_id=634811
Originator: NO
Invalid dates such as 35 jan 1991 should be flagged as well. I think that Meliza has a list of invalid dates that she encountered, including invalid Jewish dates.
Logged In: YES
user_id=1447380
Originator: YES
I have on occasion added the same name or child twice. I would like to see the software note that the name I am entering already exists (perhaps matching dates if a date entered,) and "are you sure?"
Logged In: YES
user_id=1466942
Originator: NO
To help manage all of this, can we keep them in a numbered list.
1) Family with two children with the same name
2) Married women without "2 (_MARNM|TYPE married)"
3) Places with more than one parent place, e.g. Bethnal Green, Middlesex and Bethnal Green, London
4) Future dates
5) People with unknown sex
6) Unusually old people
7) Born after death of parents
8) Unusually young/old parents
9) Non patronymic inheritance
Logged In: YES
user_id=1727906
Originator: NO
A few comments:
1) In 19th century Denmark it was very common to have two children with the same name, if the first child died within the first year.
9) Patronymic inheritance: It is becoming the rule that married women keep their family name (at least where I come from).
7+8) Additionally: The 'usual' complete chronology of a life (birth, christening, confirmation, mariage, children and dead) could be checked to avoid typo's like getting the birth date after dead date, by e.g. getting the century wrong. This is of course not everything that it closely connected, as many have children before mariage etc). But as checks i would work fine.
I agree with Nigel, that it would probably be nice with a flexible framework - I imagine that a specialized search page would do the trick.
Henrik Clausen
Logged In: YES
user_id=1447380
Originator: YES
Also invalid dates such as typos, i.e. 18 MAT 1808, etc.
Logged In: YES
user_id=1466942
Originator: NO
Invalid dates such as this are already checked as part of the date syntax.
Logged In: YES
user_id=1466942
Originator: NO
I've introduced some extra semantic checks which warn if minimum/maximum ages are exceded for various events. e.g. MARR befor 16 or after 60, DEAT after 100.
It's a bit crude at the moment - I just wanted to get the basic functionality working. I'll add more complex ones that involve children/parents's ages later.
So far I've added these:
array('BIRT', 'DEAT', 0, 100),
array('BIRT', 'BURI', 0, 100),
array('BIRT', 'CREM', 0, 100),
array('BIRT', 'CHR', 0, 5),
array('BIRT', 'CHRA', 18, 100),
array('BIRT', 'MARR', 16, 60),
array('DEAT', 'BURI', 0, 1),
array('DEAT', 'CREM', 0, 1)
This has picked up hundreds of errors in my own gedcom. Enough to keep me busy for a few weeks!
Logged In: YES
user_id=1447380
Originator: YES
Let me know if you need a beta tester.
Logged In: YES
user_id=1254634
Originator: NO
Its looking good - and I'm glad to say I only had about 30 errors - a number of which were actually OK. 2nd marriages was one cause, as these are more likely to fall outside 'normal' ranges. I have a couple that occurred after age 60 (one at 76)
A couple of presentaion things I would like to see (I know you havn't had chance to address this area fully yet)
1 - Keep these checks, at least optionally, separate from the other gedcheck funcions. I can see the logic at present to only display these with the 'info' category of errors - but that is the longest, so ends up pushing these at the bottom of a very long list, and its a list I don't want to see, as most are things I will continue to choose to ignore.
2 - I would still like to see more flexibility, perhaps by making all or most of the age max, min settings (for example) input or drop down boxes.
Logged In: YES
user_id=1447380
Originator: YES
fisharebest: I just found a father AND son both born 1690 in my gedcom. Don't know how I missed it, but it happens. I run gedcheck regularly, but it doesn't find these types of errors. What is the status of the "semantic checker" you were roughing out about 6 months ago?
Logged In: YES
user_id=1447380
Originator: YES
fisharebest: I just found a father AND son both born 1690 in my gedcom. Don't know how I missed it, but it happens. I run gedcheck regularly, but it doesn't find these types of errors. What is the status of the "semantic checker" you were roughing out about 6 months ago?
Logged In: YES
user_id=1466942
Originator: NO
There is some code to cope with age differences between various events (e.g. between death and burial, between birth and death, between birth and marriage, etc.) I can't remember if it copes with inter-generational age differences. The framework is all there. It just needs someone to come up with a list of rules.
Logged In: YES
user_id=1466942
Originator: NO
These sorts of checks would be much better run as a report, using PGV's report framework.
I don't have the time at the moment to learn how to use it, so unassinging this one.