-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement reusable CITAtions by using pointers to new CITA structure #348
Comments
It makes sense! Good idea. However, it is not in line with the GEDCOM standards. |
A complete redesign and “Normalization” of GEDCOM has been discussed. This can’t happen until GEDCOM v8 or later! |
I am suggesting to add it to the GEDCOM standard. |
Instead of a new record type I would prefer a more general solution. In GEDCOM 5.5.1, reference was made to a future concept that makes substructures of records addressable. Quote from GEDCOM 5.5.1: Applied to Sir Peter's case presented here, the structure would look as follows:
|
This is and will always be a bad design. Pointers within and to record instances was discussed before as well. “Normalization” should be part of the design! |
Maybe I'm missing something; why not include this text from the source in the SOURCE_RECORD.TEXT instead of the SOURCE_CITATION.TEXT? |
For something like a parish register, each entry would be a separate citation. e.g.
Each of these citations would be the source of many facts (OCCU of father, BAPM of child, MARR of parent) - and would only consist of the text from that single entry - not the entire register. |
A single parish register (the source!) could include many hundred events from more than two decades. In situations where a family (or clan) lived in that parish for decades their events may show up on almost every page so that dozens of citations from the the same source need to be documented. I cannot think of any effective and efficient solution other than reusable citations. |
Can you give me a link to this discussion? |
Note there's not unanimity of opinion here; I like pointers to substructures because I work with object and graph databases, but they are not appreciated by those who've weighed in who work with relational databases. That said, making a design change that will be difficult for some implementations to handle is unlikely in the near future at least. |
reteP-riS proposed, and fisharebest commented:
I support this idea, and already had implemented it in the internal data structure of my application. So my solution is like this:
with
This structure enables the user to edit the citation record, and automatically updating it for every individual where it is used. As for GEDCOM 7.0 at GEDCOM export I have to convert this structure replacing the I would be totally happy with the structure proposed by reteP-riS, putting the SOUR line within the citation record. Not doing so is only because the _CIT part will not be imported by most applications so far, so in case another application tries to interpret my internal code I want to preserve the I hope the SOURCES team will help a structure like this to come in future GEDCOM versions! |
My belief is that if you include a so-called “citation record” in a future version of GEDCOM, this record should actually be the citation, not parts of the citation. Because each type of citation requires different components and varies based on which style is used, a companion “Template Record” would need to be created that outlines what the citation should contain, and where the data is found in the GEDCOM. At some point the Source_Record and the Citation _Structure would go away, with the template controlling and defining the fields being used to store the components of the citation in the Citation_Record for each citation type and style. |
I admit you make a point by indicating that the ROLE tag might require a specific treatment. I missed that because I never used it. In GEDCOM 5.5.1 the SOURCE_CITATION can appear in PERSONAL_NAME_PIECES, in a FAM_RECORD, in an INDIVIDUAL_RECORD, in a MULTIMEDIA_RECORD, in a NOTE_RECORD, in an ASSOCIATION_STRUCTURE and in all individual's and family's EVENTs and FACTs and I wonder how the ROLE subtag should be used for a MULTIMEDIA_RECORD, a NOTE_RECORD, a FAMILY_EVENT or a FACT. These use cases don't really make sense for me. A closer look at the ROLE tag reveals that - at least in GEDCOM 5.5.1 - it is a subtag of the EVENT subtag itself. So we are talking about SOUR:EVEN:ROLE which makes ROLE in fact a subsubtag of the SOUR tag. And it should be related to an EVENt which at least to me confirms that the above use cases for MULTIMEDIA_RECORD, NOTE_RECORD and FACT don't make much sense. And for a FAMILY_EVENT like MARR or DIV I wouldn't know what to put into the SOUR:EVEN:ROLE tag because you have 2 individuals with 2 different roles - husband and wife - but only one ROLE tag is permitted. Just use SPOU for spouses (plural)? I'm afraid this whole ROLE tag thing has not been thought through entirely when it was introduced. With regard to your example
it seems to be incorrect for two reasons.
With regard to backwards compatibility I think GEDCOM 7 should introduce reusable level 0 CITAtions while still permitting the GEDCOM 5.5.1 conventions for a SOURCE_CITATION, but it needs to be an EITHER ... OR, not both in the same record. But both solutions could of course exist in the same GEDCOM file. And yes, the ROLE tag thing should be resolved, too, but that's a different story and certainly requires more thoughts. Maybe permitting multiple ROLE tags would help. Or getting rid of EVEN:ROLE completely. |
Good point. However, role is very important for me, and I very often use it. Citing a marriage, there is no ROLE line in the family record, however the bride has a ROLE, and the bridegroom has a ROLE, and the witnesses have their ROLE. In their records _CIT comes with a _CIT.ROLE substructure. Another point: I am not a friend of "either ... or" solutions. We have to many applications in the wild which only support one of the possible solutions, but not the alternate solution. Users see data loss at data transfer. We can avoid this by clearly define the structure to be used, and not open the way for different representations of same data. |
I add a file with my proposal using citation records CITA. (It is txt as ged I am not allowed to upload) |
Regarding "Would like to see alternatives discussed by citation group using this example." This issue is also tracked by dthaler/gedcom-citations#11 |
Currently the definition is:
When citing a marriage record from an old church book I prefer to record the complete text - sometimes even translate it - and put it into
+2 TEXT <Text> {0:M} g7:TEXT
. Because marriage records often mention 6 or even more individuals (bride, groom, bride's parents, grooms's parents, witnesses) with information about birth date, birth place, age, religion, occupation, place of residence, etc. I have to copy all the details from oneSOURCE_CITATION
to the other. This may lead to up of 20 or more copies of identical information. If I later find out that I misread some of the old handwriting I have to go through all these copies and correct them which is not only a pain but error prone.I'd like to use reusable citations by using pointers to a new GEDCOM level 0 structure e.g. CITA that would then point to the SOUR record which points to the REPO record.
Instead of
use something like
and
Hope this makles sense.
The text was updated successfully, but these errors were encountered: