Skip to content

Current state of categories and keys in CIF_IMG #29

Description

@rowlesmr

This is the result of running inspect_schema from my program cifflow on the cif_img dictionary. This includes all of the imports and the like.

Further inspection and thought is required.

loop tables without Set-derived category key
I've moved the IMG-defined ones to the top,

-- loop tables without Set-derived category key --
  array_data  PK: array_id, binary_id
  array_data_external_data  PK: id
  array_element_size  PK: array_id, index
  array_intensities  PK: array_id, binary_id
  array_structure  PK: id
  array_structure_list  PK: array_id, index
  array_structure_list_axis  PK: axis_set_id, axis_id
  array_structure_list_section  PK: id, array_id, index
  axis  PK: id, equipment
  diffrn_data_frame  PK: id, detector_element_id
  diffrn_detector_element  PK: id, detector_id
  diffrn_scan  PK: id
  diffrn_scan_axis  PK: scan_id, axis_id
  diffrn_scan_collection  PK: scan_id
  diffrn_scan_frame  PK: scan_id, frame_id
  diffrn_scan_frame_axis  PK: frame_id, axis_id
  map_segment  PK: id, map_id

  atom_analytical  PK: id
  atom_analytical_mass_loss  PK: id
  atom_analytical_source  PK: id
  atom_scat_versus_stol  PK: atom_type, stol_value
  atom_type  PK: symbol
  atom_type_scat  PK: symbol
  audit_author  PK: id
  audit_author_role  PK: id, role
  audit_conform  PK: dict_name
  audit_contact_author  PK: id
  audit_link  PK: block_code
  audit_support  PK: id
  chemical_conn_atom  PK: number
  chemical_conn_bond  PK: atom_1, atom_2
  citation  PK: id
  citation_author  PK: citation_id, ordinal
  citation_editor  PK: citation_id, ordinal
  database_related  PK: id
  diffrn_attenuator  PK: code
  diffrn_component_pid  PK: pid, framework
  diffrn_orient_refln  PK: index_h, index_k, index_l
  diffrn_reflns_class  PK: code
  diffrn_scale_group  PK: code
  diffrn_standard_refln  PK: index_h, index_k, index_l
  display_colour  PK: hue
  exptl_crystal_face  PK: index_h, index_k, index_l
  journal_index  PK: id
  publ_author  PK: id
  publ_body  PK: label
  publ_contact_author  PK: id
  publ_manuscript_incl_extra  PK: item
  refine_ls_class  PK: code
  reflns_class  PK: code
  reflns_scale  PK: group_code
  reflns_shell  PK: d_res_low, d_res_high
  valence_param  PK: id
  valence_ref  PK: id

schema warnings

