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
This is the result of running
inspect_schemafrom 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,
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.