[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ddlm-group] Making _audit.schema dictionaries more orthogonal to_audit.formalism dictionaries

  • To: ddlm-group <ddlm-group@iucr.org>
  • Subject: [ddlm-group] Making _audit.schema dictionaries more orthogonal to_audit.formalism dictionaries
  • From: James Hester <jamesrhester@gmail.com>
  • Date: Tue, 13 Jun 2017 12:34:51 +1000
  • DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;h=mime-version:from:date:message-id:subject:to;bh=PcJMW+Qotof/M85DagD8Pbwbnpf10Fmn77CPoMq/s1I=;b=IgQox49MmQceUPQb1tOHFGYXsXrshBmjq8uCGqp7iIQ9f3FLM1xIOvUY2/Tn0/DIJhWc2XKmvDX5kZZaZ8k+g9NP+8SUihTR5CkVFTk5q/uJFS1HJPvHhWOZmbPmYLoRns963noUM0HjzE83H58ceOo0d5NmBoxdNXxaDuabN4OxHQBwJ1Z84Q4zeOcQtv3wnxgUbAqn/ZcWq7I0DvAnSSIhUncBWCV8YPvYCDwRaOZiDb1CWY8AEQ1yvcSdCo23kPJDO3OP34fD5EACctlcB4Od8XIkPYfO8iLTrSp7Dw7sB03J9OadUnv3mN4lg65KQA9h5gazSDVXibOqEVeMXA==
Dear DDLm group,

In the process of working up a DDLm version of the modulated structures dictionary (which I fully expect to be the biggest test of DDLm) the following inconvenience has come to light:

As you recall, a particular 'schema' involves allowing multiple values for a dataname that is defined as single-valued in some base dictionary.  As a result, some categories will have new datanames that extend the key of the category.  Each of these new datanames, and the list of datanames forming the new category key, are described in a supplementary dictionary.  The problem arises when another dictionary has itself changed the category key, so that the explicit list in the schema dictionary is no longer correct should the other dictionary wish to use the schema.  The concrete example is the modulated structures dictionary adding extra indices to the _exptl_crystal_face category. A multi-crystal schema must add an extra 'crystal_id' key to this category, but a default 'multi-crystal' dictionary will not include these extra modulated structure indices.  Therefore, it is not possible to express a multi-crystal experiment on a modulated structure using a non-custom schema dictionary.

Proposed solution: that _category_key.name be allowed to take the value '.' (NULL), meaning that the list of category keys should be obtained by collecting together all datanames in this category that have _type.purpose 'Key'.  Schema dictionaries would replace an explicit list of keys found in the base dictionary with NULL.  NULL in this case means 'Implicit'.

Partially as a result of this we need to tweak the definitions of _type.purpose 'Key' and _type.purpose 'Link'.  I suggest that we explicitly state that 'Link' refers to a non-key dataname, but make sure that _name.linked_item_id is always set for foreign keys, including when they form part of the category key and therefore have _type.purpose 'Key'.

Comments?

James.

--
T +61 (02) 9717 9907
F +61 (02) 9717 3145
M +61 (04) 0249 4148
_______________________________________________
ddlm-group mailing list
ddlm-group@iucr.org
http://mailman.iucr.org/cgi-bin/mailman/listinfo/ddlm-group

Reply to: [list | sender only]