Identify Spouses of Relatives Missing From Set Relationships
Quote from thejerrybryan on 2024-07-10, 5:12 pmThere has been considerable discussion on the RM forums about the new RM10 feature to identify spouses of relatives in the Set Relationships tool. There appears to be a bug in the tool because some small number of such spouses are not correctly identified. Instead, their relationship is left blank.
I posted a short script on the RM forums to identify such spouses who are missed by the tool. I'm hereby reposting it here. But there appears to be a bug in my script, because Tom has identified people in his database that are missed by the script. So I would also like to work on fixing the bug in the script, whatever it is.
For the purposes of our project to identify the function of all the tables and columns in the RM database, I should report that the previously unused column PersonTable.Flags now appears to be being used. Non-zero values are being set in PersonTable.Flags for a person who is a spouse of a relative. The PersonTable.Relate1 and PersonTable.Relate2 values for the spouse are being set to the same values as they are set for the relative . PersonTable.Flags is then set to 0 for the relative and to non-zero for the spouse. I have not yet figured out the exact meanings of the non-zero values in PersonTable.Flags. So far, simply testing them for 0 and not 0 has been sufficient. But still it would be nice to figure out the exact values. I suspect that Flags contain bit switches, but I don't know for sure at this point.
There has been considerable discussion on the RM forums about the new RM10 feature to identify spouses of relatives in the Set Relationships tool. There appears to be a bug in the tool because some small number of such spouses are not correctly identified. Instead, their relationship is left blank.
I posted a short script on the RM forums to identify such spouses who are missed by the tool. I'm hereby reposting it here. But there appears to be a bug in my script, because Tom has identified people in his database that are missed by the script. So I would also like to work on fixing the bug in the script, whatever it is.
For the purposes of our project to identify the function of all the tables and columns in the RM database, I should report that the previously unused column PersonTable.Flags now appears to be being used. Non-zero values are being set in PersonTable.Flags for a person who is a spouse of a relative. The PersonTable.Relate1 and PersonTable.Relate2 values for the spouse are being set to the same values as they are set for the relative . PersonTable.Flags is then set to 0 for the relative and to non-zero for the spouse. I have not yet figured out the exact meanings of the non-zero values in PersonTable.Flags. So far, simply testing them for 0 and not 0 has been sufficient. But still it would be nice to figure out the exact values. I suspect that Flags contain bit switches, but I don't know for sure at this point.
Uploaded files:Quote from kevync on 2024-07-10, 7:27 pmok I just tested with 10.0.1. Now I do not know if it was specific due to version update. As I also tried, changing Set Relationships to a new person then back to by daughter, The script produced 3 people which makes sense and are explained.
My Brother 1st wife (both 1st marriage) remarried and that husband shows on list (which is expected) and same with other brother 1st & 2nd marriage where spouses remarried. Those husbands should not be expected to have a connection.
Let me know if anyone else's result improved with 10.0.1.
If its not the version -- than maybe it somehow relates to indexing being updated? (or lagging )
ok I just tested with 10.0.1. Now I do not know if it was specific due to version update. As I also tried, changing Set Relationships to a new person then back to by daughter, The script produced 3 people which makes sense and are explained.
My Brother 1st wife (both 1st marriage) remarried and that husband shows on list (which is expected) and same with other brother 1st & 2nd marriage where spouses remarried. Those husbands should not be expected to have a connection.
Let me know if anyone else's result improved with 10.0.1.
If its not the version -- than maybe it somehow relates to indexing being updated? (or lagging )
Uploaded files:
Quote from thejerrybryan on 2024-07-10, 9:53 pmI went from 57 problems reported by my script in RM 10.0.0.0 to 2 problems reported by my script in RM 10.0.1.0. I'm going to have to analyze the two remaining problems to see what is going on.
I went from 57 problems reported by my script in RM 10.0.0.0 to 2 problems reported by my script in RM 10.0.1.0. I'm going to have to analyze the two remaining problems to see what is going on.
Quote from Tom Holden on 2024-07-10, 9:56 pmI tried RM10.0.1 and reported at https://community.rootsmagic.com/t/rm-10-set-relationship-fails/11010/41. On the surface, re-running Set Relationships corrected my missing 'aunt' but has ruined my KinshipList.sql which used to report non-blood spouses of blood relatives that RM9 and earlier did not. Now Bruce has contorted the use of Relate1 and Relate2 columns to produce 'spouse of' labels for them and the effect on my script is it reports them as if they were blood relatives.
I don't know what the Flags values mean. Could it signify a non-Birth relationship somewhere in the line to the reference person?
I tried RM10.0.1 and reported at https://community.rootsmagic.com/t/rm-10-set-relationship-fails/11010/41. On the surface, re-running Set Relationships corrected my missing 'aunt' but has ruined my KinshipList.sql which used to report non-blood spouses of blood relatives that RM9 and earlier did not. Now Bruce has contorted the use of Relate1 and Relate2 columns to produce 'spouse of' labels for them and the effect on my script is it reports them as if they were blood relatives.
I don't know what the Flags values mean. Could it signify a non-Birth relationship somewhere in the line to the reference person?
Quote from Tom Holden on 2024-07-10, 10:07 pmInspection of the Flags in my database suggests this:
- 1 looks like blood relatives on my maternal side but not all
- 2 looks like non-blood female spouses to my more distant relatives
- 6 looks like non-blood male spouses to my more distant relatives
- 7 just a couple, both non-blood spouses of half fourth great grandaunts
Non-blood aunts and uncles get the same values for all 3 columns (Flags=0) as for their spouses, my blood relatives.
Edited: a couple of times as I looked at a larger database
Inspection of the Flags in my database suggests this:
- 1 looks like blood relatives on my maternal side but not all
- 2 looks like non-blood female spouses to my more distant relatives
- 6 looks like non-blood male spouses to my more distant relatives
- 7 just a couple, both non-blood spouses of half fourth great grandaunts
Non-blood aunts and uncles get the same values for all 3 columns (Flags=0) as for their spouses, my blood relatives.
Edited: a couple of times as I looked at a larger database
Quote from kevync on 2024-07-10, 11:05 pmHere are results setting Relationships from my son-in-law POV
I exported Person table (PID, relate1 & 2 and flags, exports a csv from Kinship and then cross ref them) --- used excel PQ to combine and here are the result. Then made pivot table of the results. The counts are the count of PID.
Will take a look at tomorrow -- but maybe this will help make sense in your results (sorry had to use PDF)
Here are results setting Relationships from my son-in-law POV
I exported Person table (PID, relate1 & 2 and flags, exports a csv from Kinship and then cross ref them) --- used excel PQ to combine and here are the result. Then made pivot table of the results. The counts are the count of PID.
Will take a look at tomorrow -- but maybe this will help make sense in your results (sorry had to use PDF)
Uploaded files:
Quote from kevync on 2024-07-10, 11:11 pmHere is an example filter for GrandFather -- here we get a hint of what is going on with the flags. Relate1 & 2 no longer show genup/gendown like before .
0 seems to be for blood and 2 flags for spouse of ?
Here is an example filter for GrandFather -- here we get a hint of what is going on with the flags. Relate1 & 2 no longer show genup/gendown like before .
0 seems to be for blood and 2 flags for spouse of ?
Uploaded files:
Quote from Tom Holden on 2024-07-11, 7:03 amFrom What's New in Help:
Half relationship support in relationship calculator, set relationships, relationship chart, kinship list, DNA kinship list, and DNA view
Looks like Flag 7 denotes half-relations. Not mentioned is the extension to non-blood spouses of blood relatives for which Flags 2 and 6 appear to be used respectively for females and males.
No mention is made in the 10.0.1 update of any fix to Set Relationships but there has been a major improvement in the small number of missed non-blood spouses of relatives.
From What's New in Help:
Half relationship support in relationship calculator, set relationships, relationship chart, kinship list, DNA kinship list, and DNA view
Looks like Flag 7 denotes half-relations. Not mentioned is the extension to non-blood spouses of blood relatives for which Flags 2 and 6 appear to be used respectively for females and males.
No mention is made in the 10.0.1 update of any fix to Set Relationships but there has been a major improvement in the small number of missed non-blood spouses of relatives.
Quote from kevync on 2024-07-11, 8:28 amAgreed the results seem drastically better than 10.0.0. It seems that flag (bit switching? as @thejerrybryan mentioned) is used for relations. But also seems that flag may be used for other things beyond. Relate1 & Relate2 are no longer used like they were before. Wonder if a lot of things are being done via a method that is really not using relate1 & relate2 (at least not like previous to 10.0.)
Maybe RM will provide a little more insight what is going on -- while the rest of connect the dots. Though they seem to limit what documentation they share publicly.
Agreed the results seem drastically better than 10.0.0. It seems that flag (bit switching? as @thejerrybryan mentioned) is used for relations. But also seems that flag may be used for other things beyond. Relate1 & Relate2 are no longer used like they were before. Wonder if a lot of things are being done via a method that is really not using relate1 & relate2 (at least not like previous to 10.0.)
Maybe RM will provide a little more insight what is going on -- while the rest of connect the dots. Though they seem to limit what documentation they share publicly.