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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions