-
Notifications
You must be signed in to change notification settings - Fork 67
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
Add an intermediate class for the top-level data types #244
Conversation
Actually, not all specializations of The specializations that do not contain the |
Hmm. I'd forgotten that some of the section 3 items were also Actually Both Rather than repeating those properties in each subclass, collect them in an intermediate subclass of |
That should be explicit in the Extracted Conclusion Constraints: It requires that applications recursively check all source references of all contained conclusions, something that implementers might miss. |
I could go with this proposal. One of the biggest hurdles is coming up with a name. @thomast73 has been discussing the notion of a "Subject" with another contributor and defined it like this: A “subject” is something with a unique and intrinsic identity—e.g., a person, a location on the surface of the earth. We identify that “subject” in time and space using various “identifying features”—for a person: things like name, birth date, age, address, etc. We aggregate these “identifying features” to form an apparently-unique identity by which we can distinguish our “subject” from all other possible “subjects”. What do you think? |
I understand your desire to clearly associated (call out) I agree that In my mind, What you term So I think it appropriate in the cases of transcriptions, translations, and abstracts that the document be marked as
It is in the constraints. In fact, I thought that you helped with the wording? Perhaps you can suggest further clarification? |
Better than my first thought, which was "TopLevel". "Subject" gets a bit tangled up with its use defining part of a sentence: OK, "Entity" is a bit more neutral in that respect, but (in English) is a I think it's the right line of reasoning, we just need to look through the Thesaurus to find a word we like. "Thing" pops up, but might make folks think of a disembodied hand. ;-) Worse, it's more generic than "subject". Hmm. I'll let that simmer for a bit. |
Fair enough. How then do we set apart an analysis about a single source? |
A place can be a subject—possibly identified with I'm not sure that a In all cases, it seems that a “subject” can also be used as an “identifying feature” for another “subject”. So a “subject” can be a “subject” in one context and an “identifying feature” in another. On the other hand, it seems to me that not all "identifying features" are subjects. We may research and debate a |
Perhaps you mean this:
"Any data it contains" doesn't translate into "all sub-conclusions", though when I'm hit over the head with it I recognize that it might. I'd lose that line altogether and change
to: All source references listed in the conclusion or any contained conclusion (e.g., What about referenced conclusions, though? That |
So a new class? Or a mandatory |
|
A new property of SourceDescription, I take it. On the one hand, no constraint that it be referenced by only a single OK. It's fine. |
So returning to the modification to the model initially proposed by this issue...here is how we view the proposed refactor (in a UML-style diagram). I felt that this would be the easiest way to evaluate the proposed change. If we can agree this is the right direction, I will work to update the specification documents to reflect these changes. In this diagram, I have added the proposed |
OK, looks pretty good. My only concern is pulling |
+1 |
I am sympathetic to the concern. However, I also feel that the concept is a generic concept. While we have identified some important uses for I would like the I also think it is appropriate to give specific information about important, supported identifier types and their use in the documentation for the applicable specialization of So I would like to pursue the path of documenting important identifiers relative to a given specialization of |
So an open invitation for torpedoing portability. :-(
-1 |
Your right. It is not supposed to be open ended. I miss spoke. Identifiers have a Any notes in the various specializations of |
Well, I'm right that it's a danger to portability. I don't think that you misspoke.
So the Aside: In this case, what does "resolve to an identifier type" mean? Surely you're not expecting it to exist on some reachable web server: After all, none of the GedcomX indentifiers do. ISTM type URIs in GedcomX are just XML namespace-value pairs. So are we expecting enumerators to provide Schema or DTDs that declare all of their identifiers if they don't use the "known" ones? Will there at some point be a GedcomX Schema or DTD to validate against?
Well, the only such note that I see is on PlaceDescription. It seems to say that an Identifier might point to a "Place Authority" (something like GNIS, I suppose) or to some other PlaceDescription with a type http://gedcomx.com/Primary. I guess the place authority usage might have a type of http://gedcomx.com/Evidence, though the note implies none at all. All the other uses have been mentioned in passing in Issues, mostly regarding the n-tier implementation. If you leave it up to implementers to do what they want, no two implementations will inter-operate. |
I believe your concerns are general to all type vocabularies in the GEDCOM X model. It is not overly germane to original issue raised here. I think it would be best to discuss your concerns in a separate issue. Can I suggest we open a new issue? For now, I am proceeding toward the resolution outlined above. |
I have posted the first batch of changes to reflect the desired changes in 52a85a5. |
OK. It looked like two separate issues to me, so I opened #247 and #248. |
Looks pretty good. I think in the 3.11 preamble the "it seems to me" is a bit casual for a spec. Out of curiosity, why did you change all of the 'id' attributes to 'name', and why on this issue? Also, I think that it would be easier to read if Conclusion and Subject were at the top of the spec before all of their subclasses rather than near the bottom. |
Point of clarification: Why does a subject have an analysis? If a subject is a person/place or thing being researched, analysis is performed in a context - for example a subject/event (we research the "birth of James", not "James") Where is the meat in Conclusion? that is, its, well "conclusion" I would think that in addition to a collection of conclusions, a conclusion would have a top level analysis? Thank you for your time. |
Agreed. Updated accordingly here.
It fixes all of the fragment links within the page. They should all work now.
I figured out the fix while working on this issue. I was being lazy and did not want to open a new issue with a new branch, etc. Just figured it was a bug fix and could ride along just as well with this issue... :-) There are some other bug fixes, additions to cover for omissions, deletions, etc. that will come along for the ride as well. This refactor has forced a general review of the documentation and I have been finding lots of little mistakes.
I don't disagree. It might. But I am not going to address this in this issue. At some point, we expect to give the documents a more comprehensive review, and I think this sort of thing will come up at that point. |
You still need an explanation of why you think that the James in the birth event is this James and not somebody else. Ideally the analysis would connect the |
Apologies to any non-developers reading this thread. The following comment is about working with Git and has nothing to do with GedcomX, so you can safely ignore it.
Oh, OK, Github magic. They must be using
Likewise. Do them in master then rebase master onto subject-refactor:
Which will make sure that you don't get merge conflicts when you merge subject-refactor later. |
OK. |
"Ideally the analysis would connect the Event to the Person," I totally agree, which is what I was recommending "but that doesn't fit with the current design" I guess I'm not clear on the scope of the discussion, vis-a-vis whats already carved in stone. My concern is if you tie the analysis to the Subject rather than to the entity tying the Subject to the Event, as we both seem to agree is the proper strategy, vendors will have issue trying to separate each analysis into its correct context. Where I see this as an issue is when multiple analysis exist for a subject/event context - I may want to report on ALL the James/Birth analysis, but I don't want to pull in the all the James/Occupation analysis, or the James/Death analysis... |
For better or for worse, "conclusion" has become a generic term in GEDCOM X. It stems from the fact that the very process of recording information (about a source, about people we know, etc.) takes us a step away from the original and therefore is "concluded" about the original—a valid definition, but not always the first definition in the GPS-trained genealogist's mind. As The "top level conclusions" in GEDCOM X are the ones we have identified in this issue as specializations of
But, given this statement, I think I am not yet talking to your real question/concern? Perhaps you are saying that the model is not well suited for accumulating birth analysis separate from death analysis and that it ought to be possible to do so? I think we have been thinking of analysis in terms of the But perhaps, to address your concerns, we should consider pushing Then, you could then associate birth For my part: +1 to pushing analysis to |
I have updated the serialization format specifications in feb16f7. |
And on the |
Here are the updates with the |
+1 |
Does this address both an analysis tying an Event to a Subject and and analysis tying a Fact to a Subject? |
Well, an
The other way to get there is via Which way is used will depend on the architecture of the exporting application, but importers are going to have to be able to handle both. Most current applications don't support either model and will at best convert everything into loosely connected plain-text notes and at worst dispatch them to |
The It is my understanding, from a GPS methodology point of view, that we need to be able to associate analysis with the following GPS concepts:
Other than the fact that there is no clear distinction in the model between a hypothesis and a conclusion (I cannot make it clear that a So, I feeling like the basic research analysis needs can be met with the model (as it is being updated by this pull request). |
Completes initial refactor to add `Subject` class
I think most of us are comfortable with moving forward on this, so I have merged these changes. I am not sure that @ed4becky is comfortable yet, so I would invite him (or any of you) to open up new issues for any remaining concerns. We appreciate the feedback we received here. It has been very helpful. I am excited about the resulting improvements to the model. |
I'm OK with what I understand. The true test will be when I try to map my data into the model. I'll let thinks perculate a little longer for that... |
The 'top level' (section 2) data types all have or need
extracted
andmedia
fields. Create an intermediate class to hold those two.