FamilySearch/gedcomx — pull request #250 by thomast73 (2013-04-26 16:28:00+00:00)
Title: representing "negative evidence"

Assuming `Document` as the documentation mechanism for a negative search, how should we associate this `Document` with our hypothesis as "negative evidence" supporting our hypothesis?

In the GEDCOM X model, we use `EvidenceReference` to associate data with a hypothesis as _evidence_. The `resource` member points to the data being used as _evidence_ and is a required field. But in the case of "negative evidence", there is no data to point to—by definition, we have an "absence of data". It is by _analysis_ that we have determined that there was no data where there ought to have been some.

We would like to propose that we can represent "negative evidence" with an `EvidenceReference` instance with the document describing the negative search as the `analysis` document, and an explicitly missing `resource` reference.

However, as currently defined, an `EvidenceReference` REQUIRES a `resource` reference (explicitly present) and that reference MUST resolve to an object that matches the type of its container (a specialization of `Subject`). This means that the current constraint would not allow `resource` to be explicitly missing. Therefore, we would like to modify the constraint to something like the following.

For `resource`:

REQUIRED, except when modeling "negative evidence", in which case it MUST NOT be present. If provided, MUST resolve to an instance of [`http://gedcomx.org/v1/Subject`].

For `analysis`:

OPTIONAL, except when modeling "negative evidence", in which case it MUST be present. If provided, MUST resolve to an instance of [`http://gedcomx.org/v1/Document`] of type `http://gedcomx.org/Analysis`

The above changes are include in this pull request.