Either a Set category with no key, or insufficient keys to resolve linked items. I'm pretty sure that all to foreign key violations are cif_img-related.

  !  category 'diffraction' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'diffrn_orient' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'diffrn_orient_matrix' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'diffrn_reflns' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'diffrn_reflns_transf_matrix' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'diffrn_standards' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'reflns' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'exptl' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'chemical' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'chemical_formula' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'exptl_absorpt' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'exptl_crystal_appearance' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'valence' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'publication' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'audit' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'computing' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'database' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'database_code' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'display' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'journal' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'journal_coeditor' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'journal_date' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'journal_techeditor' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'publ' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'publ_manuscript' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'publ_requested' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'publ_section' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'atom' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'refine' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'refine_diff' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  category 'refine_ls' (Set) has no _category_key.name -- using _cifflow_id as primary key
  !  FK: '_diffrn_refln.standard_code' -> '_diffrn_standard_refln.code': target is not a declared category key of 'diffrn_standard_refln' (PKs=['index_h', 'index_k', 'index_l']) -- attempting FK resolution
  !  FK: '_diffrn.diffrn_radiation_id' -> '_diffrn_radiation.id': target is not a declared category key of 'diffrn_radiation' (PKs=['diffrn_id']) -- attempting FK resolution
  !  FK: '_diffrn_radiation_wavelength.radiation_id' -> '_diffrn_radiation.id': target is not a declared category key of 'diffrn_radiation' (PKs=['diffrn_id']) -- attempting FK resolution
  !  FK: '_diffrn_source.radiation_id' -> '_diffrn_radiation.id': target is not a declared category key of 'diffrn_radiation' (PKs=['diffrn_id']) -- attempting FK resolution
  !  FK: '_array_structure_list.axis_set_id' -> '_array_structure_list_axis.axis_set_id': partial FK to 'array_structure_list_axis' -- covers ['axis_set_id'] of PKs=['axis_set_id', 'axis_id'], no transitive bridge found -- skipping FK constraint
  !  FK: '_array_structure_list_axis.axis_id' -> '_axis.id': partial FK to 'axis' -- covers ['id'] of PKs=['id', 'equipment'], no transitive bridge found -- skipping FK constraint
  !  FK: '_diffrn.diffrn_measurement_id' -> '_diffrn_measurement.id': partial FK to 'diffrn_measurement' -- covers ['id'] of PKs=['device_class', 'diffrn_id', 'id'] (2 missing PKs, bridge search skipped) -- skipping FK constraint
  !  FK: '_diffrn.diffrn_radiation_id' -> '_diffrn_radiation.id': target column 'id' is not a PK of 'diffrn_radiation' (PKs=['diffrn_id']) -- skipping FK constraint
  !  FK: '_diffrn_data_frame.array_section_id' -> '_array_structure_list_section.id': partial FK to 'array_structure_list_section' -- covers ['id'] of PKs=['id', 'array_id', 'index'] (2 missing PKs, bridge search skipped) -- skipping FK constraint
  !  FK: '_diffrn_data_frame.detector_element_id' -> '_diffrn_detector_element.id': partial FK to 'diffrn_detector_element' -- covers ['id'] of PKs=['id', 'detector_id'], no transitive bridge found -- skipping FK constraint
  !  FK: '_diffrn_detector_axis.axis_id' -> '_axis.id': partial FK to 'axis' -- covers ['id'] of PKs=['id', 'equipment'], no transitive bridge found -- skipping FK constraint
  !  FK: '_diffrn_measurement_axis.axis_id' -> '_axis.id': partial FK to 'axis' -- covers ['id'] of PKs=['id', 'equipment'], no transitive bridge found -- skipping FK constraint
  !  FK: '_diffrn_radiation_wavelength.radiation_id' -> '_diffrn_radiation.id': target column 'id' is not a PK of 'diffrn_radiation' (PKs=['diffrn_id']) -- skipping FK constraint
  !  FK: '_diffrn_refln.frame_id' -> '_diffrn_data_frame.id': partial FK to 'diffrn_data_frame' -- covers ['id'] of PKs=['id', 'detector_element_id'], no transitive bridge found -- skipping FK constraint
  !  FK: '_diffrn_refln.standard_code' -> '_diffrn_standard_refln.code': target column 'code' is not a PK of 'diffrn_standard_refln' (PKs=['index_h', 'index_k', 'index_l']) -- skipping FK constraint
  !  FK: '_diffrn_scan.frame_id_end' -> '_diffrn_data_frame.id': partial FK to 'diffrn_data_frame' -- covers ['id'] of PKs=['id', 'detector_element_id'], no transitive bridge found -- skipping FK constraint
  !  FK: '_diffrn_scan.frame_id_start' -> '_diffrn_data_frame.id': partial FK to 'diffrn_data_frame' -- covers ['id'] of PKs=['id', 'detector_element_id'], no transitive bridge found -- skipping FK constraint
  !  FK: '_diffrn_scan_axis.axis_id' -> '_axis.id': partial FK to 'axis' -- covers ['id'] of PKs=['id', 'equipment'], no transitive bridge found -- skipping FK constraint
  !  FK: '_diffrn_scan_frame.frame_id' -> '_diffrn_data_frame.id': partial FK to 'diffrn_data_frame' -- covers ['id'] of PKs=['id', 'detector_element_id'], no transitive bridge found -- skipping FK constraint
  !  FK: '_diffrn_scan_frame_axis.axis_id' -> '_axis.id': partial FK to 'axis' -- covers ['id'] of PKs=['id', 'equipment'], no transitive bridge found -- skipping FK constraint
  !  FK: '_diffrn_scan_frame_axis.frame_id' -> '_diffrn_data_frame.id': partial FK to 'diffrn_data_frame' -- covers ['id'] of PKs=['id', 'detector_element_id'], no transitive bridge found -- skipping FK constraint
  !  FK: '_diffrn_scan_frame_monitor.frame_id' -> '_diffrn_data_frame.id': partial FK to 'diffrn_data_frame' -- covers ['id'] of PKs=['id', 'detector_element_id'], no transitive bridge found -- skipping FK constraint
  !  FK: '_diffrn_source.radiation_id' -> '_diffrn_radiation.id': target column 'id' is not a PK of 'diffrn_radiation' (PKs=['diffrn_id']) -- skipping FK constraint
  !  FK: '_map_segment.array_section_id' -> '_array_structure_list_section.id': partial FK to 'array_structure_list_section' -- covers ['id'] of PKs=['id', 'array_id', 'index'] (2 missing PKs, bridge search skipped) -- skipping FK constraint
  !  FK: '_map_segment.id' -> '_map.id': partial FK to 'map' -- covers ['id'] of PKs=['id', 'diffrn_id', 'entry_id'] (2 missing PKs, bridge search skipped) -- skipping FK constraint

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions