This was prompted by the InclusionOfReferencedConcepts discussion of DonaldHobern with SallyHinchcliffe.

In addition to my comments there, I will try to sumarise our proposed solution:

A query (or specification for a data extraction) need to specify how the results should be returned. As "empty" concepts just containing a GUID, as a flat list of concepts where all references to other concepts are by GUID only, or by inclusion of referenced concepts up to a certain depth (referenced, referenced by a referenced concept etc.).

In order to distinquish between concepts that are a direct result of the query and other concepts that are 'merely' referenced by these concepts the primary attribute is used. It will be set true if for all concepts that fulfil the condition of the query. This is also the case of other concepts reference them (e.g. via a synonymy relationship). In other words: there should be no replication of the same concept (with primary set true and false resp.) and the value true takes precedence.