This is an archive copy of the IUCr web site dating from 2008. For current content please visit https://www.iucr.org.
[IUCr Home Page] [CIF Home Page] [mmCIF Home Page]

DDL.2.x spec. ?

Weider Chang (weider@cuhhca.hhmi.columbia.EDU)
Fri, 20 Jan 95 16:21:54 -0500


Hi John and everyone:

Here are two DDL issues that I came across when I start to work with DDL.2.x
and the new mmCif dictionary. These issues can only be address by clearly
spell out the new DDL's policy. May be these problems have been solved and
someone can shade some light on that.

John, how should an association between a value (or item) and its appropriate
save frame to be identified under DDL.2.x? My point is, how does a program
know that the "_category.id" in "_category.id    entity" should associated with
"save_category.id" while the "entity" is associated with "save_entity" (or 
save_ENTITY)? Is the leading "_" signifys that matching should be made after
strip off the first character from the string? Then, how about the
"'_category.id'" in "_category_key.name  '_category.id'"? Obviously these
types of referencing mechanisms are NOT STAR save frame specification, which
uses "$" to indicate reference. Should these rules be specified formally to
prevent misinterpretation?

Should there be rules that specify how dependent information should be
declared. For example, "_struct_conn.conn_type_id" was declared as the
"_item_linked.parent_name" of "_struct_conn_type.id" in mmCif dictionary. The 
enumeration range of the value was declared in "save_struct_conn_type.id" and
the "struct_conn_type" category is NOT a mandatory information in a Cif. So,
how can one check the integrity of the "_struct_conn.conn_type_id"? How can
one  sure a "hydrog" in one Cif is the same "hydrog" in another file at the
"_struct_conn.conn_type_id" level? Is this mean enumeration range is
automatically transferable through the parent relationship? I don't think it
should. A restriction that state the declaration of enumeration range must be
at the APPLICABLE root parent node is needed to prevent problem like this.

Is there any plan or solution to address these issues? Thanks.

/Weider