Changeset 8014


Ignore:
Timestamp:
09/12/11 16:19:57 (8 years ago)
Author:
mnagni
Message:

The tables are correctly generated and the migration does not show major problem. Good!

Location:
mauRepo/MolesManager/trunk
Files:
24 added
9 edited
2 copied
2 moved

Legend:

Unmodified
Added
Removed
  • mauRepo/MolesManager/trunk/.settings/org.eclipse.core.resources.prefs

    r7976 r8014  
    1 #Wed Oct 05 17:17:52 BST 2011 
     1#Fri Nov 25 14:48:52 GMT 2011 
    22eclipse.preferences.version=1 
    3 encoding//src/ascore/core.py=utf-8 
     3encoding//src/ascore/asunion.py=utf-8 
  • mauRepo/MolesManager/trunk/src/MolesManager/dataaccess.py

    r7976 r8014  
    66from MolesManager.settings import MOLES3DB 
    77from ea_model.iso_19103_2005_schema_language.basic_types.primitive.date_and_time.date import Date 
     8from ea_model.ceda_moles.ceda_observation.ceda_observation import CEDA_Observation 
    89 
    910 
     
    1112    return '%s = \'%s\'' % (key, keyValue) 
    1213 
    13 def getDateById(id): 
    14       
    15     session = MOLES3DB.getSession() 
     14def _checkSession(session): 
     15    if session is None: 
     16        return MOLES3DB.getSession() 
     17    else: 
     18        return session 
     19 
     20def doInsert(toStoreInstance, session = None):  
     21    session = _checkSession(session) 
     22    session.add(toStoreInstance) 
     23    session.commit() 
     24 
     25def getCEDA_ObservationById(id, session = None):      
     26    session = _checkSession(session) 
     27    res = session.query(CEDA_Observation).filter(*[_buildFilter('mo_observation_id', id)]) 
     28    print(res) 
     29    return res.all() 
     30 
     31def getDateById(id, session = None):      
     32    session = _checkSession(session) 
    1633    res = session.query(Date).filter(*[_buildFilter('date_id', id)]) 
    1734    print(res) 
    1835    return res.all() 
    19  
  • mauRepo/MolesManager/trunk/src/MolesManager/settings.py

    r7976 r8014  
    165165MOLES2 = 'moles2' 
    166166 
    167 MOLES3DB_SCRIPT = SITE_ROOT + ADMIN_MEDIA_PREFIX + 'sqlTables.py' 
    168 MOLES3DB = DBConnection('postgresql://badc:rotyn217m@neptune.badc.rl.ac.uk:5432/Moles3', DBScript(MOLES3DB_SCRIPT)) 
     167MOLES3DB_SCRIPT = '/misc/frigid3/humid1/mnagni/workspaces/moles3/MolesManager/src/sqlTables.py' 
     168MOLES3DB = DBConnection('postgresql://badc:rotyn217m@neptune.badc.rl.ac.uk:5432/Moles3') 
     169MOLES3DB.initTables(DBScript(MOLES3DB_SCRIPT)) 
  • mauRepo/MolesManager/trunk/src/MolesManager/static/admin/joinInheritedSqlTables.py

    r7970 r8014  
    1313from ea_model.iso_19115_2_2009_metadata___imagery.data_quality_information___imagery.le_source import  LE_Source         
    1414from ea_model.iso_19115_2006_metadata_corrigendum.metadata_entity_set_information.md_metadata import  MD_Metadata        
     15from ea_model.upcomingiso.ci_individual import  CI_Individual    
    1516from ea_model.iso_19115_2006_metadata_corrigendum.metadata_extension_information.md_obligationcode import  MD_ObligationCode     
    1617from ea_model.moles3_4.computation.mo_processing import  MO_Processing   
     
    2122from ea_model.iso_19108_2006_temporal_schema.temporal_reference_system.tm_position import  TM_Position   
    2223from ea_model.iso_19103_2005_schema_language.basic_types.derived.units_of_measure.distance import  Distance      
     24from ea_model.iso_19115_2006_metadata_corrigendum.identification_information.md_progresscode import  MD_ProgressCode     
    2325from ea_model.iso_19103_2005_schema_language.basic_types.derived.units_of_measure.scale import  Scale    
    24 from ea_model.iso_19115_2006_metadata_corrigendum.identification_information.md_progresscode import  MD_ProgressCode     
    2526from ea_model.iso_19115_2006_metadata_corrigendum.distribution_information.md_distribution import  MD_Distribution       
    2627from ea_model.iso_19111_referencing_by_coordinates.reference_systems.rs_referencesystem import  RS_ReferenceSystem       
     
    3031from ea_model.iso_19115_2006_metadata_corrigendum.citation_and_responsible_party_information.ci_address import  CI_Address       
    3132from ea_model.ceda_moles.ceda_acquisition.ceda_acquisition import  CEDA_Acquisition      
     33from ea_model.iso_19115_2006_metadata_corrigendum.portrayal_catalogue_information.md_portrayalcataloguereference import  MD_PortrayalCatalogueReference  
    3234from ea_model.iso_19115_2006_metadata_corrigendum.metadata_extension_information.md_datatypecode import  MD_DatatypeCode         
    33 from ea_model.iso_19115_2006_metadata_corrigendum.portrayal_catalogue_information.md_portrayalcataloguereference import  MD_PortrayalCatalogueReference  
     35from ea_model.upcomingiso.ci_responsiblepartyinfo import  CI_ResponsiblePartyInfo        
    3436from ea_model.moles3_4.computation.mo_computation import  MO_Computation         
    3537from ea_model.iso_19115_2006_metadata_corrigendum.citation_and_responsible_party_information.ci_telephone import  CI_Telephone   
     
    4143from ea_model.ceda_moles.ceda_observation.ceda_observation import  CEDA_Observation      
    4244from ea_model.iso_19103_2005_schema_language.basic_types.implementation.names.genericname import  GenericName    
     45from ea_model.iso_19115_2006_metadata_corrigendum.distribution_information.md_medium import  MD_Medium   
    4346from ea_model.iso_19108_2006_temporal_schema.temporal_objects.tm_duration import  TM_Duration    
    44 from ea_model.iso_19115_2006_metadata_corrigendum.distribution_information.md_medium import  MD_Medium   
    4547from ea_model.iso_19115_2006_metadata_corrigendum.identification_information.md_identification import  MD_Identification         
    4648from ea_model.iso_19115_2006_metadata_corrigendum.citation_and_responsible_party_information.ci_responsibleparty import  CI_ResponsibleParty     
    4749from ea_model.moles3_4.utilities.mo_rolevalue import  MO_RoleValue       
     50from ea_model.ceda_moles.ceda_utilities.ceda_reviewfrequencyvalue import  CEDA_ReviewFrequencyValue      
     51from ea_model.upcomingiso.ci_responsibility import  CI_Responsibility    
    4852from ea_model.iso_19103_2005_schema_language.basic_types.primitive.date_and_time.datetime import  DateTime       
    49 from ea_model.upcomingiso.ci_responsibility import  CI_Responsibility    
    50 from ea_model.ceda_moles.ceda_utilities.ceda_reviewfrequencyvalue import  CEDA_ReviewFrequencyValue      
    5153from ea_model.iso_19107_2003_spatial_schema.geometry.geometry_root.gm_object import  GM_Object   
    5254from ea_model.iso_19115_2006_metadata_corrigendum.extent_information.ex_verticalextent import  EX_VerticalExtent         
     
    5557from ea_model.iso_19115_2006_metadata_corrigendum.reference_system_information.rs_identifier import  RS_Identifier       
    5658from ea_model.moles3_4.acquisition.mo_platform import  MO_Platform       
     59from ea_model.ceda_moles.ceda_acquisition.ceda_platform import  CEDA_Platform    
    5760from ea_model.ceda_moles.ceda_computation.ceda_processing import  CEDA_Processing        
    58 from ea_model.ceda_moles.ceda_acquisition.ceda_platform import  CEDA_Platform    
    5961from ea_model.iso_19115_2006_metadata_corrigendum.extent_information.ex_geographicextent import  EX_GeographicExtent     
    6062from ea_model.ceda_moles.ceda_acquisition.ceda_instrument import  CEDA_Instrument        
    6163from ea_model.ceda_moles.ceda_result.ceda_result import  CEDA_Result     
    6264from ea_model.moles3_4.acquisition.mo_platformtypevalue import  MO_PlatformTypeValue     
     65from ea_model.ceda_moles.ceda_result.ceda_curationvalue import  CEDA_CurationValue       
    6366from ea_model.iso_fdis_19156_2011_observations_and_measurements.observation_schema.observation.namedvalue import  NamedValue     
    64 from ea_model.ceda_moles.ceda_result.ceda_curationvalue import  CEDA_CurationValue       
    6567from ea_model.iso_19115_2006_metadata_corrigendum.maintenance_information.md_scopecode import  MD_ScopeCode      
    6668from ea_model.iso_19103_2005_schema_language.basic_types.implementation.records_and_class_metadata.any import  Any       
     
    7981from ea_model.iso_19103_2005_schema_language.basic_types.derived.units_of_measure.measuretype import  MeasureType        
    8082from ea_model.moles3_4.observationprocess.mo_process import  MO_Process  
     83from ea_model.moles3_4.utilities.mo_publicationstatevalue import  MO_PublicationStateValue       
    8184from ea_model.iso_19115_2006_metadata_corrigendum.maintenance_information.md_maintenancefrequencycode import  MD_MaintenanceFrequencyCode        
    82 from ea_model.moles3_4.utilities.mo_publicationstatevalue import  MO_PublicationStateValue       
    8385from ea_model.iso_19109_2005_application_schema.general_feature_model.gf_propertytype import  GF_PropertyType    
    8486from ea_model.iso_19115_2006_metadata_corrigendum.citation_and_responsible_party_information.url import  URL     
     
    8789from ea_model.iso_19115_2006_metadata_corrigendum.citation_and_responsible_party_information.ci_series import  CI_Series         
    8890from ea_model.iso_19115_2006_metadata_corrigendum.identification_information.ds_associationtypecode import  DS_AssociationTypeCode       
    89 from ea_model.iso_19103_2005_schema_language.basic_types.derived.units_of_measure.uomscale import  UomScale      
    9091from ea_model.moles3_4.result.mo_onlineresource import  MO_OnlineResource        
    9192from ea_model.iso_19115_2006_metadata_corrigendum.citation_and_responsible_party_information.ci_datetypecode import  CI_DateTypeCode     
    9293from ea_model.iso_19115_2006_metadata_corrigendum.distribution_information.md_standardorderprocess import  MD_StandardOrderProcess       
     94from ea_model.iso_19103_2005_schema_language.basic_types.derived.units_of_measure.uomscale import  UomScale      
    9395from ea_model.iso_19115_2006_metadata_corrigendum.data_quality_information.li_lineage import  LI_Lineage         
    9496from ea_model.iso_19108_2006_temporal_schema.temporal_reference_system.tm_temporalposition import  TM_TemporalPosition   
    9597from ea_model.iso_19115_2006_metadata_corrigendum.distribution_information.md_digitaltransferoptions import  MD_DigitalTransferOptions   
     98from ea_model.upcomingiso.ci_party import  CI_Party      
    9699from ea_model.iso_19108_2006_temporal_schema.temporal_objects.tm_period import  TM_Period        
    97100from ea_model.ceda_moles.ceda_observationprocess.ceda_compositeprocess import  CEDA_CompositeProcess     
    98101from ea_model.iso_19115_2006_metadata_corrigendum.spatial_representation_information.md_spatialrepresentation import  MD_SpatialRepresentation   
     102from ea_model.moles3_4.utilities.mo_organization import  MO_Organization         
    99103from ea_model.ceda_moles.ceda_project.ceda_project import  CEDA_Project  
    100104from ea_model.iso_19115_2006_metadata_corrigendum.data_quality_information.dq_dataquality import  DQ_DataQuality         
     
    103107from ea_model.moles3_4.result.mo_result import  MO_Result        
    104108from ea_model.iso_19115_2006_metadata_corrigendum.extent_information.ex_temporalextent import  EX_TemporalExtent         
     109from ea_model.iso_19103_2005_schema_language.basic_types.primitive.date_and_time.date import  Date       
    105110from ea_model.iso_19103_2005_schema_language.basic_types.derived.units_of_measure.measure import  Measure        
    106 from ea_model.iso_19103_2005_schema_language.basic_types.primitive.date_and_time.date import  Date       
    107111from ea_model.iso_fdis_19156_2011_observations_and_measurements.observation_schema.observation.om_observation import  OM_Observation     
    108112from ea_model.iso_19115_2006_metadata_corrigendum.data_quality_information.li_processstep import  LI_ProcessStep         
     113from ea_model.upcomingiso.ci_organisation import  CI_Organisation        
    109114from ea_model.moles3_4.project.mo_project import  MO_Project     
    110115from ea_model.iso_19115_2006_metadata_corrigendum.data_quality_information.dq_element import  DQ_Element         
     
    136141from ea_model.iso_19108_2006_temporal_schema.temporal_objects.tm_instant import  TM_Instant      
    137142from ea_model.moles3_4.acquisition.mo_location import  MO_Location       
     143from ea_model.iso_19115_2006_metadata_corrigendum.citation_and_responsible_party_information.ci_citation import  CI_Citation     
    138144from ea_model.iso_19115_2006_metadata_corrigendum.data_quality_information.dq_evaluationmethodtypecode import  DQ_EvaluationMethodTypeCode       
    139 from ea_model.iso_19115_2006_metadata_corrigendum.citation_and_responsible_party_information.ci_citation import  CI_Citation     
    140145from ea_model.moles3_4.observationprocess.mo_compositeprocess import  MO_CompositeProcess        
    141146from ea_model.ceda_moles.ceda_observationprocess.ceda_process import  CEDA_Process       
     147from ea_model.moles3_4.utilities.mo_responsiblepartyinfo import  MO_ResponsiblePartyInfo         
    142148from ea_model.iso_19115_2006_metadata_corrigendum.data_quality_information.li_source import  LI_Source   
    143 from ea_model.moles3_4.utilities.mo_responsiblepartyinfo import  MO_ResponsiblePartyInfo         
    144149from ea_model.iso_19115_2006_metadata_corrigendum.extent_information.ex_geographicdescription import  EX_GeographicDescription   
    145150from ea_model.iso_19115_2006_metadata_corrigendum.maintenance_information.md_maintenanceinformation import  MD_MaintenanceInformation    
     
    148153from ea_model.iso_19103_2005_schema_language.basic_types.primitive.date_and_time.dateprecision import  DatePrecision     
    149154from ea_model.iso_19103_2005_schema_language.basic_types.implementation.names.scopedname import  ScopedName      
    150 from ea_model.iso_19108_2006_temporal_schema.temporal_objects.tm_object import  TM_Object        
    151 from ea_model.ceda_moles.ceda_utilities.ceda_notes import  CEDA_Notes 
     155from ea_model.ceda_moles.ceda_utilities.ceda_notes import  CEDA_Notes    
     156from ea_model.iso_19108_2006_temporal_schema.temporal_objects.tm_object import  TM_Object 
    152157 
    153158clear_mappers() 
     
    165170 
    166171 
    167 tm_duration_table = Table('tm_duration', metadata, 
    168         Column('tm_duration_id', Integer, Sequence('tm_duration_id_seq'), primary_key=True), 
    169         Column('tm_duration_type', String(30), nullable=False), 
    170                         extend_existing=False,) 
    171   
    172   
    173  
    174  
    175  
    176  
    177  
    178  
    179 any_table = Table('any', metadata, 
    180         Column('any_id', Integer, Sequence('any_id_seq'), primary_key=True), 
    181         Column('om_observation_result', Integer, ForeignKey('om_observation.om_observation_id')), 
    182         Column('namedvalue_value', Integer, ForeignKey('namedvalue.namedvalue_id')), 
    183                         extend_existing=False,) 
    184   
    185   
    186  
    187  
    188  
    189  
    190  
    191  
    192 unitofmeasure_table = Table('unitofmeasure', metadata, 
    193         Column('unitofmeasure_id', Integer, Sequence('unitofmeasure_id_seq'), primary_key=True), 
    194         Column('offsetToStandardUnit', NUMERIC() , nullable=True), 
    195         Column('nameStandardUnit', TEXT() , nullable=True), 
    196         Column('measureType', MeasureType.db_type() , nullable=False), 
    197         Column('formula', TEXT() , nullable=True), 
    198         Column('scaleToStandardUnit', NUMERIC() , nullable=True), 
    199         Column('uomName', TEXT() , nullable=False), 
    200         Column('uomSymbol', TEXT() , nullable=False), 
    201         Column('unitofmeasure_type', String(30), nullable=False), 
    202                         extend_existing=False,) 
    203   
    204   
    205  
    206  
    207  
    208  
    209  
    210  
    211 gf_constraint_table = Table('gf_constraint', metadata, 
    212         Column('gf_constraint_id', Integer, Sequence('gf_constraint_id_seq'), primary_key=True), 
    213         Column('gf_propertytype_constrainedBy', Integer, ForeignKey('gf_propertytype.gf_propertytype_id')), 
    214         Column('description', TEXT() , nullable=False), 
    215                         extend_existing=False,) 
    216   
    217   
    218  
    219  
    220  
    221  
    222  
    223  
    224 tm_temporalposition_table = Table('tm_temporalposition', metadata, 
    225         Column('tm_temporalposition_id', Integer, Sequence('tm_temporalposition_id_seq'), primary_key=True), 
    226         Column('tm_position_anyOther', Integer, ForeignKey('tm_position.tm_position_id')), 
    227         Column('indeterminatePosition', TM_IndeterminateValue.db_type() , nullable=True), 
    228                         extend_existing=False,) 
    229   
    230   
    231  
    232172 
    233173 
     
    239179        Column('md_identification_graphicOverview', Integer, ForeignKey('md_identification.md_identification_id')), 
    240180        Column('fileName', TEXT() , nullable=False), 
     181        Column('fileDescription', TEXT() , nullable=True), 
    241182        Column('fileType', TEXT() , nullable=True), 
    242         Column('fileDescription', TEXT() , nullable=True), 
    243                         extend_existing=False,) 
    244   
    245   
    246  
    247  
    248  
    249  
    250  
    251  
    252 md_scopedescription_table = Table('md_scopedescription', metadata, 
    253         Column('md_scopedescription_id', Integer, Sequence('md_scopedescription_id_seq'), primary_key=True), 
    254         Column('dq_scope_levelDescription', Integer, ForeignKey('dq_scope.dq_scope_id')), 
    255         Column('md_maintenanceinformation_updateScopeDescription', Integer, ForeignKey('md_maintenanceinformation.md_maintenanceinformation_id')), 
    256         Column('dataset', TEXT() , nullable=False), 
    257         Column('other', TEXT() , nullable=False), 
    258                         extend_existing=False,) 
    259   
    260   
    261  
    262  
    263  
    264  
    265  
    266  
    267 mo_computation_table = Table('mo_computation', metadata, 
    268         Column('mo_computation_id', Integer, Sequence('mo_computation_id_seq'), primary_key=True), 
    269         Column('mo_compositeprocess_computationComponent', Integer, ForeignKey('mo_compositeprocess.mo_compositeprocess_id')), 
    270         Column('mo_computation_type', String(30), nullable=False), 
    271                 Column('mo_computation_mo_process_id', Integer),                ForeignKeyConstraint(['mo_computation_mo_process_id'],  
    272         ['mo_process.mo_process_id']),          extend_existing=False,) 
    273   
    274   
    275  
    276  
    277  
    278  
    279  
    280  
    281 md_medium_table = Table('md_medium', metadata, 
    282         Column('md_medium_id', Integer, Sequence('md_medium_id_seq'), primary_key=True), 
    283         Column('md_digitaltransferoptions_offLine', Integer, ForeignKey('md_digitaltransferoptions.md_digitaltransferoptions_id')), 
    284         Column('mediumFormat', MD_MediumFormatCode.db_type() , nullable=True), 
    285         Column('density', ARRAY(NUMERIC) , nullable=True), 
    286         Column('densityUnits', TEXT() , nullable=True), 
    287         Column('volumes', Integer() , nullable=True), 
    288         Column('mediumNote', TEXT() , nullable=True), 
    289         Column('name', MD_MediumNameCode.db_type() , nullable=True), 
    290                         extend_existing=False,) 
    291   
    292   
    293  
    294  
    295  
    296  
    297  
    298  
    299 tm_period_table = Table('tm_period', metadata, 
    300         Column('tm_period_id', Integer, Sequence('tm_period_id_seq'), primary_key=True), 
    301         Column('om_observation_validTime', Integer, ForeignKey('om_observation.om_observation_id')), 
    302                 Column('tm_period_tm_geometricprimitive_id', Integer),          ForeignKeyConstraint(['tm_period_tm_geometricprimitive_id'],  
    303         ['tm_geometricprimitive.tm_geometricprimitive_id']),            extend_existing=False,) 
    304   
    305   
    306  
    307  
    308  
    309  
    310  
    311  
    312 sc_crs_table = Table('sc_crs', metadata, 
    313         Column('sc_crs_id', Integer, Sequence('sc_crs_id_seq'), primary_key=True), 
    314         Column('ex_verticalextent_verticalCRS', Integer, ForeignKey('ex_verticalextent.ex_verticalextent_id')), 
    315         Column('scope', ARRAY(TEXT) , nullable=False), 
    316                 Column('sc_crs_io_identifiedobjectbase_id', Integer),   Column('sc_crs_rs_referencesystem_id', Integer),                ForeignKeyConstraint(['sc_crs_io_identifiedobjectbase_id'],  
    317         ['io_identifiedobjectbase.io_identifiedobjectbase_id']),ForeignKeyConstraint(['sc_crs_rs_referencesystem_id'],  
    318         ['rs_referencesystem.rs_referencesystem_id']),          extend_existing=False,) 
    319   
    320   
    321  
    322  
    323  
    324  
    325  
    326  
    327 datetime_table = Table('datetime', metadata, 
    328         Column('datetime_id', Integer, Sequence('datetime_id_seq'), primary_key=True), 
    329         Column('md_standardorderprocess_plannedAvailableDateTime', Integer, ForeignKey('md_standardorderprocess.md_standardorderprocess_id')), 
    330         Column('md_usage_usageDateTime', Integer, ForeignKey('md_usage.md_usage_id')), 
    331         Column('tm_position_dateTime8601', Integer, ForeignKey('tm_position.tm_position_id')), 
    332         Column('li_processstep_dateTime', Integer, ForeignKey('li_processstep.li_processstep_id')), 
    333         Column('ceda_notes_date', Integer, ForeignKey('ceda_notes.ceda_notes_id')), 
    334         Column('dq_element_dateTime', Integer, ForeignKey('dq_element.dq_element_id')), 
    335                 Column('datetime_clocktime_id', Integer),       Column('datetime_date_id', Integer),            ForeignKeyConstraint(['datetime_clocktime_id'],  
    336         ['clocktime.clocktime_id']),ForeignKeyConstraint(['datetime_date_id'],  
    337         ['date.date_id']),              extend_existing=False,) 
    338   
    339   
    340  
    341  
    342  
    343  
    344  
    345  
    346 url_table = Table('url', metadata, 
    347         Column('url_id', Integer, Sequence('url_id_seq'), primary_key=True), 
    348         Column('ci_onlineresource_linkage', Integer, ForeignKey('ci_onlineresource.ci_onlineresource_id')), 
    349                         extend_existing=False,) 
    350   
    351   
    352  
    353  
    354  
    355  
    356  
    357  
    358 tm_geometricprimitive_table = Table('tm_geometricprimitive', metadata, 
    359         Column('tm_geometricprimitive_id', Integer, Sequence('tm_geometricprimitive_id_seq'), primary_key=True), 
    360         Column('tm_geometricprimitive_type', String(30), nullable=False), 
    361                 Column('tm_geometricprimitive_tm_primitive_id', Integer),               ForeignKeyConstraint(['tm_geometricprimitive_tm_primitive_id'],  
    362         ['tm_primitive.tm_primitive_id']),              extend_existing=False,) 
    363   
    364   
    365  
    366  
    367  
    368  
    369  
    370  
    371 ci_series_table = Table('ci_series', metadata, 
    372         Column('ci_series_id', Integer, Sequence('ci_series_id_seq'), primary_key=True), 
    373         Column('ci_citation_series', Integer, ForeignKey('ci_citation.ci_citation_id')), 
    374         Column('issueIdentification', TEXT() , nullable=True), 
    375         Column('name', TEXT() , nullable=True), 
    376         Column('page', TEXT() , nullable=True), 
    377                         extend_existing=False,) 
    378   
    379   
    380  
    381  
    382  
    383  
    384  
    385  
    386 uomlength_table = Table('uomlength', metadata, 
    387         Column('uomlength_id', Integer, Sequence('uomlength_id_seq'), primary_key=True), 
    388         Column('length_uom', Integer, ForeignKey('length.length_id')), 
    389         Column('scale_sourceUnits', Integer, ForeignKey('scale.scale_id')), 
    390         Column('scale_targetUnits', Integer, ForeignKey('scale.scale_id')), 
    391                 Column('uomlength_unitofmeasure_id', Integer),          ForeignKeyConstraint(['uomlength_unitofmeasure_id'],  
    392         ['unitofmeasure.unitofmeasure_id']),            extend_existing=False,) 
    393   
    394   
    395  
    396  
    397  
    398  
    399  
    400  
    401 ceda_process_table = Table('ceda_process', metadata, 
    402         Column('ceda_process_id', Integer, Sequence('ceda_process_id_seq'), primary_key=True), 
    403         Column('ceda_observation_procedure', Integer, ForeignKey('ceda_observation.ceda_observation_id')), 
    404         Column('ceda_process_type', String(30), nullable=False), 
    405                 Column('ceda_process_mo_process_id', Integer),          ForeignKeyConstraint(['ceda_process_mo_process_id'],  
    406         ['mo_process.mo_process_id']),          extend_existing=False,) 
    407   
    408   
    409  
    410  
    411  
    412  
    413  
    414  
    415 ci_telephone_table = Table('ci_telephone', metadata, 
    416         Column('ci_telephone_id', Integer, Sequence('ci_telephone_id_seq'), primary_key=True), 
    417         Column('ci_contact_phone', Integer, ForeignKey('ci_contact.ci_contact_id')), 
    418         Column('facsimile', ARRAY(TEXT) , nullable=True), 
    419         Column('voice', ARRAY(TEXT) , nullable=True), 
    420                         extend_existing=False,) 
    421   
    422   
    423  
    424  
    425  
    426  
    427  
    428  
    429 dateprecision_table = Table('dateprecision', metadata, 
    430         Column('dateprecision_id', Integer, Sequence('dateprecision_id_seq'), primary_key=True), 
    431         Column('date_precision', Integer, ForeignKey('date.date_id')), 
    432         Column('precision', TEXT() , nullable=False), 
    433         Column('determinationMethod', TEXT() , nullable=False), 
    434                         extend_existing=False,) 
    435   
    436   
    437  
    438  
    439  
    440  
    441  
    442  
    443 mo_process_table = Table('mo_process', metadata, 
    444         Column('mo_process_id', Integer, Sequence('mo_process_id_seq'), primary_key=True), 
    445         Column('mo_process_type', String(30), nullable=False), 
    446                 Column('mo_process_om_process_id', Integer),            ForeignKeyConstraint(['mo_process_om_process_id'],  
    447         ['om_process.om_process_id']),          extend_existing=False,) 
    448   
    449   
    450  
    451  
    452  
    453  
    454  
    455  
    456 md_constraints_table = Table('md_constraints', metadata, 
    457         Column('md_constraints_id', Integer, Sequence('md_constraints_id_seq'), primary_key=True), 
    458         Column('mo_observation_permission', Integer, ForeignKey('mo_observation.mo_observation_id')), 
    459         Column('md_metadata_metadataConstraints', Integer, ForeignKey('md_metadata.md_metadata_id')), 
    460         Column('md_identification_resourceConstraints', Integer, ForeignKey('md_identification.md_identification_id')), 
    461         Column('useLimitation', ARRAY(TEXT) , nullable=True), 
    462                         extend_existing=False,) 
    463   
    464   
    465  
    466  
    467  
    468  
    469  
    470  
    471 genericname_table = Table('genericname', metadata, 
    472         Column('genericname_id', Integer, Sequence('genericname_id_seq'), primary_key=True), 
    473         Column('io_identifiedobjectbase_alias', Integer, ForeignKey('io_identifiedobjectbase.io_identifiedobjectbase_id')), 
    474         Column('namedvalue_name', Integer, ForeignKey('namedvalue.namedvalue_id')), 
    475         Column('mo_inputoutput_name', Integer, ForeignKey('mo_inputoutput.mo_inputoutput_id')), 
    476         Column('genericname_type', String(30), nullable=False), 
    477                         extend_existing=False,) 
    478   
    479   
    480  
    481  
    482  
    483  
    484  
    485  
    486 tm_primitive_table = Table('tm_primitive', metadata, 
    487         Column('tm_primitive_id', Integer, Sequence('tm_primitive_id_seq'), primary_key=True), 
    488         Column('ex_temporalextent_extent', Integer, ForeignKey('ex_temporalextent.ex_temporalextent_id')), 
    489         Column('tm_primitive_type', String(30), nullable=False), 
    490                 Column('tm_primitive_tm_object_id', Integer),           ForeignKeyConstraint(['tm_primitive_tm_object_id'],  
    491         ['tm_object.tm_object_id']),            extend_existing=False,) 
    492   
    493   
     183Column('t_type', String(30), nullable=False, default='md_browsegraphic'), 
     184        extend_existing=False,) 
     185  
     186  
     187 
     188 
     189 
     190 
     191 
    494192 
    495193 
     
    504202        Column('mo_observation_geographicExtent', Integer, ForeignKey('mo_observation.mo_observation_id')), 
    505203        Column('extentTypeCode', BOOLEAN() , nullable=True), 
    506         Column('ex_geographicextent_type', String(30), nullable=False), 
    507                         extend_existing=False,) 
    508   
    509   
    510  
    511  
    512  
    513  
    514  
    515  
    516 rs_identifier_table = Table('rs_identifier', metadata, 
    517         Column('rs_identifier_id', Integer, Sequence('rs_identifier_id_seq'), primary_key=True), 
    518         Column('md_referencesystem_referenceSystemIdentifier', Integer, ForeignKey('md_referencesystem.md_referencesystem_id')), 
    519         Column('rs_referencesystem_name', Integer, ForeignKey('rs_referencesystem.rs_referencesystem_id')), 
    520         Column('io_identifiedobjectbase_identifier', Integer, ForeignKey('io_identifiedobjectbase.io_identifiedobjectbase_id')), 
    521         Column('version', TEXT() , nullable=True), 
    522         Column('codeSpace', TEXT() , nullable=True), 
    523                 Column('rs_identifier_md_identifier_id', Integer),              ForeignKeyConstraint(['rs_identifier_md_identifier_id'],  
    524         ['md_identifier.md_identifier_id']),            extend_existing=False,) 
    525   
    526   
    527  
    528  
    529  
    530  
    531  
    532  
    533 measure_table = Table('measure', metadata, 
    534         Column('measure_id', Integer, Sequence('measure_id_seq'), primary_key=True), 
    535         Column('value', NUMERIC() , nullable=False), 
    536         Column('measure_type', String(30), nullable=False), 
    537                         extend_existing=False,) 
    538   
    539   
    540  
    541  
    542  
    543  
    544  
    545  
    546 distance_table = Table('distance', metadata, 
    547         Column('distance_id', Integer, Sequence('distance_id_seq'), primary_key=True), 
    548         Column('le_nominalresolution_scanningResolution', Integer, ForeignKey('le_nominalresolution.le_nominalresolution_id')), 
    549         Column('le_nominalresolution_groundResolution', Integer, ForeignKey('le_nominalresolution.le_nominalresolution_id')), 
    550                 Column('distance_length_id', Integer),          ForeignKeyConstraint(['distance_length_id'],  
    551         ['length.length_id']),          extend_existing=False,) 
    552   
    553   
    554  
    555  
    556  
    557  
    558  
    559  
    560 time_table = Table('time', metadata, 
    561         Column('time_id', Integer, Sequence('time_id_seq'), primary_key=True), 
    562         Column('tm_position_time8601', Integer, ForeignKey('tm_position.tm_position_id')), 
    563                 Column('time_measure_id', Integer),             ForeignKeyConstraint(['time_measure_id'],  
    564         ['measure.measure_id']),                extend_existing=False,) 
    565   
    566   
    567  
    568  
    569  
    570  
    571  
    572  
    573 tm_periodduration_table = Table('tm_periodduration', metadata, 
    574         Column('tm_periodduration_id', Integer, Sequence('tm_periodduration_id_seq'), primary_key=True), 
    575         Column('md_maintenanceinformation_userDefinedMaintenanceFrequency', Integer, ForeignKey('md_maintenanceinformation.md_maintenanceinformation_id')), 
    576         Column('years', TEXT() , nullable=True), 
    577         Column('seconds', TEXT() , nullable=True), 
    578         Column('months', TEXT() , nullable=True), 
    579         Column('designator', TEXT() , nullable=False), 
    580         Column('timeIndicator', TEXT() , nullable=True), 
    581         Column('hours', TEXT() , nullable=True), 
    582         Column('days', TEXT() , nullable=True), 
    583         Column('minutes', TEXT() , nullable=True), 
    584                 Column('tm_periodduration_tm_duration_id', Integer),            ForeignKeyConstraint(['tm_periodduration_tm_duration_id'],  
    585         ['tm_duration.tm_duration_id']),                extend_existing=False,) 
    586   
    587   
    588  
    589  
    590  
    591  
    592  
    593  
    594 mo_responsiblepartyinfo_table = Table('mo_responsiblepartyinfo', metadata, 
    595         Column('mo_responsiblepartyinfo_id', Integer, Sequence('mo_responsiblepartyinfo_id_seq'), primary_key=True), 
    596         Column('ceda_notes_commentator', Integer, ForeignKey('ceda_notes.ceda_notes_id')), 
    597         Column('mo_operation_relatedPartyInfo', Integer, ForeignKey('mo_operation.mo_operation_id')), 
    598         Column('mo_instrument_realatedParty', Integer, ForeignKey('mo_instrument.mo_instrument_id')), 
    599         Column('mo_platform_relatedParty', Integer, ForeignKey('mo_platform.mo_platform_id')), 
    600         Column('mo_acquisition_realatedParty', Integer, ForeignKey('mo_acquisition.mo_acquisition_id')), 
    601         Column('mo_observation_relatedParty', Integer, ForeignKey('mo_observation.mo_observation_id')), 
    602         Column('mo_processing_relatedParty', Integer, ForeignKey('mo_processing.mo_processing_id')), 
    603         Column('ceda_review_reviewer', Integer, ForeignKey('ceda_review.ceda_review_id')), 
    604         Column('mo_compositeprocess_relatedParty', Integer, ForeignKey('mo_compositeprocess.mo_compositeprocess_id')), 
    605         Column('mo_project_relatedParty', Integer, ForeignKey('mo_project.mo_project_id')), 
    606         Column('role', MO_RoleValue.db_type() , nullable=False), 
    607                 Column('mo_responsiblepartyinfo_ci_responsibility_id', Integer),                ForeignKeyConstraint(['mo_responsiblepartyinfo_ci_responsibility_id'],  
    608         ['ci_responsibility.ci_responsibility_id']),            extend_existing=False,) 
    609   
    610   
     204Column('t_type', String(30), nullable=False, default='ex_geographicextent'), 
     205        extend_existing=False,) 
     206  
     207  
     208 
     209 
     210 
     211 
     212 
     213 
     214 
     215 
     216 
     217 
     218 
     219genericname_table = Table('genericname', metadata, 
     220        Column('genericname_id', Integer, Sequence('genericname_id_seq'), primary_key=True), 
     221        Column('mo_inputoutput_name', Integer, ForeignKey('mo_inputoutput.mo_inputoutput_id')), 
     222        Column('io_identifiedobjectbase_alias', Integer, ForeignKey('io_identifiedobjectbase.io_identifiedobjectbase_id')), 
     223        Column('namedvalue_name', Integer, ForeignKey('namedvalue.namedvalue_id')), 
     224Column('t_type', String(30), nullable=False, default='genericname'), 
     225        extend_existing=False,) 
     226  
     227  
     228 
     229 
     230 
     231 
     232 
    611233 
    612234 
     
    617239tm_object_table = Table('tm_object', metadata, 
    618240        Column('tm_object_id', Integer, Sequence('tm_object_id_seq'), primary_key=True), 
     241        Column('om_observation_phenomenonTime', Integer, ForeignKey('om_observation.om_observation_id')), 
    619242        Column('mo_operation_operationTime', Integer, ForeignKey('mo_operation.mo_operation_id')), 
    620243        Column('mo_observationcollection_phenomenonTime', Integer, ForeignKey('mo_observationcollection.mo_observationcollection_id')), 
    621         Column('om_observation_phenomenonTime', Integer, ForeignKey('om_observation.om_observation_id')), 
    622         Column('tm_object_type', String(30), nullable=False), 
    623                         extend_existing=False,) 
    624   
    625   
    626  
    627  
    628  
    629  
    630  
    631  
    632 gm_object_table = Table('gm_object', metadata, 
    633         Column('gm_object_id', Integer, Sequence('gm_object_id_seq'), primary_key=True), 
    634         Column('mo_location_geometryLocation', Integer, ForeignKey('mo_location.mo_location_id')), 
    635                         extend_existing=False,) 
    636   
    637   
    638  
    639  
    640  
    641  
    642  
    643  
    644 ci_address_table = Table('ci_address', metadata, 
    645         Column('ci_address_id', Integer, Sequence('ci_address_id_seq'), primary_key=True), 
    646         Column('ci_contact_address', Integer, ForeignKey('ci_contact.ci_contact_id')), 
    647         Column('administrativeArea', TEXT() , nullable=True), 
    648         Column('deliveryPoint', ARRAY(TEXT) , nullable=True), 
    649         Column('country', TEXT() , nullable=True), 
    650         Column('city', TEXT() , nullable=True), 
    651         Column('postalCode', TEXT() , nullable=True), 
    652         Column('electronicMailAddress', ARRAY(TEXT) , nullable=True), 
    653                         extend_existing=False,) 
    654   
    655   
    656  
    657  
    658  
    659  
    660  
    661  
    662 uomscale_table = Table('uomscale', metadata, 
    663         Column('uomscale_id', Integer, Sequence('uomscale_id_seq'), primary_key=True), 
    664         Column('scale_uom', Integer, ForeignKey('scale.scale_id')), 
    665                 Column('uomscale_unitofmeasure_id', Integer),           ForeignKeyConstraint(['uomscale_unitofmeasure_id'],  
    666         ['unitofmeasure.unitofmeasure_id']),            extend_existing=False,) 
    667   
    668   
    669  
    670  
    671  
    672  
    673  
    674  
    675 mo_onlineresource_table = Table('mo_onlineresource', metadata, 
    676         Column('mo_onlineresource_id', Integer, Sequence('mo_onlineresource_id_seq'), primary_key=True), 
    677         Column('ceda_project_projectResource', Integer, ForeignKey('ceda_project.ceda_project_id')), 
    678         Column('mo_result_source', Integer, ForeignKey('mo_result.mo_result_id')), 
    679         Column('mo_result_sample', Integer, ForeignKey('mo_result.mo_result_id')), 
    680         Column('function', MO_OnLineFunctionValue.db_type() , nullable=False), 
    681         Column('applicationProfile', MO_ApplicationProfileValue.db_type() , nullable=False), 
    682                 Column('mo_onlineresource_ci_onlineresource_id', Integer),              ForeignKeyConstraint(['mo_onlineresource_ci_onlineresource_id'],  
    683         ['ci_onlineresource.ci_onlineresource_id']),            extend_existing=False,) 
    684   
    685   
     244Column('t_type', String(30), nullable=False, default='tm_object'), 
     245        extend_existing=False,) 
     246  
     247  
     248 
     249 
     250 
     251 
     252 
     253 
     254 
     255 
     256 
     257 
     258 
     259om_process_table = Table('om_process', metadata, 
     260        Column('om_process_id', Integer, Sequence('om_process_id_seq'), primary_key=True), 
     261Column('t_type', String(30), nullable=False, default='om_process'), 
     262        extend_existing=False,) 
     263  
     264  
     265 
     266 
     267 
     268 
     269 
     270 
     271 
     272 
     273 
     274 
     275 
     276md_format_table = Table('md_format', metadata, 
     277        Column('md_format_id', Integer, Sequence('md_format_id_seq'), primary_key=True), 
     278        Column('md_distribution_distributionFormat', Integer, ForeignKey('md_distribution.md_distribution_id')), 
     279        Column('md_identification_resourceFormat', Integer, ForeignKey('md_identification.md_identification_id')), 
     280        Column('name', TEXT() , nullable=False), 
     281        Column('amendmentNumber', TEXT() , nullable=True), 
     282        Column('specification', TEXT() , nullable=True), 
     283        Column('fileDecompressionTechnique', TEXT() , nullable=True), 
     284        Column('version', TEXT() , nullable=False), 
     285Column('t_type', String(30), nullable=False, default='md_format'), 
     286        extend_existing=False,) 
     287  
     288  
     289 
     290 
     291 
     292 
     293 
    686294 
    687295 
     
    693301        Column('dq_result_id', Integer, Sequence('dq_result_id_seq'), primary_key=True), 
    694302        Column('dq_element_result', Integer, ForeignKey('dq_element.dq_element_id')), 
    695                         extend_existing=False,) 
    696   
    697   
     303Column('t_type', String(30), nullable=False, default='dq_result'), 
     304        extend_existing=False,) 
     305  
     306  
     307 
     308 
     309 
     310 
     311 
     312 
     313 
     314 
     315 
     316 
     317 
     318clocktime_table = Table('clocktime', metadata, 
     319        Column('clocktime_id', Integer, Sequence('clocktime_id_seq'), primary_key=True), 
     320        Column('second', TEXT() , nullable=True), 
     321        Column('timeZone', TEXT() , nullable=True), 
     322        Column('minute', TEXT() , nullable=True), 
     323        Column('hour', TEXT() , nullable=False), 
     324Column('t_type', String(30), nullable=False, default='clocktime'), 
     325        extend_existing=False,) 
     326  
     327  
     328 
     329 
     330 
     331 
     332 
     333 
     334 
     335 
     336 
     337 
     338 
     339unitofmeasure_table = Table('unitofmeasure', metadata, 
     340        Column('unitofmeasure_id', Integer, Sequence('unitofmeasure_id_seq'), primary_key=True), 
     341        Column('scaleToStandardUnit', NUMERIC() , nullable=True), 
     342        Column('nameStandardUnit', TEXT() , nullable=True), 
     343        Column('uomName', TEXT() , nullable=False), 
     344        Column('formula', TEXT() , nullable=True), 
     345        Column('uomSymbol', TEXT() , nullable=False), 
     346        Column('measureType', MeasureType.db_type() , nullable=False), 
     347        Column('offsetToStandardUnit', NUMERIC() , nullable=True), 
     348Column('t_type', String(30), nullable=False, default='unitofmeasure'), 
     349        extend_existing=False,) 
     350  
     351  
     352 
     353 
     354 
     355 
     356 
    698357 
    699358 
     
    705364        Column('md_spatialrepresentation_id', Integer, Sequence('md_spatialrepresentation_id_seq'), primary_key=True), 
    706365        Column('md_metadata_spatialRepresentationInfo', Integer, ForeignKey('md_metadata.md_metadata_id')), 
    707                         extend_existing=False,) 
    708   
    709   
     366Column('t_type', String(30), nullable=False, default='md_spatialrepresentation'), 
     367        extend_existing=False,) 
     368  
     369  
     370 
     371 
     372 
     373 
     374 
     375 
     376 
     377 
     378 
     379 
     380 
     381ci_series_table = Table('ci_series', metadata, 
     382        Column('ci_series_id', Integer, Sequence('ci_series_id_seq'), primary_key=True), 
     383        Column('ci_citation_series', Integer, ForeignKey('ci_citation.ci_citation_id')), 
     384        Column('name', TEXT() , nullable=True), 
     385        Column('page', TEXT() , nullable=True), 
     386        Column('issueIdentification', TEXT() , nullable=True), 
     387Column('t_type', String(30), nullable=False, default='ci_series'), 
     388        extend_existing=False,) 
     389  
     390  
     391 
     392 
     393 
     394 
     395 
    710396 
    711397 
     
    719405        Column('author', ARRAY(TEXT) , nullable=False), 
    720406        Column('title', TEXT() , nullable=False), 
    721                         extend_existing=False,) 
    722   
    723   
    724  
    725  
    726  
    727  
    728  
    729  
    730 scopedname_table = Table('scopedname', metadata, 
    731         Column('scopedname_id', Integer, Sequence('scopedname_id_seq'), primary_key=True), 
    732         Column('mo_instrument_type', Integer, ForeignKey('mo_instrument.mo_instrument_id')), 
    733                 Column('scopedname_genericname_id', Integer),           ForeignKeyConstraint(['scopedname_genericname_id'],  
    734         ['genericname.genericname_id']),                extend_existing=False,) 
    735   
    736   
    737  
    738  
    739  
    740  
    741  
    742  
    743 ci_responsibility_table = Table('ci_responsibility', metadata, 
    744         Column('ci_responsibility_id', Integer, Sequence('ci_responsibility_id_seq'), primary_key=True), 
    745         Column('ci_responsibility_type', String(30), nullable=False), 
    746                         extend_existing=False,) 
    747   
    748   
    749  
    750  
    751  
    752  
    753  
    754  
    755 clocktime_table = Table('clocktime', metadata, 
    756         Column('clocktime_id', Integer, Sequence('clocktime_id_seq'), primary_key=True), 
    757         Column('timeZone', TEXT() , nullable=True), 
    758         Column('second', TEXT() , nullable=True), 
    759         Column('hour', TEXT() , nullable=False), 
    760         Column('minute', TEXT() , nullable=True), 
    761         Column('clocktime_type', String(30), nullable=False), 
    762                         extend_existing=False,) 
    763   
    764   
    765  
    766  
    767  
    768  
    769  
    770  
    771 localname_table = Table('localname', metadata, 
    772         Column('localname_id', Integer, Sequence('localname_id_seq'), primary_key=True), 
    773         Column('gf_propertytype_memberName', Integer, ForeignKey('gf_propertytype.gf_propertytype_id')), 
    774                 Column('localname_genericname_id', Integer),            ForeignKeyConstraint(['localname_genericname_id'],  
    775         ['genericname.genericname_id']),                extend_existing=False,) 
    776   
    777   
    778  
    779  
    780  
    781  
    782  
    783  
    784 om_process_table = Table('om_process', metadata, 
    785         Column('om_process_id', Integer, Sequence('om_process_id_seq'), primary_key=True), 
    786         Column('om_process_type', String(30), nullable=False), 
    787                         extend_existing=False,) 
    788   
    789   
    790  
    791  
    792  
    793  
    794  
    795  
    796 md_format_table = Table('md_format', metadata, 
    797         Column('md_format_id', Integer, Sequence('md_format_id_seq'), primary_key=True), 
    798         Column('md_distribution_distributionFormat', Integer, ForeignKey('md_distribution.md_distribution_id')), 
    799         Column('md_identification_resourceFormat', Integer, ForeignKey('md_identification.md_identification_id')), 
    800         Column('amendmentNumber', TEXT() , nullable=True), 
    801         Column('version', TEXT() , nullable=False), 
    802         Column('name', TEXT() , nullable=False), 
    803         Column('fileDecompressionTechnique', TEXT() , nullable=True), 
    804         Column('specification', TEXT() , nullable=True), 
    805                         extend_existing=False,) 
    806   
    807   
    808  
    809  
    810  
    811  
    812  
    813  
    814 ceda_result_table = Table('ceda_result', metadata, 
    815         Column('ceda_result_id', Integer, Sequence('ceda_result_id_seq'), primary_key=True), 
    816         Column('ceda_observation_result', Integer, ForeignKey('ceda_observation.ceda_observation_id')), 
    817         Column('volume', Integer() , nullable=False), 
    818         Column('numberOfFiles', Integer() , nullable=False), 
    819         Column('internalPath', TEXT() , nullable=False), 
    820         Column('curationCategory', CEDA_CurationValue.db_type() , nullable=False), 
    821                 Column('ceda_result_mo_result_id', Integer),            ForeignKeyConstraint(['ceda_result_mo_result_id'],  
    822         ['mo_result.mo_result_id']),            extend_existing=False,) 
    823   
    824   
     407Column('t_type', String(30), nullable=False, default='ceda_citation'), 
     408        extend_existing=False,) 
     409  
     410  
     411 
     412 
     413 
     414 
     415 
     416 
     417 
     418 
     419 
     420 
     421 
     422md_constraints_table = Table('md_constraints', metadata, 
     423        Column('md_constraints_id', Integer, Sequence('md_constraints_id_seq'), primary_key=True), 
     424        Column('md_metadata_metadataConstraints', Integer, ForeignKey('md_metadata.md_metadata_id')), 
     425        Column('mo_observation_permission', Integer, ForeignKey('mo_observation.mo_observation_id')), 
     426        Column('md_identification_resourceConstraints', Integer, ForeignKey('md_identification.md_identification_id')), 
     427        Column('useLimitation', ARRAY(TEXT) , nullable=True), 
     428Column('t_type', String(30), nullable=False, default='md_constraints'), 
     429        extend_existing=False,) 
     430  
     431  
     432 
     433 
     434 
     435 
     436 
    825437 
    826438 
     
    832444        Column('md_contentinformation_id', Integer, Sequence('md_contentinformation_id_seq'), primary_key=True), 
    833445        Column('md_metadata_contentInfo', Integer, ForeignKey('md_metadata.md_metadata_id')), 
    834                         extend_existing=False,) 
    835   
    836   
    837  
    838  
    839  
    840  
    841  
    842  
    843 io_identifiedobjectbase_table = Table('io_identifiedobjectbase', metadata, 
    844         Column('io_identifiedobjectbase_id', Integer, Sequence('io_identifiedobjectbase_id_seq'), primary_key=True), 
    845         Column('remarks', TEXT() , nullable=True), 
    846         Column('io_identifiedobjectbase_type', String(30), nullable=False), 
    847                         extend_existing=False,) 
    848   
    849   
     446Column('t_type', String(30), nullable=False, default='md_contentinformation'), 
     447        extend_existing=False,) 
     448  
     449  
     450 
     451 
     452 
     453 
     454 
     455 
     456 
     457 
     458 
     459 
     460 
     461measure_table = Table('measure', metadata, 
     462        Column('measure_id', Integer, Sequence('measure_id_seq'), primary_key=True), 
     463        Column('value', NUMERIC() , nullable=False), 
     464Column('t_type', String(30), nullable=False, default='measure'), 
     465        extend_existing=False,) 
     466  
     467  
     468 
     469 
     470 
     471 
     472 
     473 
     474 
     475 
     476 
     477 
     478 
     479gm_object_table = Table('gm_object', metadata, 
     480        Column('gm_object_id', Integer, Sequence('gm_object_id_seq'), primary_key=True), 
     481        Column('mo_location_geometryLocation', Integer, ForeignKey('mo_location.mo_location_id')), 
     482Column('t_type', String(30), nullable=False, default='gm_object'), 
     483        extend_existing=False,) 
     484  
     485  
     486 
     487 
     488 
     489 
     490 
     491 
     492 
     493 
     494 
     495 
     496 
     497tm_temporalposition_table = Table('tm_temporalposition', metadata, 
     498        Column('tm_temporalposition_id', Integer, Sequence('tm_temporalposition_id_seq'), primary_key=True), 
     499        Column('tm_position_anyOther', Integer, ForeignKey('tm_position.tm_position_id')), 
     500        Column('indeterminatePosition', TM_IndeterminateValue.db_type() , nullable=True), 
     501Column('t_type', String(30), nullable=False, default='tm_temporalposition'), 
     502        extend_existing=False,) 
     503  
     504  
     505 
     506 
     507 
     508 
     509 
     510 
     511 
     512 
     513 
     514 
     515 
     516any_table = Table('any', metadata, 
     517        Column('any_id', Integer, Sequence('any_id_seq'), primary_key=True), 
     518        Column('namedvalue_value', Integer, ForeignKey('namedvalue.namedvalue_id')), 
     519        Column('om_observation_result', Integer, ForeignKey('om_observation.om_observation_id')), 
     520Column('t_type', String(30), nullable=False, default='any'), 
     521        extend_existing=False,) 
     522  
     523  
     524 
     525 
     526 
     527 
     528 
     529 
     530 
     531 
     532 
     533 
     534 
     535md_medium_table = Table('md_medium', metadata, 
     536        Column('md_medium_id', Integer, Sequence('md_medium_id_seq'), primary_key=True), 
     537        Column('md_digitaltransferoptions_offLine', Integer, ForeignKey('md_digitaltransferoptions.md_digitaltransferoptions_id')), 
     538        Column('densityUnits', TEXT() , nullable=True), 
     539        Column('volumes', Integer() , nullable=True), 
     540        Column('name', MD_MediumNameCode.db_type() , nullable=True), 
     541        Column('mediumNote', TEXT() , nullable=True), 
     542        Column('mediumFormat', MD_MediumFormatCode.db_type() , nullable=True), 
     543        Column('density', ARRAY(NUMERIC) , nullable=True), 
     544Column('t_type', String(30), nullable=False, default='md_medium'), 
     545        extend_existing=False,) 
     546  
     547  
     548 
     549 
     550 
     551 
     552 
     553 
     554 
     555 
     556 
     557 
     558 
     559ci_telephone_table = Table('ci_telephone', metadata, 
     560        Column('ci_telephone_id', Integer, Sequence('ci_telephone_id_seq'), primary_key=True), 
     561        Column('ci_contact_phone', Integer, ForeignKey('ci_contact.ci_contact_id')), 
     562        Column('voice', ARRAY(TEXT) , nullable=True), 
     563        Column('facsimile', ARRAY(TEXT) , nullable=True), 
     564Column('t_type', String(30), nullable=False, default='ci_telephone'), 
     565        extend_existing=False,) 
     566  
     567  
     568 
     569 
     570 
     571 
     572 
     573 
     574 
     575 
     576 
     577 
     578 
     579tm_duration_table = Table('tm_duration', metadata, 
     580        Column('tm_duration_id', Integer, Sequence('tm_duration_id_seq'), primary_key=True), 
     581Column('t_type', String(30), nullable=False, default='tm_duration'), 
     582        extend_existing=False,) 
     583  
     584  
     585 
     586 
     587 
     588 
     589 
     590 
     591 
     592 
     593 
     594 
     595 
     596ci_address_table = Table('ci_address', metadata, 
     597        Column('ci_address_id', Integer, Sequence('ci_address_id_seq'), primary_key=True), 
     598        Column('ci_contact_address', Integer, ForeignKey('ci_contact.ci_contact_id')), 
     599        Column('country', TEXT() , nullable=True), 
     600        Column('electronicMailAddress', ARRAY(TEXT) , nullable=True), 
     601        Column('administrativeArea', TEXT() , nullable=True), 
     602        Column('city', TEXT() , nullable=True), 
     603        Column('postalCode', TEXT() , nullable=True), 
     604        Column('deliveryPoint', ARRAY(TEXT) , nullable=True), 
     605Column('t_type', String(30), nullable=False, default='ci_address'), 
     606        extend_existing=False,) 
     607  
     608  
     609 
     610 
     611 
     612 
     613 
     614 
     615 
     616 
     617 
     618 
     619 
     620md_scopedescription_table = Table('md_scopedescription', metadata, 
     621        Column('md_scopedescription_id', Integer, Sequence('md_scopedescription_id_seq'), primary_key=True), 
     622        Column('dq_scope_levelDescription', Integer, ForeignKey('dq_scope.dq_scope_id')), 
     623        Column('md_maintenanceinformation_updateScopeDescription', Integer, ForeignKey('md_maintenanceinformation.md_maintenanceinformation_id')), 
     624        Column('other', TEXT() , nullable=False), 
     625        Column('dataset', TEXT() , nullable=False), 
     626Column('t_type', String(30), nullable=False, default='md_scopedescription'), 
     627        extend_existing=False,) 
     628  
     629  
     630 
     631 
     632 
     633 
     634 
     635 
     636 
     637 
     638 
     639 
     640 
     641dateprecision_table = Table('dateprecision', metadata, 
     642        Column('dateprecision_id', Integer, Sequence('dateprecision_id_seq'), primary_key=True), 
     643        Column('date_precision', Integer, ForeignKey('date.date_id')), 
     644        Column('determinationMethod', TEXT() , nullable=False), 
     645        Column('precision', TEXT() , nullable=False), 
     646Column('t_type', String(30), nullable=False, default='dateprecision'), 
     647        extend_existing=False,) 
     648  
     649  
     650 
     651 
     652 
     653 
     654 
     655 
     656 
     657 
     658 
     659 
     660 
     661url_table = Table('url', metadata, 
     662        Column('url_id', Integer, Sequence('url_id_seq'), primary_key=True), 
     663        Column('ci_onlineresource_linkage', Integer, ForeignKey('ci_onlineresource.ci_onlineresource_id')), 
     664Column('t_type', String(30), nullable=False, default='url'), 
     665        extend_existing=False,) 
     666  
     667  
     668 
     669 
     670 
     671 
     672 
     673 
     674 
     675 
     676 
     677 
     678 
     679gf_constraint_table = Table('gf_constraint', metadata, 
     680        Column('gf_constraint_id', Integer, Sequence('gf_constraint_id_seq'), primary_key=True), 
     681        Column('gf_propertytype_constrainedBy', Integer, ForeignKey('gf_propertytype.gf_propertytype_id')), 
     682        Column('description', TEXT() , nullable=False), 
     683Column('t_type', String(30), nullable=False, default='gf_constraint'), 
     684        extend_existing=False,) 
     685  
     686  
     687 
     688 
     689 
     690 
     691 
     692 
     693 
     694 
     695 
     696 
     697 
     698scopedname_table = Table('scopedname', metadata, 
     699        Column('scopedname_id', Integer, Sequence('scopedname_id_seq'), primary_key=True), 
     700                                Column('genericname_id', Integer, ForeignKey('genericname.genericname_id')),    Column('mo_instrument_type', Integer, ForeignKey('mo_instrument.mo_instrument_id')), 
     701Column('t_type', String(30), nullable=False, default='scopedname'), 
     702        extend_existing=False,) 
     703  
     704  
     705 
     706 
     707 
     708 
     709 
     710 
     711 
     712 
     713 
     714 
     715 
     716tm_periodduration_table = Table('tm_periodduration', metadata, 
     717        Column('tm_periodduration_id', Integer, Sequence('tm_periodduration_id_seq'), primary_key=True), 
     718                                Column('tm_duration_id', Integer, ForeignKey('tm_duration.tm_duration_id')),    Column('md_maintenanceinformation_userDefinedMaintenanceFrequency', Integer, ForeignKey('md_maintenanceinformation.md_maintenanceinformation_id')), 
     719        Column('minutes', TEXT() , nullable=True), 
     720        Column('timeIndicator', TEXT() , nullable=True), 
     721        Column('seconds', TEXT() , nullable=True), 
     722        Column('days', TEXT() , nullable=True), 
     723        Column('years', TEXT() , nullable=True), 
     724        Column('designator', TEXT() , nullable=False), 
     725        Column('hours', TEXT() , nullable=True), 
     726        Column('months', TEXT() , nullable=True), 
     727Column('t_type', String(30), nullable=False, default='tm_periodduration'), 
     728        extend_existing=False,) 
     729  
     730  
     731 
     732 
     733 
     734 
     735 
     736 
     737 
     738 
     739 
     740 
     741 
     742namedvalue_table = Table('namedvalue', metadata, 
     743        Column('namedvalue_id', Integer, Sequence('namedvalue_id_seq'), primary_key=True), 
     744        Column('om_observation_parameter', Integer, ForeignKey('om_observation.om_observation_id')), 
     745Column('t_type', String(30), nullable=False, default='namedvalue'), 
     746        extend_existing=False,) 
     747  
     748  
     749 
     750 
     751 
     752 
     753 
     754 
     755 
     756 
     757 
     758 
     759 
     760uomscale_table = Table('uomscale', metadata, 
     761        Column('uomscale_id', Integer, Sequence('uomscale_id_seq'), primary_key=True), 
     762                                Column('unitofmeasure_id', Integer, ForeignKey('unitofmeasure.unitofmeasure_id')),      Column('scale_uom', Integer, ForeignKey('scale.scale_id')), 
     763Column('t_type', String(30), nullable=False, default='uomscale'), 
     764        extend_existing=False,) 
     765  
     766  
     767 
     768 
     769 
     770 
     771 
     772 
     773 
     774 
     775 
     776 
     777 
     778mo_process_table = Table('mo_process', metadata, 
     779        Column('mo_process_id', Integer, Sequence('mo_process_id_seq'), primary_key=True), 
     780                                Column('om_process_id', Integer, ForeignKey('om_process.om_process_id')),Column('t_type', String(30), nullable=False, default='mo_process'), 
     781        extend_existing=False,) 
     782  
     783  
     784 
     785 
     786 
     787 
     788 
     789 
     790 
     791 
     792 
     793 
     794 
     795ci_onlineresource_table = Table('ci_onlineresource', metadata, 
     796        Column('ci_onlineresource_id', Integer, Sequence('ci_onlineresource_id_seq'), primary_key=True), 
     797        Column('md_digitaltransferoptions_onLine', Integer, ForeignKey('md_digitaltransferoptions.md_digitaltransferoptions_id')), 
     798        Column('ci_contact_onlineResource', Integer, ForeignKey('ci_contact.ci_contact_id')), 
     799        Column('md_metadataextensioninformation_extensionOnLineResource', Integer, ForeignKey('md_metadataextensioninformation.md_metadataextensioninformation_id')), 
     800        Column('mo_observationcollection_additionalMetadata', Integer, ForeignKey('mo_observationcollection.mo_observationcollection_id')), 
     801        Column('name', TEXT() , nullable=True), 
     802        Column('description', TEXT() , nullable=True), 
     803        Column('function', CI_OnLineFunctionCode.db_type() , nullable=True), 
     804        Column('protocol', TEXT() , nullable=True), 
     805        Column('applicationProfile', TEXT() , nullable=True), 
     806Column('t_type', String(30), nullable=False, default='ci_onlineresource'), 
     807        extend_existing=False,) 
     808  
     809  
     810 
     811 
     812 
     813 
     814 
     815 
     816 
     817 
     818 
     819 
     820 
     821ceda_process_table = Table('ceda_process', metadata, 
     822        Column('ceda_process_id', Integer, Sequence('ceda_process_id_seq'), primary_key=True), 
     823                                Column('mo_process_id', Integer, ForeignKey('mo_process.mo_process_id')),       Column('ceda_observation_procedure', Integer, ForeignKey('ceda_observation.ceda_observation_id')), 
     824Column('t_type', String(30), nullable=False, default='ceda_process'), 
     825        extend_existing=False,) 
     826  
     827  
     828 
     829 
     830 
     831 
     832 
     833 
     834 
     835 
     836 
     837 
     838 
     839date_table = Table('date', metadata, 
     840        Column('date_id', Integer, Sequence('date_id_seq'), primary_key=True), 
     841        Column('md_metadata_dateStamp', Integer, ForeignKey('md_metadata.md_metadata_id')), 
     842        Column('ci_date_date', Integer, ForeignKey('ci_date.ci_date_id')), 
     843        Column('tm_position_date8601', Integer, ForeignKey('tm_position.tm_position_id')), 
     844        Column('md_maintenanceinformation_dateOfNextUpdate', Integer, ForeignKey('md_maintenanceinformation.md_maintenanceinformation_id')), 
     845        Column('ci_citation_editionDate', Integer, ForeignKey('ci_citation.ci_citation_id')), 
     846        Column('year', TEXT() , nullable=True), 
     847        Column('century', TEXT() , nullable=False), 
     848        Column('day', TEXT() , nullable=True), 
     849        Column('month', TEXT() , nullable=True), 
     850Column('t_type', String(30), nullable=False, default='date'), 
     851        extend_existing=False,) 
     852  
     853  
     854 
     855 
     856 
     857 
     858 
     859 
     860 
     861 
     862 
     863 
     864 
     865localname_table = Table('localname', metadata, 
     866        Column('localname_id', Integer, Sequence('localname_id_seq'), primary_key=True), 
     867                                Column('genericname_id', Integer, ForeignKey('genericname.genericname_id')),    Column('gf_propertytype_memberName', Integer, ForeignKey('gf_propertytype.gf_propertytype_id')), 
     868Column('t_type', String(30), nullable=False, default='localname'), 
     869        extend_existing=False,) 
     870  
     871  
     872 
     873 
     874 
     875 
     876 
    850877 
    851878 
     
    858885        Column('om_observation_observedProperty', Integer, ForeignKey('om_observation.om_observation_id')), 
    859886        Column('definition', TEXT() , nullable=False), 
    860                         extend_existing=False,) 
    861   
    862   
    863  
    864  
    865  
    866  
    867  
    868  
    869 mo_result_table = Table('mo_result', metadata, 
    870         Column('mo_result_id', Integer, Sequence('mo_result_id_seq'), primary_key=True), 
    871         Column('mo_observation_result', Integer, ForeignKey('mo_observation.mo_observation_id')), 
    872         Column('mo_result_type', String(30), nullable=False), 
    873                         extend_existing=False,) 
    874   
    875   
    876  
    877  
    878  
    879  
    880  
    881  
    882 length_table = Table('length', metadata, 
    883         Column('length_id', Integer, Sequence('length_id_seq'), primary_key=True), 
    884         Column('length_type', String(30), nullable=False), 
    885                 Column('length_measure_id', Integer),           ForeignKeyConstraint(['length_measure_id'],  
    886         ['measure.measure_id']),                extend_existing=False,) 
    887   
    888   
    889  
    890  
    891  
    892  
    893  
    894  
    895 md_standardorderprocess_table = Table('md_standardorderprocess', metadata, 
    896         Column('md_standardorderprocess_id', Integer, Sequence('md_standardorderprocess_id_seq'), primary_key=True), 
    897         Column('md_distributor_distributionOrderProcess', Integer, ForeignKey('md_distributor.md_distributor_id')), 
    898         Column('turnaround', TEXT() , nullable=True), 
    899         Column('fees', TEXT() , nullable=True), 
    900         Column('orderingInstructions', TEXT() , nullable=True), 
    901                         extend_existing=False,) 
    902   
    903   
    904  
    905  
    906  
    907  
    908  
    909  
    910 date_table = Table('date', metadata, 
    911         Column('date_id', Integer, Sequence('date_id_seq'), primary_key=True), 
    912         Column('tm_position_date8601', Integer, ForeignKey('tm_position.tm_position_id')), 
    913         Column('ci_date_date', Integer, ForeignKey('ci_date.ci_date_id')), 
    914         Column('ci_citation_editionDate', Integer, ForeignKey('ci_citation.ci_citation_id')), 
    915         Column('md_maintenanceinformation_dateOfNextUpdate', Integer, ForeignKey('md_maintenanceinformation.md_maintenanceinformation_id')), 
    916         Column('md_metadata_dateStamp', Integer, ForeignKey('md_metadata.md_metadata_id')), 
    917         Column('month', TEXT() , nullable=True), 
    918         Column('day', TEXT() , nullable=True), 
    919         Column('century', TEXT() , nullable=False), 
    920         Column('year', TEXT() , nullable=True), 
    921         Column('date_type', String(30), nullable=False), 
    922                         extend_existing=False,) 
    923   
    924   
    925  
    926  
    927  
    928  
    929  
    930  
    931 ci_onlineresource_table = Table('ci_onlineresource', metadata, 
    932         Column('ci_onlineresource_id', Integer, Sequence('ci_onlineresource_id_seq'), primary_key=True), 
    933         Column('md_metadataextensioninformation_extensionOnLineResource', Integer, ForeignKey('md_metadataextensioninformation.md_metadataextensioninformation_id')), 
    934         Column('mo_observationcollection_additionalMetadata', Integer, ForeignKey('mo_observationcollection.mo_observationcollection_id')), 
    935         Column('md_digitaltransferoptions_onLine', Integer, ForeignKey('md_digitaltransferoptions.md_digitaltransferoptions_id')), 
    936         Column('ci_contact_onlineResource', Integer, ForeignKey('ci_contact.ci_contact_id')), 
    937         Column('applicationProfile', TEXT() , nullable=True), 
    938         Column('name', TEXT() , nullable=True), 
    939         Column('function', CI_OnLineFunctionCode.db_type() , nullable=True), 
    940         Column('protocol', TEXT() , nullable=True), 
    941         Column('description', TEXT() , nullable=True), 
    942         Column('ci_onlineresource_type', String(30), nullable=False), 
    943                         extend_existing=False,) 
    944   
    945   
    946  
    947  
    948  
    949  
    950  
    951  
    952 namedvalue_table = Table('namedvalue', metadata, 
    953         Column('namedvalue_id', Integer, Sequence('namedvalue_id_seq'), primary_key=True), 
    954         Column('om_observation_parameter', Integer, ForeignKey('om_observation.om_observation_id')), 
    955                         extend_existing=False,) 
    956   
    957   
     887Column('t_type', String(30), nullable=False, default='gf_propertytype'), 
     888        extend_existing=False,) 
     889  
     890  
     891 
     892 
     893 
     894 
     895 
     896 
     897 
     898 
     899 
     900 
     901 
     902tm_primitive_table = Table('tm_primitive', metadata, 
     903        Column('tm_primitive_id', Integer, Sequence('tm_primitive_id_seq'), primary_key=True), 
     904                                Column('tm_object_id', Integer, ForeignKey('tm_object.tm_object_id')),  Column('ex_temporalextent_extent', Integer, ForeignKey('ex_temporalextent.ex_temporalextent_id')), 
     905Column('t_type', String(30), nullable=False, default='tm_primitive'), 
     906        extend_existing=False,) 
     907  
     908  
     909 
     910 
     911 
     912 
     913 
     914 
     915 
     916 
     917 
     918 
     919 
     920uomlength_table = Table('uomlength', metadata, 
     921        Column('uomlength_id', Integer, Sequence('uomlength_id_seq'), primary_key=True), 
     922                                Column('unitofmeasure_id', Integer, ForeignKey('unitofmeasure.unitofmeasure_id')),      Column('scale_targetUnits', Integer, ForeignKey('scale.scale_id')), 
     923        Column('length_uom', Integer, ForeignKey('length.length_id')), 
     924        Column('scale_sourceUnits', Integer, ForeignKey('scale.scale_id')), 
     925Column('t_type', String(30), nullable=False, default='uomlength'), 
     926        extend_existing=False,) 
     927  
     928  
     929 
     930 
     931 
     932 
     933 
     934 
     935 
     936 
     937 
     938 
     939 
     940time_table = Table('time', metadata, 
     941        Column('time_id', Integer, Sequence('time_id_seq'), primary_key=True), 
     942                                Column('measure_id', Integer, ForeignKey('measure.measure_id')),        Column('tm_position_time8601', Integer, ForeignKey('tm_position.tm_position_id')), 
     943Column('t_type', String(30), nullable=False, default='time'), 
     944        extend_existing=False,) 
     945  
     946  
     947 
     948 
     949 
     950 
     951 
    958952 
    959953 
     
    964958ci_contact_table = Table('ci_contact', metadata, 
    965959        Column('ci_contact_id', Integer, Sequence('ci_contact_id_seq'), primary_key=True), 
     960        Column('ci_party_contactInfo', Integer, ForeignKey('ci_party.ci_party_id')), 
    966961        Column('ci_responsibleparty_contactInfo', Integer, ForeignKey('ci_responsibleparty.ci_responsibleparty_id')), 
    967962        Column('contactInstructions', TEXT() , nullable=True), 
    968963        Column('hoursOfService', TEXT() , nullable=True), 
    969                         extend_existing=False,) 
    970   
    971   
    972  
    973  
    974  
    975  
    976  
    977  
    978 md_referencesystem_table = Table('md_referencesystem', metadata, 
    979         Column('md_referencesystem_id', Integer, Sequence('md_referencesystem_id_seq'), primary_key=True), 
    980         Column('md_metadata_referenceSystemInfo', Integer, ForeignKey('md_metadata.md_metadata_id')), 
    981         Column('li_source_sourceReferenceSystem', Integer, ForeignKey('li_source.li_source_id')), 
    982                         extend_existing=False,) 
    983   
    984   
    985  
    986  
    987  
    988  
    989  
    990  
    991 ex_temporalextent_table = Table('ex_temporalextent', metadata, 
    992         Column('ex_temporalextent_id', Integer, Sequence('ex_temporalextent_id_seq'), primary_key=True), 
    993         Column('ex_extent_temporalElement', Integer, ForeignKey('ex_extent.ex_extent_id')), 
    994                         extend_existing=False,) 
    995   
    996   
    997  
    998  
    999  
    1000  
    1001  
    1002  
    1003 ceda_notes_table = Table('ceda_notes', metadata, 
    1004         Column('ceda_notes_id', Integer, Sequence('ceda_notes_id_seq'), primary_key=True), 
    1005         Column('ceda_review_notes', Integer, ForeignKey('ceda_review.ceda_review_id')), 
    1006         Column('comments', TEXT() , nullable=False), 
    1007                         extend_existing=False,) 
    1008   
    1009   
    1010  
    1011  
    1012  
    1013  
    1014  
    1015  
    1016 le_nominalresolution_table = Table('le_nominalresolution', metadata, 
    1017         Column('le_nominalresolution_id', Integer, Sequence('le_nominalresolution_id_seq'), primary_key=True), 
    1018         Column('le_source_resolution', Integer, ForeignKey('le_source.le_source_id')), 
    1019                         extend_existing=False,) 
    1020   
    1021   
    1022  
    1023  
    1024  
    1025  
    1026  
    1027  
    1028 tm_position_table = Table('tm_position', metadata, 
    1029         Column('tm_position_id', Integer, Sequence('tm_position_id_seq'), primary_key=True), 
    1030         Column('tm_instant_position', Integer, ForeignKey('tm_instant.tm_instant_id')), 
    1031                         extend_existing=False,) 
    1032   
    1033   
    1034  
    1035  
    1036  
    1037  
    1038  
    1039  
    1040 ex_verticalextent_table = Table('ex_verticalextent', metadata, 
    1041         Column('ex_verticalextent_id', Integer, Sequence('ex_verticalextent_id_seq'), primary_key=True), 
    1042         Column('ex_extent_verticalElement', Integer, ForeignKey('ex_extent.ex_extent_id')), 
    1043         Column('mo_observationcollection_verticalExtent', Integer, ForeignKey('mo_observationcollection.mo_observationcollection_id')), 
    1044         Column('mo_observation_verticalExtent', Integer, ForeignKey('mo_observation.mo_observation_id')), 
    1045         Column('minimumValue', NUMERIC() , nullable=False), 
    1046         Column('maximumValue', NUMERIC() , nullable=False), 
    1047                         extend_existing=False,) 
    1048   
    1049   
     964Column('t_type', String(30), nullable=False, default='ci_contact'), 
     965        extend_existing=False,) 
     966  
     967  
     968 
     969 
     970 
     971 
     972 
     973 
     974 
     975 
     976 
     977 
     978 
     979ci_date_table = Table('ci_date', metadata, 
     980        Column('ci_date_id', Integer, Sequence('ci_date_id_seq'), primary_key=True), 
     981        Column('ci_citation_date', Integer, ForeignKey('ci_citation.ci_citation_id')), 
     982        Column('dateType', CI_DateTypeCode.db_type() , nullable=False), 
     983Column('t_type', String(30), nullable=False, default='ci_date'), 
     984        extend_existing=False,) 
     985  
     986  
     987 
     988 
     989 
     990 
     991 
    1050992 
    1051993 
     
    1056998scale_table = Table('scale', metadata, 
    1057999        Column('scale_id', Integer, Sequence('scale_id_seq'), primary_key=True), 
    1058         Column('md_representativefraction_equivalentScale', Integer, ForeignKey('md_representativefraction.md_representativefraction_id')), 
    1059                 Column('scale_measure_id', Integer),            ForeignKeyConstraint(['scale_measure_id'],  
    1060         ['measure.measure_id']),                extend_existing=False,) 
    1061   
    1062   
     1000                                Column('measure_id', Integer, ForeignKey('measure.measure_id')),        Column('md_representativefraction_equivalentScale', Integer, ForeignKey('md_representativefraction.md_representativefraction_id')), 
     1001Column('t_type', String(30), nullable=False, default='scale'), 
     1002        extend_existing=False,) 
     1003  
     1004  
     1005 
     1006 
     1007 
     1008 
     1009 
     1010 
     1011 
     1012 
     1013 
     1014 
     1015 
     1016mo_onlineresource_table = Table('mo_onlineresource', metadata, 
     1017        Column('mo_onlineresource_id', Integer, Sequence('mo_onlineresource_id_seq'), primary_key=True), 
     1018                                Column('ci_onlineresource_id', Integer, ForeignKey('ci_onlineresource.ci_onlineresource_id')),  Column('mo_result_sample', Integer, ForeignKey('mo_result.mo_result_id')), 
     1019        Column('mo_result_source', Integer, ForeignKey('mo_result.mo_result_id')), 
     1020        Column('ceda_project_projectResource', Integer, ForeignKey('ceda_project.ceda_project_id')), 
     1021        Column('applicationProfile', MO_ApplicationProfileValue.db_type() , nullable=False), 
     1022        Column('function', MO_OnLineFunctionValue.db_type() , nullable=False), 
     1023Column('t_type', String(30), nullable=False, default='mo_onlineresource'), 
     1024        extend_existing=False,) 
     1025  
     1026  
     1027 
     1028 
     1029 
     1030 
     1031 
     1032 
     1033 
     1034 
     1035 
     1036 
     1037 
     1038tm_geometricprimitive_table = Table('tm_geometricprimitive', metadata, 
     1039        Column('tm_geometricprimitive_id', Integer, Sequence('tm_geometricprimitive_id_seq'), primary_key=True), 
     1040                                Column('tm_primitive_id', Integer, ForeignKey('tm_primitive.tm_primitive_id')),Column('t_type', String(30), nullable=False, default='tm_geometricprimitive'), 
     1041        extend_existing=False,) 
     1042  
     1043  
     1044 
     1045 
     1046 
     1047 
     1048 
     1049 
     1050 
     1051 
     1052 
     1053 
     1054 
     1055md_digitaltransferoptions_table = Table('md_digitaltransferoptions', metadata, 
     1056        Column('md_digitaltransferoptions_id', Integer, Sequence('md_digitaltransferoptions_id_seq'), primary_key=True), 
     1057        Column('md_distribution_transferOptions', Integer, ForeignKey('md_distribution.md_distribution_id')), 
     1058        Column('md_distributor_distributorTransferOptions', Integer, ForeignKey('md_distributor.md_distributor_id')), 
     1059        Column('transferSize', NUMERIC() , nullable=True), 
     1060        Column('unitsOfDistribution', TEXT() , nullable=True), 
     1061Column('t_type', String(30), nullable=False, default='md_digitaltransferoptions'), 
     1062        extend_existing=False,) 
     1063  
     1064  
     1065 
     1066 
     1067 
     1068 
     1069 
    10631070 
    10641071 
     
    10711078        Column('li_source_scaleDenominator', Integer, ForeignKey('li_source.li_source_id')), 
    10721079        Column('denominator', Integer() , nullable=False), 
    1073                         extend_existing=False,) 
    1074   
    1075   
    1076  
    1077  
    1078  
    1079  
    1080  
    1081  
    1082 ceda_review_table = Table('ceda_review', metadata, 
    1083         Column('ceda_review_id', Integer, Sequence('ceda_review_id_seq'), primary_key=True), 
    1084         Column('ceda_acquisition_review', Integer, ForeignKey('ceda_acquisition.ceda_acquisition_id')), 
    1085         Column('ceda_platform_review', Integer, ForeignKey('ceda_platform.ceda_platform_id')), 
    1086         Column('ceda_observationcollection_review', Integer, ForeignKey('ceda_observationcollection.ceda_observationcollection_id')), 
    1087         Column('ceda_compositeprocess_review', Integer, ForeignKey('ceda_compositeprocess.ceda_compositeprocess_id')), 
    1088         Column('ceda_operation_review', Integer, ForeignKey('ceda_operation.ceda_operation_id')), 
    1089         Column('ceda_project_review', Integer, ForeignKey('ceda_project.ceda_project_id')), 
    1090         Column('ceda_instrument_review', Integer, ForeignKey('ceda_instrument.ceda_instrument_id')), 
    1091         Column('ceda_observation_internalReview', Integer, ForeignKey('ceda_observation.ceda_observation_id')), 
    1092         Column('ceda_processing_review', Integer, ForeignKey('ceda_processing.ceda_processing_id')), 
    1093         Column('reviewFrequency', CEDA_ReviewFrequencyValue.db_type() , nullable=False), 
    1094         Column('reviewStatus', CEDA_ReviewStatusValue.db_type() , nullable=False), 
    1095                         extend_existing=False,) 
    1096   
    1097   
    1098  
    1099  
    1100  
    1101  
    1102  
    1103  
    1104 ex_extent_table = Table('ex_extent', metadata, 
    1105         Column('ex_extent_id', Integer, Sequence('ex_extent_id_seq'), primary_key=True), 
    1106         Column('rs_referencesystem_domainOfValidity', Integer, ForeignKey('rs_referencesystem.rs_referencesystem_id')), 
    1107         Column('li_source_sourceExtent', Integer, ForeignKey('li_source.li_source_id')), 
    1108         Column('dq_scope_extent', Integer, ForeignKey('dq_scope.dq_scope_id')), 
    1109         Column('description', TEXT() , nullable=True), 
    1110                         extend_existing=False,) 
    1111   
    1112   
    1113  
    1114  
    1115  
    1116  
    1117  
    1118  
    1119 ci_date_table = Table('ci_date', metadata, 
    1120         Column('ci_date_id', Integer, Sequence('ci_date_id_seq'), primary_key=True), 
    1121         Column('ci_citation_date', Integer, ForeignKey('ci_citation.ci_citation_id')), 
    1122         Column('dateType', CI_DateTypeCode.db_type() , nullable=False), 
    1123                         extend_existing=False,) 
    1124   
    1125   
    1126  
    1127  
    1128  
    1129  
    1130  
    1131  
    1132 md_digitaltransferoptions_table = Table('md_digitaltransferoptions', metadata, 
    1133         Column('md_digitaltransferoptions_id', Integer, Sequence('md_digitaltransferoptions_id_seq'), primary_key=True), 
    1134         Column('md_distribution_transferOptions', Integer, ForeignKey('md_distribution.md_distribution_id')), 
    1135         Column('md_distributor_distributorTransferOptions', Integer, ForeignKey('md_distributor.md_distributor_id')), 
    1136         Column('unitsOfDistribution', TEXT() , nullable=True), 
    1137         Column('transferSize', NUMERIC() , nullable=True), 
    1138                         extend_existing=False,) 
    1139   
    1140   
    1141  
    1142  
    1143  
    1144  
    1145  
    1146  
    1147 tm_instant_table = Table('tm_instant', metadata, 
    1148         Column('tm_instant_id', Integer, Sequence('tm_instant_id_seq'), primary_key=True), 
    1149         Column('om_observation_resultTime', Integer, ForeignKey('om_observation.om_observation_id')), 
    1150                 Column('tm_instant_tm_geometricprimitive_id', Integer),         ForeignKeyConstraint(['tm_instant_tm_geometricprimitive_id'],  
    1151         ['tm_geometricprimitive.tm_geometricprimitive_id']),            extend_existing=False,) 
    1152   
    1153   
    1154  
    1155  
    1156  
    1157  
    1158  
    1159  
    1160 rs_referencesystem_table = Table('rs_referencesystem', metadata, 
    1161         Column('rs_referencesystem_id', Integer, Sequence('rs_referencesystem_id_seq'), primary_key=True), 
    1162         Column('rs_referencesystem_type', String(30), nullable=False), 
    1163                         extend_existing=False,) 
    1164   
    1165   
     1080Column('t_type', String(30), nullable=False, default='md_representativefraction'), 
     1081        extend_existing=False,) 
     1082  
     1083  
     1084 
     1085 
     1086 
     1087 
     1088 
     1089 
     1090 
     1091 
     1092 
     1093 
     1094 
     1095ex_temporalextent_table = Table('ex_temporalextent', metadata, 
     1096        Column('ex_temporalextent_id', Integer, Sequence('ex_temporalextent_id_seq'), primary_key=True), 
     1097        Column('ex_extent_temporalElement', Integer, ForeignKey('ex_extent.ex_extent_id')), 
     1098Column('t_type', String(30), nullable=False, default='ex_temporalextent'), 
     1099        extend_existing=False,) 
     1100  
     1101  
     1102 
     1103 
     1104 
     1105 
     1106 
     1107 
     1108 
     1109 
     1110 
     1111 
     1112 
     1113tm_period_table = Table('tm_period', metadata, 
     1114        Column('tm_period_id', Integer, Sequence('tm_period_id_seq'), primary_key=True), 
     1115                                Column('tm_geometricprimitive_id', Integer, ForeignKey('tm_geometricprimitive.tm_geometricprimitive_id')),      Column('om_observation_validTime', Integer, ForeignKey('om_observation.om_observation_id')), 
     1116Column('t_type', String(30), nullable=False, default='tm_period'), 
     1117        extend_existing=False,) 
     1118  
     1119  
     1120 
     1121 
     1122 
     1123 
     1124 
     1125 
     1126 
     1127 
     1128 
     1129 
     1130 
     1131datetime_table = Table('datetime', metadata, 
     1132        Column('datetime_id', Integer, Sequence('datetime_id_seq'), primary_key=True), 
     1133                                Column('clocktime_id', Integer, ForeignKey('clocktime.clocktime_id')),                  Column('date_id', Integer, ForeignKey('date.date_id')), Column('dq_element_dateTime', Integer, ForeignKey('dq_element.dq_element_id')), 
     1134        Column('md_usage_usageDateTime', Integer, ForeignKey('md_usage.md_usage_id')), 
     1135        Column('ceda_notes_date', Integer, ForeignKey('ceda_notes.ceda_notes_id')), 
     1136        Column('md_standardorderprocess_plannedAvailableDateTime', Integer, ForeignKey('md_standardorderprocess.md_standardorderprocess_id')), 
     1137        Column('tm_position_dateTime8601', Integer, ForeignKey('tm_position.tm_position_id')), 
     1138        Column('li_processstep_dateTime', Integer, ForeignKey('li_processstep.li_processstep_id')), 
     1139Column('t_type', String(30), nullable=False, default='datetime'), 
     1140        extend_existing=False,) 
     1141  
     1142  
     1143 
     1144 
     1145 
     1146 
     1147 
     1148 
     1149 
     1150 
     1151 
     1152 
     1153 
     1154length_table = Table('length', metadata, 
     1155        Column('length_id', Integer, Sequence('length_id_seq'), primary_key=True), 
     1156                                Column('measure_id', Integer, ForeignKey('measure.measure_id')),Column('t_type', String(30), nullable=False, default='length'), 
     1157        extend_existing=False,) 
     1158  
     1159  
     1160 
     1161 
     1162 
     1163 
     1164 
     1165 
     1166 
     1167 
     1168 
     1169 
     1170 
     1171distance_table = Table('distance', metadata, 
     1172        Column('distance_id', Integer, Sequence('distance_id_seq'), primary_key=True), 
     1173                                Column('length_id', Integer, ForeignKey('length.length_id')),   Column('le_nominalresolution_scanningResolution', Integer, ForeignKey('le_nominalresolution.le_nominalresolution_id')), 
     1174        Column('le_nominalresolution_groundResolution', Integer, ForeignKey('le_nominalresolution.le_nominalresolution_id')), 
     1175Column('t_type', String(30), nullable=False, default='distance'), 
     1176        extend_existing=False,) 
     1177  
     1178  
     1179 
     1180 
     1181 
     1182 
     1183 
     1184 
     1185 
     1186 
     1187 
     1188 
     1189 
     1190tm_position_table = Table('tm_position', metadata, 
     1191        Column('tm_position_id', Integer, Sequence('tm_position_id_seq'), primary_key=True), 
     1192        Column('tm_instant_position', Integer, ForeignKey('tm_instant.tm_instant_id')), 
     1193Column('t_type', String(30), nullable=False, default='tm_position'), 
     1194        extend_existing=False,) 
     1195  
     1196  
     1197 
     1198 
     1199 
     1200 
     1201 
    11661202 
    11671203 
     
    11741210        Column('md_identification_pointOfContact', Integer, ForeignKey('md_identification.md_identification_id')), 
    11751211        Column('md_usage_userContactInfo', Integer, ForeignKey('md_usage.md_usage_id')), 
    1176         Column('md_metadata_contact', Integer, ForeignKey('md_metadata.md_metadata_id')), 
    1177         Column('ci_citation_citedResponsibleParty', Integer, ForeignKey('ci_citation.ci_citation_id')), 
    11781212        Column('li_processstep_processor', Integer, ForeignKey('li_processstep.li_processstep_id')), 
    11791213        Column('md_maintenanceinformation_contact', Integer, ForeignKey('md_maintenanceinformation.md_maintenanceinformation_id')), 
     1214        Column('md_distributor_distributorContact', Integer, ForeignKey('md_distributor.md_distributor_id')), 
     1215        Column('ci_citation_citedResponsibleParty', Integer, ForeignKey('ci_citation.ci_citation_id')), 
     1216        Column('md_metadata_contact', Integer, ForeignKey('md_metadata.md_metadata_id')), 
    11801217        Column('md_extendedelementinformation_source', Integer, ForeignKey('md_extendedelementinformation.md_extendedelementinformation_id')), 
    1181         Column('md_distributor_distributorContact', Integer, ForeignKey('md_distributor.md_distributor_id')), 
     1218        Column('organisationName', TEXT() , nullable=True), 
     1219        Column('role', CI_RoleCode.db_type() , nullable=False), 
    11821220        Column('individualName', TEXT() , nullable=True), 
    11831221        Column('positionName', TEXT() , nullable=True), 
    1184         Column('role', CI_RoleCode.db_type() , nullable=False), 
    1185         Column('organisationName', TEXT() , nullable=True), 
    1186                         extend_existing=False,) 
    1187   
    1188   
    1189  
    1190  
    1191  
    1192  
    1193  
    1194  
    1195 ci_citation_table = Table('ci_citation', metadata, 
    1196         Column('ci_citation_id', Integer, Sequence('ci_citation_id_seq'), primary_key=True), 
    1197         Column('mo_acquisition_documentation', Integer, ForeignKey('mo_acquisition.mo_acquisition_id')), 
    1198         Column('li_source_sourceCitation', Integer, ForeignKey('li_source.li_source_id')), 
    1199         Column('md_keywords_thesaurusName', Integer, ForeignKey('md_keywords.md_keywords_id')), 
    1200         Column('le_algorithm_citation', Integer, ForeignKey('le_algorithm.le_algorithm_id')), 
    1201         Column('md_portrayalcataloguereference_portrayalCatalogueCitation', Integer, ForeignKey('md_portrayalcataloguereference.md_portrayalcataloguereference_id')), 
    1202         Column('mo_operation_documentation', Integer, ForeignKey('mo_operation.mo_operation_id')), 
    1203         Column('mo_processing_softwareReference', Integer, ForeignKey('mo_processing.mo_processing_id')), 
    1204         Column('mo_processing_documentation', Integer, ForeignKey('mo_processing.mo_processing_id')), 
    1205         Column('md_applicationschemainformation_name', Integer, ForeignKey('md_applicationschemainformation.md_applicationschemainformation_id')), 
    1206         Column('mo_platform_documentation', Integer, ForeignKey('mo_platform.mo_platform_id')), 
    1207         Column('md_aggregateinformation_aggregateDataSetName', Integer, ForeignKey('md_aggregateinformation.md_aggregateinformation_id')), 
    1208         Column('md_identification_citation', Integer, ForeignKey('md_identification.md_identification_id')), 
    1209         Column('mo_observation_documentation', Integer, ForeignKey('mo_observation.mo_observation_id')), 
    1210         Column('dq_element_evaluationProcedure', Integer, ForeignKey('dq_element.dq_element_id')), 
    1211         Column('mo_project_dmp', Integer, ForeignKey('mo_project.mo_project_id')), 
    1212         Column('mo_project_documentation', Integer, ForeignKey('mo_project.mo_project_id')), 
    1213         Column('mo_instrument_documentation', Integer, ForeignKey('mo_instrument.mo_instrument_id')), 
    1214         Column('mo_compositeprocess_documentation', Integer, ForeignKey('mo_compositeprocess.mo_compositeprocess_id')), 
    1215         Column('edition', TEXT() , nullable=True), 
    1216         Column('presentationForm', CI_PresentationFormCode.db_type() , nullable=True), 
    1217         Column('collectiveTitle', TEXT() , nullable=True), 
    1218         Column('alternateTitle', ARRAY(TEXT) , nullable=True), 
    1219         Column('ISBN', TEXT() , nullable=True), 
    1220         Column('otherCitationDetails', TEXT() , nullable=True), 
    1221         Column('title', TEXT() , nullable=False), 
    1222         Column('ISSN', TEXT() , nullable=True), 
    1223                         extend_existing=False,) 
    1224   
    1225   
    1226  
    1227  
    1228  
    1229  
    1230  
    1231  
    1232 md_extendedelementinformation_table = Table('md_extendedelementinformation', metadata, 
    1233         Column('md_extendedelementinformation_id', Integer, Sequence('md_extendedelementinformation_id_seq'), primary_key=True), 
    1234         Column('md_metadataextensioninformation_extendedElementInformation', Integer, ForeignKey('md_metadataextensioninformation.md_metadataextensioninformation_id')), 
    1235         Column('condition', TEXT() , nullable=True), 
    1236         Column('domainCode', Integer() , nullable=True), 
    1237         Column('definition', TEXT() , nullable=False), 
    1238         Column('rule', TEXT() , nullable=False), 
    1239         Column('domainValue', TEXT() , nullable=True), 
    1240         Column('maximumOccurrence', TEXT() , nullable=True), 
    1241         Column('name', TEXT() , nullable=False), 
    1242         Column('shortName', TEXT() , nullable=True), 
    1243         Column('obligation', MD_ObligationCode.db_type() , nullable=True), 
    1244         Column('rationale', ARRAY(TEXT) , nullable=True), 
    1245         Column('parentEntity', ARRAY(TEXT) , nullable=False), 
    1246         Column('dataType', MD_DatatypeCode.db_type() , nullable=False), 
    1247                         extend_existing=False,) 
    1248   
    1249   
    1250  
    1251  
    1252  
    1253  
    1254  
    1255  
    1256 md_metadataextensioninformation_table = Table('md_metadataextensioninformation', metadata, 
    1257         Column('md_metadataextensioninformation_id', Integer, Sequence('md_metadataextensioninformation_id_seq'), primary_key=True), 
    1258         Column('md_metadata_metadataExtensionInfo', Integer, ForeignKey('md_metadata.md_metadata_id')), 
    1259                         extend_existing=False,) 
    1260   
    1261   
    1262  
    1263  
    1264  
    1265  
    1266  
    1267  
    1268 dq_scope_table = Table('dq_scope', metadata, 
    1269         Column('dq_scope_id', Integer, Sequence('dq_scope_id_seq'), primary_key=True), 
    1270         Column('dq_dataquality_scope', Integer, ForeignKey('dq_dataquality.dq_dataquality_id')), 
    1271         Column('level', MD_ScopeCode.db_type() , nullable=False), 
    1272                         extend_existing=False,) 
    1273   
    1274   
    1275  
    1276  
    1277  
    1278  
    1279  
    1280  
    1281 le_algorithm_table = Table('le_algorithm', metadata, 
    1282         Column('le_algorithm_id', Integer, Sequence('le_algorithm_id_seq'), primary_key=True), 
    1283         Column('mo_processing_algorithm', Integer, ForeignKey('mo_processing.mo_processing_id')), 
    1284         Column('description', TEXT() , nullable=False), 
    1285                         extend_existing=False,) 
    1286   
    1287   
    1288  
    1289  
    1290  
    1291  
    1292  
    1293  
    1294 md_keywords_table = Table('md_keywords', metadata, 
    1295         Column('md_keywords_id', Integer, Sequence('md_keywords_id_seq'), primary_key=True), 
    1296         Column('md_identification_descriptiveKeywords', Integer, ForeignKey('md_identification.md_identification_id')), 
    1297         Column('mo_project_keywords', Integer, ForeignKey('mo_project.mo_project_id')), 
    1298         Column('ceda_observation_keywords', Integer, ForeignKey('ceda_observation.ceda_observation_id')), 
    1299         Column('type', MD_KeywordTypeCode.db_type() , nullable=True), 
    1300         Column('keyword', ARRAY(TEXT) , nullable=False), 
    1301                         extend_existing=False,) 
    1302   
    1303   
    1304  
    1305  
    1306  
    1307  
    1308  
    1309  
    1310 md_identifier_table = Table('md_identifier', metadata, 
    1311         Column('md_identifier_id', Integer, Sequence('md_identifier_id_seq'), primary_key=True), 
    1312         Column('le_source_processedLevel', Integer, ForeignKey('le_source.le_source_id')), 
    1313         Column('mo_observation_identifier', Integer, ForeignKey('mo_observation.mo_observation_id')), 
    1314         Column('mo_operation_identifier', Integer, ForeignKey('mo_operation.mo_operation_id')), 
    1315         Column('md_aggregateinformation_aggregateDataSetIdentifier', Integer, ForeignKey('md_aggregateinformation.md_aggregateinformation_id')), 
    1316         Column('mo_compositeprocess_identifier', Integer, ForeignKey('mo_compositeprocess.mo_compositeprocess_id')), 
    1317         Column('mo_acquisition_identifier', Integer, ForeignKey('mo_acquisition.mo_acquisition_id')), 
    1318         Column('mo_project_identifier', Integer, ForeignKey('mo_project.mo_project_id')), 
    1319         Column('mo_instrument_identifier', Integer, ForeignKey('mo_instrument.mo_instrument_id')), 
    1320         Column('mo_processing_identifier', Integer, ForeignKey('mo_processing.mo_processing_id')), 
    1321         Column('dq_element_measureIdentification', Integer, ForeignKey('dq_element.dq_element_id')), 
    1322         Column('mo_platform_identifier', Integer, ForeignKey('mo_platform.mo_platform_id')), 
    1323         Column('mo_observationcollection_identifier', Integer, ForeignKey('mo_observationcollection.mo_observationcollection_id')), 
    1324         Column('ex_geographicdescription_geographicIdentifier', Integer, ForeignKey('ex_geographicdescription.ex_geographicdescription_id')), 
    1325         Column('code', TEXT() , nullable=False), 
    1326         Column('md_identifier_type', String(30), nullable=False), 
    1327                         extend_existing=False,) 
    1328   
    1329   
     1222Column('t_type', String(30), nullable=False, default='ci_responsibleparty'), 
     1223        extend_existing=False,) 
     1224  
     1225  
     1226 
     1227 
     1228 
     1229 
     1230 
     1231 
     1232 
     1233 
     1234 
     1235 
     1236 
     1237ci_party_table = Table('ci_party', metadata, 
     1238        Column('ci_party_id', Integer, Sequence('ci_party_id_seq'), primary_key=True), 
     1239        Column('ci_responsibility_party', Integer, ForeignKey('ci_responsibility.ci_responsibility_id')), 
     1240        Column('name', TEXT() , nullable=True), 
     1241Column('t_type', String(30), nullable=False, default='ci_party'), 
     1242        extend_existing=False,) 
     1243  
     1244  
     1245 
     1246 
     1247 
     1248 
     1249 
     1250 
     1251 
     1252 
     1253 
     1254 
     1255 
     1256ci_individual_table = Table('ci_individual', metadata, 
     1257        Column('ci_individual_id', Integer, Sequence('ci_individual_id_seq'), primary_key=True), 
     1258                                Column('ci_party_id', Integer, ForeignKey('ci_party.ci_party_id')),     Column('ci_organisation_individual', Integer, ForeignKey('ci_organisation.ci_organisation_id')), 
     1259        Column('positionName', TEXT() , nullable=True), 
     1260Column('t_type', String(30), nullable=False, default='ci_individual'), 
     1261        extend_existing=False,) 
     1262  
     1263  
     1264 
     1265 
     1266 
     1267 
     1268 
     1269 
     1270 
     1271 
     1272 
     1273 
     1274 
     1275mo_computation_table = Table('mo_computation', metadata, 
     1276        Column('mo_computation_id', Integer, Sequence('mo_computation_id_seq'), primary_key=True), 
     1277                                Column('mo_process_id', Integer, ForeignKey('mo_process.mo_process_id')),       Column('mo_compositeprocess_computationComponent', Integer, ForeignKey('mo_compositeprocess.mo_compositeprocess_id')), 
     1278Column('t_type', String(30), nullable=False, default='mo_computation'), 
     1279        extend_existing=False,) 
     1280  
     1281  
     1282 
     1283 
     1284 
     1285 
     1286 
     1287 
     1288 
     1289 
     1290 
     1291 
     1292 
     1293le_nominalresolution_table = Table('le_nominalresolution', metadata, 
     1294        Column('le_nominalresolution_id', Integer, Sequence('le_nominalresolution_id_seq'), primary_key=True), 
     1295        Column('le_source_resolution', Integer, ForeignKey('le_source.le_source_id')), 
     1296Column('t_type', String(30), nullable=False, default='le_nominalresolution'), 
     1297        extend_existing=False,) 
     1298  
     1299  
     1300 
     1301 
     1302 
     1303 
     1304 
     1305 
     1306 
     1307 
     1308 
     1309 
     1310 
     1311tm_instant_table = Table('tm_instant', metadata, 
     1312        Column('tm_instant_id', Integer, Sequence('tm_instant_id_seq'), primary_key=True), 
     1313                                Column('tm_geometricprimitive_id', Integer, ForeignKey('tm_geometricprimitive.tm_geometricprimitive_id')),      Column('om_observation_resultTime', Integer, ForeignKey('om_observation.om_observation_id')), 
     1314Column('t_type', String(30), nullable=False, default='tm_instant'), 
     1315        extend_existing=False,) 
     1316  
     1317  
     1318 
     1319 
     1320 
     1321 
     1322 
    13301323 
    13311324 
     
    13391332        Column('specificUsage', TEXT() , nullable=False), 
    13401333        Column('userDeterminedLimitations', TEXT() , nullable=True), 
    1341                         extend_existing=False,) 
    1342   
    1343   
    1344  
    1345  
    1346  
    1347  
    1348  
    1349  
    1350 md_portrayalcataloguereference_table = Table('md_portrayalcataloguereference', metadata, 
    1351         Column('md_portrayalcataloguereference_id', Integer, Sequence('md_portrayalcataloguereference_id_seq'), primary_key=True), 
    1352         Column('md_metadata_portrayalCatalogueInfo', Integer, ForeignKey('md_metadata.md_metadata_id')), 
    1353                         extend_existing=False,) 
    1354   
    1355   
    1356  
    1357  
    1358  
    1359  
    1360  
    1361  
    1362 mo_instrument_table = Table('mo_instrument', metadata, 
    1363         Column('mo_instrument_id', Integer, Sequence('mo_instrument_id_seq'), primary_key=True), 
    1364         Column('mo_acquisition_instrument', Integer, ForeignKey('mo_acquisition.mo_acquisition_id')), 
    1365         Column('mo_instrumentplatformpair_instrument', Integer, ForeignKey('mo_instrumentplatformpair.mo_instrumentplatformpair_id')), 
    1366         Column('description', TEXT() , nullable=True), 
    1367         Column('mo_instrument_type', String(30), nullable=False), 
    1368                         extend_existing=False,) 
    1369   
    1370   
    1371  
    1372  
    1373  
    1374  
    1375  
    1376  
    1377 md_applicationschemainformation_table = Table('md_applicationschemainformation', metadata, 
    1378         Column('md_applicationschemainformation_id', Integer, Sequence('md_applicationschemainformation_id_seq'), primary_key=True), 
    1379         Column('md_metadata_applicationSchemaInfo', Integer, ForeignKey('md_metadata.md_metadata_id')), 
    1380         Column('constraintLanguage', TEXT() , nullable=False), 
    1381         Column('schemaLanguage', TEXT() , nullable=False), 
    1382         Column('softwareDevelopmentFileFormat', TEXT() , nullable=True), 
    1383         Column('schemaAscii', TEXT() , nullable=True), 
    1384                         extend_existing=False,) 
    1385   
    1386   
    1387  
    1388  
    1389  
    1390  
    1391  
    1392  
    1393 li_source_table = Table('li_source', metadata, 
    1394         Column('li_source_id', Integer, Sequence('li_source_id_seq'), primary_key=True), 
    1395         Column('li_lineage_source', Integer, ForeignKey('li_lineage.li_lineage_id')), 
    1396         Column('description', TEXT() , nullable=True), 
    1397         Column('li_source_type', String(30), nullable=False), 
    1398                         extend_existing=False,) 
    1399   
    1400   
    1401  
    1402  
    1403  
    1404  
    1405  
    1406  
    1407 md_aggregateinformation_table = Table('md_aggregateinformation', metadata, 
    1408         Column('md_aggregateinformation_id', Integer, Sequence('md_aggregateinformation_id_seq'), primary_key=True), 
    1409         Column('md_identification_aggregationInfo', Integer, ForeignKey('md_identification.md_identification_id')), 
    1410         Column('associationType', DS_AssociationTypeCode.db_type() , nullable=False), 
    1411         Column('initiativeType', DS_InitiativeTypeCode.db_type() , nullable=True), 
    1412                         extend_existing=False,) 
    1413   
    1414   
    1415  
    1416  
    1417  
    1418  
    1419  
    1420  
    1421 md_distributor_table = Table('md_distributor', metadata, 
    1422         Column('md_distributor_id', Integer, Sequence('md_distributor_id_seq'), primary_key=True), 
    1423         Column('md_distribution_distributor', Integer, ForeignKey('md_distribution.md_distribution_id')), 
    1424                         extend_existing=False,) 
    1425   
    1426   
    1427  
    1428  
    1429  
    1430  
    1431  
    1432  
    1433 dq_element_table = Table('dq_element', metadata, 
    1434         Column('dq_element_id', Integer, Sequence('dq_element_id_seq'), primary_key=True), 
    1435         Column('om_observation_resultQuality', Integer, ForeignKey('om_observation.om_observation_id')), 
    1436         Column('dq_dataquality_report', Integer, ForeignKey('dq_dataquality.dq_dataquality_id')), 
    1437         Column('evaluationMethodType', DQ_EvaluationMethodTypeCode.db_type() , nullable=True), 
    1438         Column('measureDescription', TEXT() , nullable=True), 
    1439         Column('evaluationMethodDescription', TEXT() , nullable=True), 
    1440         Column('nameOfMeasure', ARRAY(TEXT) , nullable=True), 
    1441                         extend_existing=False,) 
    1442   
    1443   
    1444  
    1445  
    1446  
    1447  
    1448  
    1449  
    1450 md_distribution_table = Table('md_distribution', metadata, 
    1451         Column('md_distribution_id', Integer, Sequence('md_distribution_id_seq'), primary_key=True), 
    1452         Column('md_metadata_distributionInfo', Integer, ForeignKey('md_metadata.md_metadata_id')), 
    1453                         extend_existing=False,) 
    1454   
    1455   
     1334Column('t_type', String(30), nullable=False, default='md_usage'), 
     1335        extend_existing=False,) 
     1336  
     1337  
     1338 
     1339 
     1340 
     1341 
     1342 
     1343 
     1344 
     1345 
     1346 
     1347 
     1348 
     1349li_processstep_table = Table('li_processstep', metadata, 
     1350        Column('li_processstep_id', Integer, Sequence('li_processstep_id_seq'), primary_key=True), 
     1351        Column('li_lineage_processStep', Integer, ForeignKey('li_lineage.li_lineage_id')), 
     1352        Column('rationale', TEXT() , nullable=True), 
     1353        Column('description', TEXT() , nullable=False), 
     1354Column('t_type', String(30), nullable=False, default='li_processstep'), 
     1355        extend_existing=False,) 
     1356  
     1357  
     1358 
     1359 
     1360 
     1361 
     1362 
     1363 
     1364 
     1365 
     1366 
     1367 
     1368 
     1369ci_organisation_table = Table('ci_organisation', metadata, 
     1370        Column('ci_organisation_id', Integer, Sequence('ci_organisation_id_seq'), primary_key=True), 
     1371                                Column('ci_party_id', Integer, ForeignKey('ci_party.ci_party_id')),Column('t_type', String(30), nullable=False, default='ci_organisation'), 
     1372        extend_existing=False,) 
     1373  
     1374  
     1375 
     1376 
     1377 
     1378 
     1379 
     1380 
     1381 
     1382 
     1383 
     1384 
     1385 
     1386mo_result_table = Table('mo_result', metadata, 
     1387        Column('mo_result_id', Integer, Sequence('mo_result_id_seq'), primary_key=True), 
     1388        Column('mo_observation_result', Integer, ForeignKey('mo_observation.mo_observation_id')), 
     1389Column('t_type', String(30), nullable=False, default='mo_result'), 
     1390        extend_existing=False,) 
     1391  
     1392  
     1393 
     1394 
     1395 
     1396 
     1397 
     1398 
     1399 
     1400 
     1401 
     1402 
     1403 
     1404md_extendedelementinformation_table = Table('md_extendedelementinformation', metadata, 
     1405        Column('md_extendedelementinformation_id', Integer, Sequence('md_extendedelementinformation_id_seq'), primary_key=True), 
     1406        Column('md_metadataextensioninformation_extendedElementInformation', Integer, ForeignKey('md_metadataextensioninformation.md_metadataextensioninformation_id')), 
     1407        Column('name', TEXT() , nullable=False), 
     1408        Column('domainValue', TEXT() , nullable=True), 
     1409        Column('maximumOccurrence', TEXT() , nullable=True), 
     1410        Column('rule', TEXT() , nullable=False), 
     1411        Column('definition', TEXT() , nullable=False), 
     1412        Column('domainCode', Integer() , nullable=True), 
     1413        Column('parentEntity', ARRAY(TEXT) , nullable=False), 
     1414        Column('condition', TEXT() , nullable=True), 
     1415        Column('rationale', ARRAY(TEXT) , nullable=True), 
     1416        Column('shortName', TEXT() , nullable=True), 
     1417        Column('obligation', MD_ObligationCode.db_type() , nullable=True), 
     1418        Column('dataType', MD_DatatypeCode.db_type() , nullable=False), 
     1419Column('t_type', String(30), nullable=False, default='md_extendedelementinformation'), 
     1420        extend_existing=False,) 
     1421  
     1422  
     1423 
     1424 
     1425 
     1426 
     1427 
    14561428 
    14571429 
     
    14671439        Column('updateScope', MD_ScopeCode.db_type() , nullable=True), 
    14681440        Column('maintenanceAndUpdateFrequency', MD_MaintenanceFrequencyCode.db_type() , nullable=False), 
    1469                         extend_existing=False,) 
    1470   
    1471   
    1472  
    1473  
    1474  
    1475  
    1476  
    1477  
    1478 li_processstep_table = Table('li_processstep', metadata, 
    1479         Column('li_processstep_id', Integer, Sequence('li_processstep_id_seq'), primary_key=True), 
    1480         Column('li_lineage_processStep', Integer, ForeignKey('li_lineage.li_lineage_id')), 
    1481         Column('rationale', TEXT() , nullable=True), 
     1441Column('t_type', String(30), nullable=False, default='md_maintenanceinformation'), 
     1442        extend_existing=False,) 
     1443  
     1444  
     1445 
     1446 
     1447 
     1448 
     1449 
     1450 
     1451 
     1452 
     1453 
     1454 
     1455 
     1456md_standardorderprocess_table = Table('md_standardorderprocess', metadata, 
     1457        Column('md_standardorderprocess_id', Integer, Sequence('md_standardorderprocess_id_seq'), primary_key=True), 
     1458        Column('md_distributor_distributionOrderProcess', Integer, ForeignKey('md_distributor.md_distributor_id')), 
     1459        Column('fees', TEXT() , nullable=True), 
     1460        Column('orderingInstructions', TEXT() , nullable=True), 
     1461        Column('turnaround', TEXT() , nullable=True), 
     1462Column('t_type', String(30), nullable=False, default='md_standardorderprocess'), 
     1463        extend_existing=False,) 
     1464  
     1465  
     1466 
     1467 
     1468 
     1469 
     1470 
     1471 
     1472 
     1473 
     1474 
     1475 
     1476 
     1477md_metadataextensioninformation_table = Table('md_metadataextensioninformation', metadata, 
     1478        Column('md_metadataextensioninformation_id', Integer, Sequence('md_metadataextensioninformation_id_seq'), primary_key=True), 
     1479        Column('md_metadata_metadataExtensionInfo', Integer, ForeignKey('md_metadata.md_metadata_id')), 
     1480Column('t_type', String(30), nullable=False, default='md_metadataextensioninformation'), 
     1481        extend_existing=False,) 
     1482  
     1483  
     1484 
     1485 
     1486 
     1487 
     1488 
     1489 
     1490 
     1491 
     1492 
     1493 
     1494 
     1495md_distributor_table = Table('md_distributor', metadata, 
     1496        Column('md_distributor_id', Integer, Sequence('md_distributor_id_seq'), primary_key=True), 
     1497        Column('md_distribution_distributor', Integer, ForeignKey('md_distribution.md_distribution_id')), 
     1498Column('t_type', String(30), nullable=False, default='md_distributor'), 
     1499        extend_existing=False,) 
     1500  
     1501  
     1502 
     1503 
     1504 
     1505 
     1506 
     1507 
     1508 
     1509 
     1510 
     1511 
     1512 
     1513md_distribution_table = Table('md_distribution', metadata, 
     1514        Column('md_distribution_id', Integer, Sequence('md_distribution_id_seq'), primary_key=True), 
     1515        Column('md_metadata_distributionInfo', Integer, ForeignKey('md_metadata.md_metadata_id')), 
     1516Column('t_type', String(30), nullable=False, default='md_distribution'), 
     1517        extend_existing=False,) 
     1518  
     1519  
     1520 
     1521 
     1522 
     1523 
     1524 
     1525 
     1526 
     1527 
     1528 
     1529 
     1530 
     1531ceda_result_table = Table('ceda_result', metadata, 
     1532        Column('ceda_result_id', Integer, Sequence('ceda_result_id_seq'), primary_key=True), 
     1533                                Column('mo_result_id', Integer, ForeignKey('mo_result.mo_result_id')),  Column('ceda_observation_result', Integer, ForeignKey('ceda_observation.ceda_observation_id')), 
     1534        Column('numberOfFiles', Integer() , nullable=True), 
     1535        Column('curationCategory', CEDA_CurationValue.db_type() , nullable=False), 
     1536        Column('internalPath', TEXT() , nullable=False), 
     1537        Column('volume', Integer() , nullable=True), 
     1538Column('t_type', String(30), nullable=False, default='ceda_result'), 
     1539        extend_existing=False,) 
     1540  
     1541  
     1542 
     1543 
     1544 
     1545 
     1546 
     1547 
     1548 
     1549 
     1550 
     1551 
     1552 
     1553io_identifiedobjectbase_table = Table('io_identifiedobjectbase', metadata, 
     1554        Column('io_identifiedobjectbase_id', Integer, Sequence('io_identifiedobjectbase_id_seq'), primary_key=True), 
     1555        Column('remarks', TEXT() , nullable=True), 
     1556Column('t_type', String(30), nullable=False, default='io_identifiedobjectbase'), 
     1557        extend_existing=False,) 
     1558  
     1559  
     1560 
     1561 
     1562 
     1563 
     1564 
     1565 
     1566 
     1567 
     1568 
     1569 
     1570 
     1571ceda_project_table = Table('ceda_project', metadata, 
     1572        Column('ceda_project_id', Integer, Sequence('ceda_project_id_seq'), primary_key=True), 
     1573                                Column('mo_project_id', Integer, ForeignKey('mo_project.mo_project_id')),       Column('ceda_observation_inSupportOf', Integer, ForeignKey('ceda_observation.ceda_observation_id', use_alter=True, name='fk_ceda_observation')), 
     1574Column('t_type', String(30), nullable=False, default='ceda_project'), 
     1575        extend_existing=False,) 
     1576  
     1577  
     1578 
     1579 
     1580 
     1581 
     1582 
     1583 
     1584 
     1585 
     1586 
     1587 
     1588 
     1589le_algorithm_table = Table('le_algorithm', metadata, 
     1590        Column('le_algorithm_id', Integer, Sequence('le_algorithm_id_seq'), primary_key=True), 
     1591        Column('mo_processing_algorithm', Integer, ForeignKey('mo_processing.mo_processing_id')), 
    14821592        Column('description', TEXT() , nullable=False), 
    1483                         extend_existing=False,) 
    1484   
    1485   
     1593Column('t_type', String(30), nullable=False, default='le_algorithm'), 
     1594        extend_existing=False,) 
     1595  
     1596  
     1597 
     1598 
     1599 
     1600 
     1601 
     1602 
     1603 
     1604 
     1605 
     1606 
     1607 
     1608mo_instrumentplatformpair_table = Table('mo_instrumentplatformpair', metadata, 
     1609        Column('mo_instrumentplatformpair_id', Integer, Sequence('mo_instrumentplatformpair_id_seq'), primary_key=True), 
     1610        Column('mo_acquisition_instrumentPlatformPair', Integer, ForeignKey('mo_acquisition.mo_acquisition_id')), 
     1611Column('t_type', String(30), nullable=False, default='mo_instrumentplatformpair'), 
     1612        extend_existing=False,) 
     1613  
     1614  
     1615 
     1616 
     1617 
     1618 
     1619 
     1620 
     1621 
     1622 
     1623 
     1624 
     1625 
     1626md_applicationschemainformation_table = Table('md_applicationschemainformation', metadata, 
     1627        Column('md_applicationschemainformation_id', Integer, Sequence('md_applicationschemainformation_id_seq'), primary_key=True), 
     1628        Column('md_metadata_applicationSchemaInfo', Integer, ForeignKey('md_metadata.md_metadata_id')), 
     1629        Column('constraintLanguage', TEXT() , nullable=False), 
     1630        Column('softwareDevelopmentFileFormat', TEXT() , nullable=True), 
     1631        Column('schemaLanguage', TEXT() , nullable=False), 
     1632        Column('schemaAscii', TEXT() , nullable=True), 
     1633Column('t_type', String(30), nullable=False, default='md_applicationschemainformation'), 
     1634        extend_existing=False,) 
     1635  
     1636  
     1637 
     1638 
     1639 
     1640 
     1641 
     1642 
     1643 
     1644 
     1645 
     1646 
     1647 
     1648om_observation_table = Table('om_observation', metadata, 
     1649        Column('om_observation_id', Integer, Sequence('om_observation_id_seq'), primary_key=True), 
     1650Column('t_type', String(30), nullable=False, default='om_observation'), 
     1651        extend_existing=False,) 
     1652  
     1653  
     1654 
     1655 
     1656 
     1657 
     1658 
     1659 
     1660 
     1661 
     1662 
     1663 
     1664 
     1665li_lineage_table = Table('li_lineage', metadata, 
     1666        Column('li_lineage_id', Integer, Sequence('li_lineage_id_seq'), primary_key=True), 
     1667        Column('dq_dataquality_lineage', Integer, ForeignKey('dq_dataquality.dq_dataquality_id')), 
     1668        Column('statement', TEXT() , nullable=True), 
     1669Column('t_type', String(30), nullable=False, default='li_lineage'), 
     1670        extend_existing=False,) 
     1671  
     1672  
     1673 
     1674 
     1675 
     1676 
     1677 
     1678 
     1679 
     1680 
     1681 
     1682 
     1683 
     1684rs_identifier_table = Table('rs_identifier', metadata, 
     1685        Column('rs_identifier_id', Integer, Sequence('rs_identifier_id_seq'), primary_key=True), 
     1686                                Column('md_identifier_id', Integer, ForeignKey('md_identifier.md_identifier_id')),      Column('io_identifiedobjectbase_identifier', Integer, ForeignKey('io_identifiedobjectbase.io_identifiedobjectbase_id')), 
     1687        Column('md_referencesystem_referenceSystemIdentifier', Integer, ForeignKey('md_referencesystem.md_referencesystem_id')), 
     1688        Column('rs_referencesystem_name', Integer, ForeignKey('rs_referencesystem.rs_referencesystem_id')), 
     1689        Column('codeSpace', TEXT() , nullable=True), 
     1690        Column('version', TEXT() , nullable=True), 
     1691Column('t_type', String(30), nullable=False, default='rs_identifier'), 
     1692        extend_existing=False,) 
     1693  
     1694  
     1695 
     1696 
     1697 
     1698 
     1699 
     1700 
     1701 
     1702 
     1703 
     1704 
     1705 
     1706mo_responsiblepartyinfo_table = Table('mo_responsiblepartyinfo', metadata, 
     1707        Column('mo_responsiblepartyinfo_id', Integer, Sequence('mo_responsiblepartyinfo_id_seq'), primary_key=True), 
     1708                                Column('ci_responsibility_id', Integer, ForeignKey('ci_responsibility.ci_responsibility_id')),  Column('mo_operation_relatedPartyInfo', Integer, ForeignKey('mo_operation.mo_operation_id')), 
     1709        Column('mo_acquisition_realatedParty', Integer, ForeignKey('mo_acquisition.mo_acquisition_id')), 
     1710        Column('mo_processing_relatedParty', Integer, ForeignKey('mo_processing.mo_processing_id')), 
     1711        Column('mo_compositeprocess_relatedParty', Integer, ForeignKey('mo_compositeprocess.mo_compositeprocess_id')), 
     1712        Column('mo_platform_relatedParty', Integer, ForeignKey('mo_platform.mo_platform_id')), 
     1713        Column('mo_instrument_realatedParty', Integer, ForeignKey('mo_instrument.mo_instrument_id')), 
     1714        Column('mo_observation_relatedParty', Integer, ForeignKey('mo_observation.mo_observation_id')), 
     1715        Column('mo_organization_relatedParty', Integer, ForeignKey('mo_organization.mo_organization_id')), 
     1716        Column('mo_project_relatedParty', Integer, ForeignKey('mo_project.mo_project_id')), 
     1717        Column('ceda_notes_commentator', Integer, ForeignKey('ceda_notes.ceda_notes_id')), 
     1718        Column('ceda_review_reviewer', Integer, ForeignKey('ceda_review.ceda_review_id')), 
     1719        Column('role', MO_RoleValue.db_type() , nullable=False), 
     1720Column('t_type', String(30), nullable=False, default='mo_responsiblepartyinfo'), 
     1721        extend_existing=False,) 
     1722  
     1723  
     1724 
     1725 
     1726 
     1727 
     1728 
     1729 
     1730 
     1731 
     1732 
     1733 
     1734 
     1735ci_responsiblepartyinfo_table = Table('ci_responsiblepartyinfo', metadata, 
     1736        Column('ci_responsiblepartyinfo_id', Integer, Sequence('ci_responsiblepartyinfo_id_seq'), primary_key=True), 
     1737        Column('role', CI_RoleCode.db_type() , nullable=False), 
     1738Column('t_type', String(30), nullable=False, default='ci_responsiblepartyinfo'), 
     1739        extend_existing=False,) 
     1740  
     1741  
     1742 
     1743 
     1744 
     1745 
     1746 
     1747 
     1748 
     1749 
     1750 
     1751 
     1752 
     1753mo_instrument_table = Table('mo_instrument', metadata, 
     1754        Column('mo_instrument_id', Integer, Sequence('mo_instrument_id_seq'), primary_key=True), 
     1755        Column('mo_acquisition_instrument', Integer, ForeignKey('mo_acquisition.mo_acquisition_id')), 
     1756        Column('mo_instrumentplatformpair_instrument', Integer, ForeignKey('mo_instrumentplatformpair.mo_instrumentplatformpair_id')), 
     1757        Column('description', TEXT() , nullable=True), 
     1758Column('t_type', String(30), nullable=False, default='mo_instrument'), 
     1759        extend_existing=False,) 
     1760  
     1761  
     1762 
     1763 
     1764 
     1765 
     1766 
     1767 
     1768 
     1769 
     1770 
     1771 
     1772 
     1773mo_processing_table = Table('mo_processing', metadata, 
     1774        Column('mo_processing_id', Integer, Sequence('mo_processing_id_seq'), primary_key=True), 
     1775                                Column('mo_computation_id', Integer, ForeignKey('mo_computation.mo_computation_id')),   Column('description', TEXT() , nullable=True), 
     1776Column('t_type', String(30), nullable=False, default='mo_processing'), 
     1777        extend_existing=False,) 
     1778  
     1779  
     1780 
     1781 
     1782 
     1783 
     1784 
     1785 
     1786 
     1787 
     1788 
     1789 
     1790 
     1791md_identifier_table = Table('md_identifier', metadata, 
     1792        Column('md_identifier_id', Integer, Sequence('md_identifier_id_seq'), primary_key=True), 
     1793        Column('md_aggregateinformation_aggregateDataSetIdentifier', Integer, ForeignKey('md_aggregateinformation.md_aggregateinformation_id')), 
     1794        Column('mo_observationcollection_identifier', Integer, ForeignKey('mo_observationcollection.mo_observationcollection_id')), 
     1795        Column('dq_element_measureIdentification', Integer, ForeignKey('dq_element.dq_element_id')), 
     1796        Column('ex_geographicdescription_geographicIdentifier', Integer, ForeignKey('ex_geographicdescription.ex_geographicdescription_id')), 
     1797        Column('ci_citation_identifier', Integer, ForeignKey('ci_citation.ci_citation_id', use_alter=True, name='fk_ci_citation')), 
     1798        Column('mo_platform_identifier', Integer, ForeignKey('mo_platform.mo_platform_id')), 
     1799        Column('mo_organization_identifier', Integer, ForeignKey('mo_organization.mo_organization_id')), 
     1800        Column('mo_processing_identifier', Integer, ForeignKey('mo_processing.mo_processing_id')), 
     1801        Column('mo_instrument_identifier', Integer, ForeignKey('mo_instrument.mo_instrument_id')), 
     1802        Column('le_source_processedLevel', Integer, ForeignKey('le_source.le_source_id')), 
     1803        Column('mo_project_identifier', Integer, ForeignKey('mo_project.mo_project_id')), 
     1804        Column('mo_observation_identifier', Integer, ForeignKey('mo_observation.mo_observation_id')), 
     1805        Column('mo_compositeprocess_identifier', Integer, ForeignKey('mo_compositeprocess.mo_compositeprocess_id')), 
     1806        Column('mo_acquisition_identifier', Integer, ForeignKey('mo_acquisition.mo_acquisition_id')), 
     1807        Column('mo_operation_identifier', Integer, ForeignKey('mo_operation.mo_operation_id')), 
     1808        Column('code', TEXT() , nullable=False), 
     1809Column('t_type', String(30), nullable=False, default='md_identifier'), 
     1810        extend_existing=False,) 
     1811  
     1812  
     1813 
     1814 
     1815 
     1816 
     1817 
     1818 
     1819 
     1820 
     1821 
     1822 
     1823 
     1824ceda_observation_table = Table('ceda_observation', metadata, 
     1825        Column('ceda_observation_id', Integer, Sequence('ceda_observation_id_seq'), primary_key=True), 
     1826                                Column('mo_observation_id', Integer, ForeignKey('mo_observation.mo_observation_id')),   Column('ceda_observationcollection_member', Integer, ForeignKey('ceda_observationcollection.ceda_observationcollection_id', use_alter=True, name='fk_ceda_observationcollection')), 
     1827        Column('dataLineage', TEXT() , nullable=False), 
     1828Column('t_type', String(30), nullable=False, default='ceda_observation'), 
     1829        extend_existing=False,) 
     1830  
     1831  
     1832 
     1833 
     1834 
     1835 
     1836 
     1837 
     1838 
     1839 
     1840 
     1841 
     1842 
     1843md_aggregateinformation_table = Table('md_aggregateinformation', metadata, 
     1844        Column('md_aggregateinformation_id', Integer, Sequence('md_aggregateinformation_id_seq'), primary_key=True), 
     1845        Column('md_identification_aggregationInfo', Integer, ForeignKey('md_identification.md_identification_id')), 
     1846        Column('initiativeType', DS_InitiativeTypeCode.db_type() , nullable=True), 
     1847        Column('associationType', DS_AssociationTypeCode.db_type() , nullable=False), 
     1848Column('t_type', String(30), nullable=False, default='md_aggregateinformation'), 
     1849        extend_existing=False,) 
     1850  
     1851  
     1852 
     1853 
     1854 
     1855 
     1856 
     1857 
     1858 
     1859 
     1860 
     1861 
     1862 
     1863ceda_review_table = Table('ceda_review', metadata, 
     1864        Column('ceda_review_id', Integer, Sequence('ceda_review_id_seq'), primary_key=True), 
     1865        Column('ceda_instrument_review', Integer, ForeignKey('ceda_instrument.ceda_instrument_id')), 
     1866        Column('ceda_project_review', Integer, ForeignKey('ceda_project.ceda_project_id')), 
     1867        Column('ceda_compositeprocess_review', Integer, ForeignKey('ceda_compositeprocess.ceda_compositeprocess_id')), 
     1868        Column('ceda_operation_review', Integer, ForeignKey('ceda_operation.ceda_operation_id')), 
     1869        Column('ceda_platform_review', Integer, ForeignKey('ceda_platform.ceda_platform_id')), 
     1870        Column('ceda_observationcollection_review', Integer, ForeignKey('ceda_observationcollection.ceda_observationcollection_id')), 
     1871        Column('ceda_acquisition_review', Integer, ForeignKey('ceda_acquisition.ceda_acquisition_id')), 
     1872        Column('ceda_processing_review', Integer, ForeignKey('ceda_processing.ceda_processing_id')), 
     1873        Column('ceda_observation_internalReview', Integer, ForeignKey('ceda_observation.ceda_observation_id')), 
     1874        Column('reviewStatus', CEDA_ReviewStatusValue.db_type() , nullable=False), 
     1875        Column('reviewFrequency', CEDA_ReviewFrequencyValue.db_type() , nullable=False), 
     1876Column('t_type', String(30), nullable=False, default='ceda_review'), 
     1877        extend_existing=False,) 
     1878  
     1879  
     1880 
     1881 
     1882 
     1883 
     1884 
     1885 
     1886 
     1887 
     1888 
     1889 
     1890 
     1891dq_element_table = Table('dq_element', metadata, 
     1892        Column('dq_element_id', Integer, Sequence('dq_element_id_seq'), primary_key=True), 
     1893        Column('om_observation_resultQuality', Integer, ForeignKey('om_observation.om_observation_id')), 
     1894        Column('dq_dataquality_report', Integer, ForeignKey('dq_dataquality.dq_dataquality_id')), 
     1895        Column('nameOfMeasure', ARRAY(TEXT) , nullable=True), 
     1896        Column('measureDescription', TEXT() , nullable=True), 
     1897        Column('evaluationMethodType', DQ_EvaluationMethodTypeCode.db_type() , nullable=True), 
     1898        Column('evaluationMethodDescription', TEXT() , nullable=True), 
     1899Column('t_type', String(30), nullable=False, default='dq_element'), 
     1900        extend_existing=False,) 
     1901  
     1902  
     1903 
     1904 
     1905 
     1906 
     1907 
     1908 
     1909 
     1910 
     1911 
     1912 
     1913 
     1914ci_responsibility_table = Table('ci_responsibility', metadata, 
     1915        Column('ci_responsibility_id', Integer, Sequence('ci_responsibility_id_seq'), primary_key=True), 
     1916                                Column('ci_responsiblepartyinfo_id', Integer, ForeignKey('ci_responsiblepartyinfo.ci_responsiblepartyinfo_id')),Column('t_type', String(30), nullable=False, default='ci_responsibility'), 
     1917        extend_existing=False,) 
     1918  
     1919  
     1920 
     1921 
     1922 
     1923 
     1924 
     1925 
     1926 
     1927 
     1928 
     1929 
     1930 
     1931ceda_processing_table = Table('ceda_processing', metadata, 
     1932        Column('ceda_processing_id', Integer, Sequence('ceda_processing_id_seq'), primary_key=True), 
     1933                                Column('ceda_process_id', Integer, ForeignKey('ceda_process.ceda_process_id')),                 Column('mo_processing_id', Integer, ForeignKey('mo_processing.mo_processing_id')),      Column('ceda_compositeprocess_computationComponent', Integer, ForeignKey('ceda_compositeprocess.ceda_compositeprocess_id')), 
     1934Column('t_type', String(30), nullable=False, default='ceda_processing'), 
     1935        extend_existing=False,) 
     1936  
     1937  
     1938 
     1939 
     1940 
     1941 
     1942 
     1943 
     1944 
     1945 
     1946 
     1947 
     1948 
     1949mo_organization_table = Table('mo_organization', metadata, 
     1950        Column('mo_organization_id', Integer, Sequence('mo_organization_id_seq'), primary_key=True), 
     1951                                Column('ci_organisation_id', Integer, ForeignKey('ci_organisation.ci_organisation_id')),        Column('description', TEXT() , nullable=True), 
     1952Column('t_type', String(30), nullable=False, default='mo_organization'), 
     1953        extend_existing=False,) 
     1954  
     1955  
     1956 
     1957 
     1958 
     1959 
     1960 
     1961 
     1962 
     1963 
     1964 
     1965 
     1966 
     1967mo_operation_table = Table('mo_operation', metadata, 
     1968        Column('mo_operation_id', Integer, Sequence('mo_operation_id_seq'), primary_key=True), 
     1969        Column('mo_acquisition_operation', Integer, ForeignKey('mo_acquisition.mo_acquisition_id')), 
     1970        Column('description', TEXT() , nullable=True), 
     1971        Column('status', MD_ProgressCode.db_type() , nullable=True), 
     1972Column('t_type', String(30), nullable=False, default='mo_operation'), 
     1973        extend_existing=False,) 
     1974  
     1975  
     1976 
     1977 
     1978 
     1979 
     1980 
     1981 
     1982 
     1983 
     1984 
     1985 
     1986 
     1987mo_acquisition_table = Table('mo_acquisition', metadata, 
     1988        Column('mo_acquisition_id', Integer, Sequence('mo_acquisition_id_seq'), primary_key=True), 
     1989                                Column('mo_process_id', Integer, ForeignKey('mo_process.mo_process_id')),       Column('mo_compositeprocess_acquisitionComponent', Integer, ForeignKey('mo_compositeprocess.mo_compositeprocess_id')), 
     1990        Column('description', TEXT() , nullable=True), 
     1991Column('t_type', String(30), nullable=False, default='mo_acquisition'), 
     1992        extend_existing=False,) 
     1993  
     1994  
     1995 
     1996 
     1997 
     1998 
     1999 
     2000 
     2001 
     2002 
     2003 
     2004 
     2005 
     2006mo_compositeprocess_table = Table('mo_compositeprocess', metadata, 
     2007        Column('mo_compositeprocess_id', Integer, Sequence('mo_compositeprocess_id_seq'), primary_key=True), 
     2008                                Column('mo_process_id', Integer, ForeignKey('mo_process.mo_process_id')),       Column('description', TEXT() , nullable=True), 
     2009Column('t_type', String(30), nullable=False, default='mo_compositeprocess'), 
     2010        extend_existing=False,) 
     2011  
     2012  
     2013 
     2014 
     2015 
     2016 
     2017 
     2018 
     2019 
     2020 
     2021 
     2022 
     2023 
     2024ex_geographicdescription_table = Table('ex_geographicdescription', metadata, 
     2025        Column('ex_geographicdescription_id', Integer, Sequence('ex_geographicdescription_id_seq'), primary_key=True), 
     2026                                Column('ex_geographicextent_id', Integer, ForeignKey('ex_geographicextent.ex_geographicextent_id')),    Column('mo_location_nameLocation', Integer, ForeignKey('mo_location.mo_location_id')), 
     2027Column('t_type', String(30), nullable=False, default='ex_geographicdescription'), 
     2028        extend_existing=False,) 
     2029  
     2030  
     2031 
     2032 
     2033 
     2034 
     2035 
     2036 
     2037 
     2038 
     2039 
     2040 
     2041 
     2042mo_observationcollection_table = Table('mo_observationcollection', metadata, 
     2043        Column('mo_observationcollection_id', Integer, Sequence('mo_observationcollection_id_seq'), primary_key=True), 
     2044        Column('mo_project_observationCollection', Integer, ForeignKey('mo_project.mo_project_id', use_alter=True, name='fk_mo_project')), 
     2045        Column('description', TEXT() , nullable=True), 
     2046        Column('publicationState', MO_PublicationStateValue.db_type() , nullable=True), 
     2047Column('t_type', String(30), nullable=False, default='mo_observationcollection'), 
     2048        extend_existing=False,) 
     2049  
     2050  
     2051 
     2052 
     2053 
     2054 
     2055 
     2056 
     2057 
     2058 
     2059 
     2060 
     2061 
     2062dq_scope_table = Table('dq_scope', metadata, 
     2063        Column('dq_scope_id', Integer, Sequence('dq_scope_id_seq'), primary_key=True), 
     2064        Column('dq_dataquality_scope', Integer, ForeignKey('dq_dataquality.dq_dataquality_id')), 
     2065        Column('level', MD_ScopeCode.db_type() , nullable=False), 
     2066Column('t_type', String(30), nullable=False, default='dq_scope'), 
     2067        extend_existing=False,) 
     2068  
     2069  
     2070 
     2071 
     2072 
     2073 
     2074 
     2075 
     2076 
     2077 
     2078 
     2079 
     2080 
     2081mo_location_table = Table('mo_location', metadata, 
     2082        Column('mo_location_id', Integer, Sequence('mo_location_id_seq'), primary_key=True), 
     2083        Column('mo_platform_location', Integer, ForeignKey('mo_platform.mo_platform_id')), 
     2084        Column('mo_operation_location', Integer, ForeignKey('mo_operation.mo_operation_id')), 
     2085Column('t_type', String(30), nullable=False, default='mo_location'), 
     2086        extend_existing=False,) 
     2087  
     2088  
     2089 
     2090 
     2091 
     2092 
     2093 
     2094 
     2095 
     2096 
     2097 
     2098 
     2099 
     2100ex_extent_table = Table('ex_extent', metadata, 
     2101        Column('ex_extent_id', Integer, Sequence('ex_extent_id_seq'), primary_key=True), 
     2102        Column('rs_referencesystem_domainOfValidity', Integer, ForeignKey('rs_referencesystem.rs_referencesystem_id')), 
     2103        Column('ci_responsiblepartyinfo_extent', Integer, ForeignKey('ci_responsiblepartyinfo.ci_responsiblepartyinfo_id')), 
     2104        Column('dq_scope_extent', Integer, ForeignKey('dq_scope.dq_scope_id')), 
     2105        Column('li_source_sourceExtent', Integer, ForeignKey('li_source.li_source_id')), 
     2106        Column('description', TEXT() , nullable=True), 
     2107Column('t_type', String(30), nullable=False, default='ex_extent'), 
     2108        extend_existing=False,) 
     2109  
     2110  
     2111 
     2112 
     2113 
     2114 
     2115 
     2116 
     2117 
     2118 
     2119 
     2120 
     2121 
     2122ceda_instrument_table = Table('ceda_instrument', metadata, 
     2123        Column('ceda_instrument_id', Integer, Sequence('ceda_instrument_id_seq'), primary_key=True), 
     2124                                Column('mo_instrument_id', Integer, ForeignKey('mo_instrument.mo_instrument_id')),      Column('ceda_acquisition_instrument', Integer, ForeignKey('ceda_acquisition.ceda_acquisition_id')), 
     2125Column('t_type', String(30), nullable=False, default='ceda_instrument'), 
     2126        extend_existing=False,) 
     2127  
     2128  
     2129 
     2130 
     2131 
     2132 
     2133 
    14862134 
    14872135 
     
    14972145        Column('abstract', TEXT() , nullable=False), 
    14982146        Column('status', MD_ProgressCode.db_type() , nullable=True), 
    1499                         extend_existing=False,) 
    1500   
    1501   
    1502  
    1503  
    1504  
    1505  
    1506  
    1507  
    1508 le_source_table = Table('le_source', metadata, 
    1509         Column('le_source_id', Integer, Sequence('le_source_id_seq'), primary_key=True), 
    1510         Column('mo_inputoutput_description', Integer, ForeignKey('mo_inputoutput.mo_inputoutput_id')), 
    1511                 Column('le_source_li_source_id', Integer),              ForeignKeyConstraint(['le_source_li_source_id'],  
    1512         ['li_source.li_source_id']),            extend_existing=False,) 
    1513   
    1514   
    1515  
    1516  
    1517  
    1518  
    1519  
    1520  
    1521 li_lineage_table = Table('li_lineage', metadata, 
    1522         Column('li_lineage_id', Integer, Sequence('li_lineage_id_seq'), primary_key=True), 
    1523         Column('dq_dataquality_lineage', Integer, ForeignKey('dq_dataquality.dq_dataquality_id')), 
    1524         Column('statement', TEXT() , nullable=True), 
    1525                         extend_existing=False,) 
    1526   
    1527   
    1528  
    1529  
    1530  
    1531  
    1532  
    1533  
    1534 mo_project_table = Table('mo_project', metadata, 
    1535         Column('mo_project_id', Integer, Sequence('mo_project_id_seq'), primary_key=True), 
    1536         Column('abstract', TEXT() , nullable=True), 
    1537         Column('publicationState', MO_PublicationStateValue.db_type() , nullable=True), 
    1538         Column('status', MD_ProgressCode.db_type() , nullable=False), 
    1539         Column('description', TEXT() , nullable=True), 
    1540         Column('mo_project_type', String(30), nullable=False), 
    1541                         extend_existing=False,) 
    1542   
    1543   
    1544  
    1545  
    1546  
    1547  
    1548  
    1549  
    1550 ceda_instrument_table = Table('ceda_instrument', metadata, 
    1551         Column('ceda_instrument_id', Integer, Sequence('ceda_instrument_id_seq'), primary_key=True), 
    1552         Column('ceda_acquisition_instrument', Integer, ForeignKey('ceda_acquisition.ceda_acquisition_id')), 
    1553                 Column('ceda_instrument_mo_instrument_id', Integer),            ForeignKeyConstraint(['ceda_instrument_mo_instrument_id'],  
    1554         ['mo_instrument.mo_instrument_id']),            extend_existing=False,) 
    1555   
    1556   
     2147Column('t_type', String(30), nullable=False, default='md_identification'), 
     2148        extend_existing=False,) 
     2149  
     2150  
     2151 
     2152 
     2153 
     2154 
     2155 
     2156 
     2157 
     2158 
     2159 
     2160 
     2161 
     2162ceda_notes_table = Table('ceda_notes', metadata, 
     2163        Column('ceda_notes_id', Integer, Sequence('ceda_notes_id_seq'), primary_key=True), 
     2164        Column('ceda_review_notes', Integer, ForeignKey('ceda_review.ceda_review_id')), 
     2165        Column('comments', TEXT() , nullable=False), 
     2166Column('t_type', String(30), nullable=False, default='ceda_notes'), 
     2167        extend_existing=False,) 
     2168  
     2169  
     2170 
     2171 
     2172 
     2173 
     2174 
     2175 
     2176 
     2177 
     2178 
     2179 
     2180 
     2181md_portrayalcataloguereference_table = Table('md_portrayalcataloguereference', metadata, 
     2182        Column('md_portrayalcataloguereference_id', Integer, Sequence('md_portrayalcataloguereference_id_seq'), primary_key=True), 
     2183        Column('md_metadata_portrayalCatalogueInfo', Integer, ForeignKey('md_metadata.md_metadata_id')), 
     2184Column('t_type', String(30), nullable=False, default='md_portrayalcataloguereference'), 
     2185        extend_existing=False,) 
     2186  
     2187  
     2188 
     2189 
     2190 
     2191 
     2192 
    15572193 
    15582194 
     
    15642200        Column('dq_dataquality_id', Integer, Sequence('dq_dataquality_id_seq'), primary_key=True), 
    15652201        Column('md_metadata_dataQualityInfo', Integer, ForeignKey('md_metadata.md_metadata_id')), 
    1566                         extend_existing=False,) 
    1567   
    1568   
    1569  
    1570  
    1571  
    1572  
    1573  
    1574  
    1575 ex_geographicdescription_table = Table('ex_geographicdescription', metadata, 
    1576         Column('ex_geographicdescription_id', Integer, Sequence('ex_geographicdescription_id_seq'), primary_key=True), 
    1577         Column('mo_location_nameLocation', Integer, ForeignKey('mo_location.mo_location_id')), 
    1578                 Column('ex_geographicdescription_ex_geographicextent_id', Integer),             ForeignKeyConstraint(['ex_geographicdescription_ex_geographicextent_id'],  
    1579         ['ex_geographicextent.ex_geographicextent_id']),                extend_existing=False,) 
    1580   
    1581   
    1582  
    1583  
    1584  
    1585  
    1586  
    1587  
    1588 mo_location_table = Table('mo_location', metadata, 
    1589         Column('mo_location_id', Integer, Sequence('mo_location_id_seq'), primary_key=True), 
    1590         Column('mo_platform_location', Integer, ForeignKey('mo_platform.mo_platform_id')), 
    1591         Column('mo_operation_location', Integer, ForeignKey('mo_operation.mo_operation_id')), 
    1592                         extend_existing=False,) 
    1593   
    1594   
    1595  
    1596  
    1597  
    1598  
    1599  
    1600  
    1601 mo_inputoutput_table = Table('mo_inputoutput', metadata, 
    1602         Column('mo_inputoutput_id', Integer, Sequence('mo_inputoutput_id_seq'), primary_key=True), 
    1603         Column('mo_acquisition_outputDescription', Integer, ForeignKey('mo_acquisition.mo_acquisition_id')), 
    1604         Column('mo_processing_processingOutput', Integer, ForeignKey('mo_processing.mo_processing_id')), 
    1605         Column('mo_processing_processingInput', Integer, ForeignKey('mo_processing.mo_processing_id')), 
    1606                         extend_existing=False,) 
    1607   
    1608   
    1609  
    1610  
    1611  
    1612  
    1613  
    1614  
    1615 mo_platform_table = Table('mo_platform', metadata, 
    1616         Column('mo_platform_id', Integer, Sequence('mo_platform_id_seq'), primary_key=True), 
    1617         Column('mo_instrumentplatformpair_platform', Integer, ForeignKey('mo_instrumentplatformpair.mo_instrumentplatformpair_id')), 
    1618         Column('mo_operation_platform', Integer, ForeignKey('mo_operation.mo_operation_id')), 
    1619         Column('mo_acquisition_platform', Integer, ForeignKey('mo_acquisition.mo_acquisition_id')), 
    1620         Column('type', MO_PlatformTypeValue.db_type() , nullable=False), 
    1621         Column('description', TEXT() , nullable=True), 
    1622         Column('mo_platform_type', String(30), nullable=False), 
    1623                         extend_existing=False,) 
    1624   
    1625   
     2202Column('t_type', String(30), nullable=False, default='dq_dataquality'), 
     2203        extend_existing=False,) 
     2204  
     2205  
     2206 
     2207 
     2208 
     2209 
     2210 
     2211 
     2212 
     2213 
     2214 
     2215 
     2216 
     2217md_keywords_table = Table('md_keywords', metadata, 
     2218        Column('md_keywords_id', Integer, Sequence('md_keywords_id_seq'), primary_key=True), 
     2219        Column('mo_project_keywords', Integer, ForeignKey('mo_project.mo_project_id')), 
     2220        Column('md_identification_descriptiveKeywords', Integer, ForeignKey('md_identification.md_identification_id')), 
     2221        Column('ceda_observation_keywords', Integer, ForeignKey('ceda_observation.ceda_observation_id')), 
     2222        Column('type', MD_KeywordTypeCode.db_type() , nullable=True), 
     2223        Column('keyword', ARRAY(TEXT) , nullable=False), 
     2224Column('t_type', String(30), nullable=False, default='md_keywords'), 
     2225        extend_existing=False,) 
     2226  
     2227  
     2228 
     2229 
     2230 
     2231 
     2232 
    16262233 
    16272234 
     
    16342241        Column('mo_observationcollection_isoMetadata', Integer, ForeignKey('mo_observationcollection.mo_observationcollection_id')), 
    16352242        Column('om_observation_metadata', Integer, ForeignKey('om_observation.om_observation_id')), 
    1636         Column('hierarchyLevelName', ARRAY(TEXT) , nullable=True), 
     2243        Column('characterSet', MD_CharacterSetCode.db_type() , nullable=True), 
     2244        Column('metadataStandardName', TEXT() , nullable=True), 
     2245        Column('dataSet', TEXT() , nullable=True), 
     2246        Column('fileIdentifier', TEXT() , nullable=True), 
    16372247        Column('hierarchyLevel', MD_ScopeCode.db_type() , nullable=True), 
    1638         Column('fileIdentifier', TEXT() , nullable=True), 
    16392248        Column('language', TEXT() , nullable=True), 
    16402249        Column('metadataStandardVersion', TEXT() , nullable=True), 
    1641         Column('metadataStandardName', TEXT() , nullable=True), 
    1642         Column('characterSet', MD_CharacterSetCode.db_type() , nullable=True), 
    1643         Column('dataSet', TEXT() , nullable=True), 
    16442250        Column('parentIdentifier', TEXT() , nullable=True), 
    1645                         extend_existing=False,) 
    1646   
    1647   
    1648  
    1649  
    1650  
    1651  
    1652  
    1653  
    1654 mo_operation_table = Table('mo_operation', metadata, 
    1655         Column('mo_operation_id', Integer, Sequence('mo_operation_id_seq'), primary_key=True), 
    1656         Column('mo_acquisition_operation', Integer, ForeignKey('mo_acquisition.mo_acquisition_id')), 
    1657         Column('status', MD_ProgressCode.db_type() , nullable=False), 
     2251        Column('hierarchyLevelName', ARRAY(TEXT) , nullable=True), 
     2252Column('t_type', String(30), nullable=False, default='md_metadata'), 
     2253        extend_existing=False,) 
     2254  
     2255  
     2256 
     2257 
     2258 
     2259 
     2260 
     2261 
     2262 
     2263 
     2264 
     2265 
     2266 
     2267mo_platform_table = Table('mo_platform', metadata, 
     2268        Column('mo_platform_id', Integer, Sequence('mo_platform_id_seq'), primary_key=True), 
     2269        Column('mo_instrumentplatformpair_platform', Integer, ForeignKey('mo_instrumentplatformpair.mo_instrumentplatformpair_id')), 
     2270        Column('mo_acquisition_platform', Integer, ForeignKey('mo_acquisition.mo_acquisition_id')), 
     2271        Column('mo_operation_platform', Integer, ForeignKey('mo_operation.mo_operation_id')), 
    16582272        Column('description', TEXT() , nullable=True), 
    1659         Column('mo_operation_type', String(30), nullable=False), 
    1660                         extend_existing=False,) 
    1661   
    1662   
    1663  
    1664  
    1665  
    1666  
    1667  
    1668  
    1669 mo_processing_table = Table('mo_processing', metadata, 
    1670         Column('mo_processing_id', Integer, Sequence('mo_processing_id_seq'), primary_key=True), 
     2273        Column('type', MO_PlatformTypeValue.db_type() , nullable=True), 
     2274Column('t_type', String(30), nullable=False, default='mo_platform'), 
     2275        extend_existing=False,) 
     2276  
     2277  
     2278 
     2279 
     2280 
     2281 
     2282 
     2283 
     2284 
     2285 
     2286 
     2287 
     2288 
     2289rs_referencesystem_table = Table('rs_referencesystem', metadata, 
     2290        Column('rs_referencesystem_id', Integer, Sequence('rs_referencesystem_id_seq'), primary_key=True), 
     2291Column('t_type', String(30), nullable=False, default='rs_referencesystem'), 
     2292        extend_existing=False,) 
     2293  
     2294  
     2295 
     2296 
     2297 
     2298 
     2299 
     2300 
     2301 
     2302 
     2303 
     2304 
     2305 
     2306li_source_table = Table('li_source', metadata, 
     2307        Column('li_source_id', Integer, Sequence('li_source_id_seq'), primary_key=True), 
     2308        Column('li_lineage_source', Integer, ForeignKey('li_lineage.li_lineage_id')), 
    16712309        Column('description', TEXT() , nullable=True), 
    1672         Column('mo_processing_type', String(30), nullable=False), 
    1673                 Column('mo_processing_mo_computation_id', Integer),             ForeignKeyConstraint(['mo_processing_mo_computation_id'],  
    1674         ['mo_computation.mo_computation_id']),          extend_existing=False,) 
    1675   
    1676   
    1677  
    1678  
    1679  
    1680  
    1681  
    1682  
    1683 mo_instrumentplatformpair_table = Table('mo_instrumentplatformpair', metadata, 
    1684         Column('mo_instrumentplatformpair_id', Integer, Sequence('mo_instrumentplatformpair_id_seq'), primary_key=True), 
    1685         Column('mo_acquisition_instrumentPlatformPair', Integer, ForeignKey('mo_acquisition.mo_acquisition_id')), 
    1686                         extend_existing=False,) 
    1687   
    1688   
    1689  
    1690  
    1691  
    1692  
    1693  
    1694  
    1695 om_observation_table = Table('om_observation', metadata, 
    1696         Column('om_observation_id', Integer, Sequence('om_observation_id_seq'), primary_key=True), 
    1697         Column('om_observation_type', String(30), nullable=False), 
    1698                         extend_existing=False,) 
    1699   
    1700   
    1701  
    1702  
    1703  
    1704  
    1705  
    1706  
    1707 mo_acquisition_table = Table('mo_acquisition', metadata, 
    1708         Column('mo_acquisition_id', Integer, Sequence('mo_acquisition_id_seq'), primary_key=True), 
    1709         Column('mo_compositeprocess_acquisitionComponent', Integer, ForeignKey('mo_compositeprocess.mo_compositeprocess_id')), 
    1710         Column('description', TEXT() , nullable=True), 
    1711         Column('mo_acquisition_type', String(30), nullable=False), 
    1712                 Column('mo_acquisition_mo_process_id', Integer),                ForeignKeyConstraint(['mo_acquisition_mo_process_id'],  
    1713         ['mo_process.mo_process_id']),          extend_existing=False,) 
    1714   
    1715   
     2310Column('t_type', String(30), nullable=False, default='li_source'), 
     2311        extend_existing=False,) 
     2312  
     2313  
     2314 
     2315 
     2316 
     2317 
     2318 
     2319 
     2320 
     2321 
     2322 
     2323 
     2324 
     2325le_source_table = Table('le_source', metadata, 
     2326        Column('le_source_id', Integer, Sequence('le_source_id_seq'), primary_key=True), 
     2327                                Column('li_source_id', Integer, ForeignKey('li_source.li_source_id')),  Column('mo_inputoutput_description', Integer, ForeignKey('mo_inputoutput.mo_inputoutput_id')), 
     2328Column('t_type', String(30), nullable=False, default='le_source'), 
     2329        extend_existing=False,) 
     2330  
     2331  
     2332 
     2333 
     2334 
     2335 
     2336 
    17162337 
    17172338 
     
    17222343ceda_platform_table = Table('ceda_platform', metadata, 
    17232344        Column('ceda_platform_id', Integer, Sequence('ceda_platform_id_seq'), primary_key=True), 
    1724         Column('ceda_acquisition_platform', Integer, ForeignKey('ceda_acquisition.ceda_acquisition_id')), 
    1725                 Column('ceda_platform_mo_platform_id', Integer),                ForeignKeyConstraint(['ceda_platform_mo_platform_id'],  
    1726         ['mo_platform.mo_platform_id']),                extend_existing=False,) 
    1727   
    1728   
    1729  
    1730  
    1731  
    1732  
    1733  
    1734  
    1735 ceda_processing_table = Table('ceda_processing', metadata, 
    1736         Column('ceda_processing_id', Integer, Sequence('ceda_processing_id_seq'), primary_key=True), 
    1737         Column('ceda_compositeprocess_computationComponent', Integer, ForeignKey('ceda_compositeprocess.ceda_compositeprocess_id')), 
    1738                 Column('ceda_processing_ceda_process_id', Integer),     Column('ceda_processing_mo_processing_id', Integer),            ForeignKeyConstraint(['ceda_processing_ceda_process_id'],  
    1739         ['ceda_process.ceda_process_id']),ForeignKeyConstraint(['ceda_processing_mo_processing_id'],  
    1740         ['mo_processing.mo_processing_id']),            extend_existing=False,) 
    1741   
    1742   
     2345                                Column('mo_platform_id', Integer, ForeignKey('mo_platform.mo_platform_id')),    Column('ceda_acquisition_platform', Integer, ForeignKey('ceda_acquisition.ceda_acquisition_id')), 
     2346Column('t_type', String(30), nullable=False, default='ceda_platform'), 
     2347        extend_existing=False,) 
     2348  
     2349  
     2350 
     2351 
     2352 
     2353 
     2354 
     2355 
     2356 
     2357 
     2358 
     2359 
     2360 
     2361ceda_observationcollection_table = Table('ceda_observationcollection', metadata, 
     2362        Column('ceda_observationcollection_id', Integer, Sequence('ceda_observationcollection_id_seq'), primary_key=True), 
     2363                                Column('mo_observationcollection_id', Integer, ForeignKey('mo_observationcollection.mo_observationcollection_id')),     Column('ceda_project_observationCollection', Integer, ForeignKey('ceda_project.ceda_project_id', use_alter=True, name='fk_ceda_project')), 
     2364Column('t_type', String(30), nullable=False, default='ceda_observationcollection'), 
     2365        extend_existing=False,) 
     2366  
     2367  
     2368 
     2369 
     2370 
     2371 
     2372 
     2373 
     2374 
     2375 
     2376 
     2377 
     2378 
     2379mo_inputoutput_table = Table('mo_inputoutput', metadata, 
     2380        Column('mo_inputoutput_id', Integer, Sequence('mo_inputoutput_id_seq'), primary_key=True), 
     2381        Column('mo_processing_processingInput', Integer, ForeignKey('mo_processing.mo_processing_id')), 
     2382        Column('mo_processing_processingOutput', Integer, ForeignKey('mo_processing.mo_processing_id')), 
     2383        Column('mo_acquisition_outputDescription', Integer, ForeignKey('mo_acquisition.mo_acquisition_id')), 
     2384Column('t_type', String(30), nullable=False, default='mo_inputoutput'), 
     2385        extend_existing=False,) 
     2386  
     2387  
     2388 
     2389 
     2390 
     2391 
     2392 
    17432393 
    17442394 
     
    17492399ceda_operation_table = Table('ceda_operation', metadata, 
    17502400        Column('ceda_operation_id', Integer, Sequence('ceda_operation_id_seq'), primary_key=True), 
    1751         Column('ceda_acquisition_operation', Integer, ForeignKey('ceda_acquisition.ceda_acquisition_id')), 
    1752                 Column('ceda_operation_mo_operation_id', Integer),              ForeignKeyConstraint(['ceda_operation_mo_operation_id'],  
    1753         ['mo_operation.mo_operation_id']),              extend_existing=False,) 
    1754   
    1755   
    1756  
    1757  
    1758  
    1759  
    1760  
    1761  
    1762 mo_compositeprocess_table = Table('mo_compositeprocess', metadata, 
    1763         Column('mo_compositeprocess_id', Integer, Sequence('mo_compositeprocess_id_seq'), primary_key=True), 
    1764         Column('description', TEXT() , nullable=True), 
    1765         Column('mo_compositeprocess_type', String(30), nullable=False), 
    1766                 Column('mo_compositeprocess_mo_process_id', Integer),           ForeignKeyConstraint(['mo_compositeprocess_mo_process_id'],  
    1767         ['mo_process.mo_process_id']),          extend_existing=False,) 
    1768   
    1769   
     2401                                Column('mo_operation_id', Integer, ForeignKey('mo_operation.mo_operation_id')), Column('ceda_acquisition_operation', Integer, ForeignKey('ceda_acquisition.ceda_acquisition_id')), 
     2402Column('t_type', String(30), nullable=False, default='ceda_operation'), 
     2403        extend_existing=False,) 
     2404  
     2405  
     2406 
     2407 
     2408 
     2409 
     2410 
     2411 
     2412 
     2413 
     2414 
     2415 
     2416 
     2417ceda_compositeprocess_table = Table('ceda_compositeprocess', metadata, 
     2418        Column('ceda_compositeprocess_id', Integer, Sequence('ceda_compositeprocess_id_seq'), primary_key=True), 
     2419                                Column('ceda_process_id', Integer, ForeignKey('ceda_process.ceda_process_id')),                 Column('mo_compositeprocess_id', Integer, ForeignKey('mo_compositeprocess.mo_compositeprocess_id')),Column('t_type', String(30), nullable=False, default='ceda_compositeprocess'), 
     2420        extend_existing=False,) 
     2421  
     2422  
     2423 
     2424 
     2425 
     2426 
     2427 
     2428 
     2429 
     2430 
     2431 
     2432 
     2433 
     2434ex_verticalextent_table = Table('ex_verticalextent', metadata, 
     2435        Column('ex_verticalextent_id', Integer, Sequence('ex_verticalextent_id_seq'), primary_key=True), 
     2436        Column('mo_observationcollection_verticalExtent', Integer, ForeignKey('mo_observationcollection.mo_observationcollection_id')), 
     2437        Column('ex_extent_verticalElement', Integer, ForeignKey('ex_extent.ex_extent_id')), 
     2438        Column('mo_observation_verticalExtent', Integer, ForeignKey('mo_observation.mo_observation_id')), 
     2439        Column('minimumValue', NUMERIC() , nullable=False), 
     2440        Column('maximumValue', NUMERIC() , nullable=False), 
     2441Column('t_type', String(30), nullable=False, default='ex_verticalextent'), 
     2442        extend_existing=False,) 
     2443  
     2444  
     2445 
     2446 
     2447 
     2448 
     2449 
     2450 
     2451 
     2452 
     2453 
     2454 
     2455 
     2456md_referencesystem_table = Table('md_referencesystem', metadata, 
     2457        Column('md_referencesystem_id', Integer, Sequence('md_referencesystem_id_seq'), primary_key=True), 
     2458        Column('li_source_sourceReferenceSystem', Integer, ForeignKey('li_source.li_source_id')), 
     2459        Column('md_metadata_referenceSystemInfo', Integer, ForeignKey('md_metadata.md_metadata_id')), 
     2460Column('t_type', String(30), nullable=False, default='md_referencesystem'), 
     2461        extend_existing=False,) 
     2462  
     2463  
     2464 
     2465 
     2466 
     2467 
     2468 
    17702469 
    17712470 
     
    17762475ceda_acquisition_table = Table('ceda_acquisition', metadata, 
    17772476        Column('ceda_acquisition_id', Integer, Sequence('ceda_acquisition_id_seq'), primary_key=True), 
    1778         Column('ceda_compositeprocess_aquisitionComponent', Integer, ForeignKey('ceda_compositeprocess.ceda_compositeprocess_id')), 
    1779                 Column('ceda_acquisition_ceda_process_id', Integer),    Column('ceda_acquisition_mo_acquisition_id', Integer),          ForeignKeyConstraint(['ceda_acquisition_ceda_process_id'],  
    1780         ['ceda_process.ceda_process_id']),ForeignKeyConstraint(['ceda_acquisition_mo_acquisition_id'],  
    1781         ['mo_acquisition.mo_acquisition_id']),          extend_existing=False,) 
    1782   
    1783   
     2477                                Column('ceda_process_id', Integer, ForeignKey('ceda_process.ceda_process_id')),                 Column('mo_acquisition_id', Integer, ForeignKey('mo_acquisition.mo_acquisition_id')),   Column('ceda_compositeprocess_aquisitionComponent', Integer, ForeignKey('ceda_compositeprocess.ceda_compositeprocess_id')), 
     2478Column('t_type', String(30), nullable=False, default='ceda_acquisition'), 
     2479        extend_existing=False,) 
     2480  
     2481  
     2482 
     2483 
     2484 
     2485 
     2486 
     2487 
     2488 
     2489 
     2490 
     2491 
     2492 
     2493ci_citation_table = Table('ci_citation', metadata, 
     2494        Column('ci_citation_id', Integer, Sequence('ci_citation_id_seq'), primary_key=True), 
     2495        Column('md_identifier_authority', Integer, ForeignKey('md_identifier.md_identifier_id', use_alter=True, name='fk_md_identifier')), 
     2496        Column('md_aggregateinformation_aggregateDataSetName', Integer, ForeignKey('md_aggregateinformation.md_aggregateinformation_id')), 
     2497        Column('mo_compositeprocess_documentation', Integer, ForeignKey('mo_compositeprocess.mo_compositeprocess_id')), 
     2498        Column('le_algorithm_citation', Integer, ForeignKey('le_algorithm.le_algorithm_id')), 
     2499        Column('mo_project_dmp', Integer, ForeignKey('mo_project.mo_project_id')), 
     2500        Column('mo_observation_documentation', Integer, ForeignKey('mo_observation.mo_observation_id')), 
     2501        Column('md_keywords_thesaurusName', Integer, ForeignKey('md_keywords.md_keywords_id')), 
     2502        Column('md_portrayalcataloguereference_portrayalCatalogueCitation', Integer, ForeignKey('md_portrayalcataloguereference.md_portrayalcataloguereference_id')), 
     2503        Column('mo_operation_documentation', Integer, ForeignKey('mo_operation.mo_operation_id')), 
     2504        Column('li_source_sourceCitation', Integer, ForeignKey('li_source.li_source_id')), 
     2505        Column('md_identification_citation', Integer, ForeignKey('md_identification.md_identification_id')), 
     2506        Column('mo_processing_documentation', Integer, ForeignKey('mo_processing.mo_processing_id')), 
     2507        Column('mo_platform_documentation', Integer, ForeignKey('mo_platform.mo_platform_id')), 
     2508        Column('mo_acquisition_documentation', Integer, ForeignKey('mo_acquisition.mo_acquisition_id')), 
     2509        Column('mo_processing_softwareReference', Integer, ForeignKey('mo_processing.mo_processing_id')), 
     2510        Column('mo_project_documentation', Integer, ForeignKey('mo_project.mo_project_id')), 
     2511        Column('md_applicationschemainformation_name', Integer, ForeignKey('md_applicationschemainformation.md_applicationschemainformation_id')), 
     2512        Column('dq_element_evaluationProcedure', Integer, ForeignKey('dq_element.dq_element_id')), 
     2513        Column('mo_instrument_documentation', Integer, ForeignKey('mo_instrument.mo_instrument_id')), 
     2514        Column('otherCitationDetails', TEXT() , nullable=True), 
     2515        Column('collectiveTitle', TEXT() , nullable=True), 
     2516        Column('ISBN', TEXT() , nullable=True), 
     2517        Column('edition', TEXT() , nullable=True), 
     2518        Column('ISSN', TEXT() , nullable=True), 
     2519        Column('alternateTitle', ARRAY(TEXT) , nullable=True), 
     2520        Column('title', TEXT() , nullable=False), 
     2521        Column('presentationForm', CI_PresentationFormCode.db_type() , nullable=True), 
     2522Column('t_type', String(30), nullable=False, default='ci_citation'), 
     2523        extend_existing=False,) 
     2524  
     2525  
     2526 
     2527 
     2528 
     2529 
     2530 
     2531 
     2532 
     2533 
     2534 
     2535 
     2536 
     2537sc_crs_table = Table('sc_crs', metadata, 
     2538        Column('sc_crs_id', Integer, Sequence('sc_crs_id_seq'), primary_key=True), 
     2539                                Column('rs_referencesystem_id', Integer, ForeignKey('rs_referencesystem.rs_referencesystem_id')),                       Column('io_identifiedobjectbase_id', Integer, ForeignKey('io_identifiedobjectbase.io_identifiedobjectbase_id')),        Column('ex_verticalextent_verticalCRS', Integer, ForeignKey('ex_verticalextent.ex_verticalextent_id')), 
     2540        Column('scope', ARRAY(TEXT) , nullable=False), 
     2541Column('t_type', String(30), nullable=False, default='sc_crs'), 
     2542        extend_existing=False,) 
     2543  
     2544  
     2545 
     2546 
     2547 
     2548 
     2549 
     2550 
     2551 
     2552 
     2553 
     2554 
     2555 
     2556mo_project_table = Table('mo_project', metadata, 
     2557        Column('mo_project_id', Integer, Sequence('mo_project_id_seq'), primary_key=True), 
     2558        Column('mo_observation_inSupportOf', Integer, ForeignKey('mo_observation.mo_observation_id', use_alter=True, name='fk_mo_observation')), 
     2559        Column('description', TEXT() , nullable=True), 
     2560        Column('abstract', TEXT() , nullable=True), 
     2561        Column('publicationState', MO_PublicationStateValue.db_type() , nullable=True), 
     2562        Column('status', MD_ProgressCode.db_type() , nullable=True), 
     2563Column('t_type', String(30), nullable=False, default='mo_project'), 
     2564        extend_existing=False,) 
     2565  
     2566  
     2567 
     2568 
     2569 
     2570 
     2571 
    17842572 
    17852573 
     
    17902578mo_observation_table = Table('mo_observation', metadata, 
    17912579        Column('mo_observation_id', Integer, Sequence('mo_observation_id_seq'), primary_key=True), 
    1792         Column('mo_observationcollection_member', Integer, ForeignKey('mo_observationcollection.mo_observationcollection_id')), 
     2580                                Column('om_observation_id', Integer, ForeignKey('om_observation.om_observation_id')),   Column('mo_observationcollection_member', Integer, ForeignKey('mo_observationcollection.mo_observationcollection_id', use_alter=True, name='fk_mo_observationcollection')), 
     2581        Column('description', TEXT() , nullable=True), 
     2582        Column('resultAccumulation', MD_MaintenanceFrequencyCode.db_type() , nullable=True), 
    17932583        Column('resolution', TEXT() , nullable=True), 
    1794         Column('resultAccumulation', MD_MaintenanceFrequencyCode.db_type() , nullable=True), 
     2584        Column('status', MD_ProgressCode.db_type() , nullable=True), 
    17952585        Column('publicationState', MO_PublicationStateValue.db_type() , nullable=True), 
    1796         Column('status', MD_ProgressCode.db_type() , nullable=False), 
    1797         Column('description', TEXT() , nullable=True), 
    1798         Column('mo_observation_type', String(30), nullable=False), 
    1799                 Column('mo_observation_om_observation_id', Integer),            ForeignKeyConstraint(['mo_observation_om_observation_id'],  
    1800         ['om_observation.om_observation_id']),          extend_existing=False,) 
    1801   
    1802   
    1803  
    1804  
    1805  
    1806  
    1807  
    1808  
    1809 mo_observationcollection_table = Table('mo_observationcollection', metadata, 
    1810         Column('mo_observationcollection_id', Integer, Sequence('mo_observationcollection_id_seq'), primary_key=True), 
    1811         Column('mo_project_observationCollection', Integer, ForeignKey('mo_project.mo_project_id')), 
    1812         Column('publicationState', MO_PublicationStateValue.db_type() , nullable=True), 
    1813         Column('description', TEXT() , nullable=True), 
    1814         Column('mo_observationcollection_type', String(30), nullable=False), 
    1815                         extend_existing=False,) 
    1816   
    1817   
    1818  
    1819  
    1820  
    1821  
    1822  
    1823  
    1824 ceda_compositeprocess_table = Table('ceda_compositeprocess', metadata, 
    1825         Column('ceda_compositeprocess_id', Integer, Sequence('ceda_compositeprocess_id_seq'), primary_key=True), 
    1826                 Column('ceda_compositeprocess_mo_compositeprocess_id', Integer),        Column('ceda_compositeprocess_ceda_process_id', Integer),               ForeignKeyConstraint(['ceda_compositeprocess_mo_compositeprocess_id'],  
    1827         ['mo_compositeprocess.mo_compositeprocess_id']),ForeignKeyConstraint(['ceda_compositeprocess_ceda_process_id'],  
    1828         ['ceda_process.ceda_process_id']),              extend_existing=False,) 
    1829   
    1830   
    1831  
    1832  
    1833  
    1834  
    1835  
    1836  
    1837 ceda_observationcollection_table = Table('ceda_observationcollection', metadata, 
    1838         Column('ceda_observationcollection_id', Integer, Sequence('ceda_observationcollection_id_seq'), primary_key=True), 
    1839                 Column('ceda_observationcollection_mo_observationcollection_id', Integer),              ForeignKeyConstraint(['ceda_observationcollection_mo_observationcollection_id'],  
    1840         ['mo_observationcollection.mo_observationcollection_id']),              extend_existing=False,) 
    1841   
    1842   
    1843  
    1844  
    1845  
    1846  
    1847  
    1848  
    1849 ceda_project_table = Table('ceda_project', metadata, 
    1850         Column('ceda_project_id', Integer, Sequence('ceda_project_id_seq'), primary_key=True), 
    1851         Column('ceda_observation_inSupportOf', Integer, ForeignKey('ceda_observation.ceda_observation_id')), 
    1852                 Column('ceda_project_mo_project_id', Integer),          ForeignKeyConstraint(['ceda_project_mo_project_id'],  
    1853         ['mo_project.mo_project_id']),          extend_existing=False,) 
    1854   
    1855   
    1856  
    1857  
    1858  
    1859  
    1860  
    1861  
    1862 ceda_observation_table = Table('ceda_observation', metadata, 
    1863         Column('ceda_observation_id', Integer, Sequence('ceda_observation_id_seq'), primary_key=True), 
    1864         Column('ceda_observationcollection_member', Integer, ForeignKey('ceda_observationcollection.ceda_observationcollection_id')), 
    1865         Column('dataLineage', TEXT() , nullable=False), 
    1866                 Column('ceda_observation_mo_observation_id', Integer),          ForeignKeyConstraint(['ceda_observation_mo_observation_id'],  
    1867         ['mo_observation.mo_observation_id']),          extend_existing=False,) 
    1868   
    1869   
    1870 mo_instrument_mo_instrument_table = Table('mo_instrument_mo_instrument', metadata, 
    1871         Column('left_node_id', Integer, ForeignKey(mo_instrument_table.c.mo_instrument_id)), 
    1872         Column('right_node_id', Integer, ForeignKey(mo_instrument_table.c.mo_instrument_id)) 
     2586Column('t_type', String(30), nullable=False, default='mo_observation'), 
     2587        extend_existing=False,) 
     2588  
     2589  
     2590mo_platform_mo_platform_table = Table('mo_platform_mo_platform', metadata, 
     2591        Column('left_node_id', Integer, ForeignKey(mo_platform_table.c.mo_platform_id)), 
     2592        Column('right_node_id', Integer, ForeignKey(mo_platform_table.c.mo_platform_id)) 
     2593) 
     2594mo_result_mo_result_table = Table('mo_result_mo_result', metadata, 
     2595        Column('left_node_id', Integer, ForeignKey(mo_result_table.c.mo_result_id)), 
     2596        Column('right_node_id', Integer, ForeignKey(mo_result_table.c.mo_result_id)) 
    18732597) 
    18742598mo_observationcollection_mo_observationcollection_table = Table('mo_observationcollection_mo_observationcollection', metadata, 
     
    18762600        Column('right_node_id', Integer, ForeignKey(mo_observationcollection_table.c.mo_observationcollection_id)) 
    18772601) 
    1878 om_observation_om_observation_table = Table('om_observation_om_observation', metadata, 
    1879         Column('left_node_id', Integer, ForeignKey(om_observation_table.c.om_observation_id)), 
    1880         Column('right_node_id', Integer, ForeignKey(om_observation_table.c.om_observation_id)) 
    1881 ) 
    1882 ceda_observationcollection_ceda_project_table = Table('ceda_observationcollection_ceda_project', metadata, 
    1883         Column('left_node_id', Integer, ForeignKey(ceda_observationcollection_table.c.ceda_observationcollection_id)), 
    1884         Column('right_node_id', Integer, ForeignKey(ceda_project_table.c.ceda_project_id)) 
    1885 ) 
    1886 mo_result_mo_result_table = Table('mo_result_mo_result', metadata, 
    1887         Column('left_node_id', Integer, ForeignKey(mo_result_table.c.mo_result_id)), 
    1888         Column('right_node_id', Integer, ForeignKey(mo_result_table.c.mo_result_id)) 
    1889 ) 
    1890 mo_project_mo_observation_table = Table('mo_project_mo_observation', metadata, 
    1891         Column('left_node_id', Integer, ForeignKey(mo_project_table.c.mo_project_id)), 
    1892         Column('right_node_id', Integer, ForeignKey(mo_observation_table.c.mo_observation_id)) 
    1893 ) 
    1894 ci_citation_md_identifier_table = Table('ci_citation_md_identifier', metadata, 
    1895         Column('left_node_id', Integer, ForeignKey(ci_citation_table.c.ci_citation_id)), 
    1896         Column('right_node_id', Integer, ForeignKey(md_identifier_table.c.md_identifier_id)) 
    1897 ) 
    1898 mo_platform_mo_platform_table = Table('mo_platform_mo_platform', metadata, 
    1899         Column('left_node_id', Integer, ForeignKey(mo_platform_table.c.mo_platform_id)), 
    1900         Column('right_node_id', Integer, ForeignKey(mo_platform_table.c.mo_platform_id)) 
     2602mo_operation_mo_operation_table = Table('mo_operation_mo_operation', metadata, 
     2603        Column('left_node_id', Integer, ForeignKey(mo_operation_table.c.mo_operation_id)), 
     2604        Column('right_node_id', Integer, ForeignKey(mo_operation_table.c.mo_operation_id)) 
    19012605) 
    19022606mo_project_mo_project_table = Table('mo_project_mo_project', metadata, 
     
    19042608        Column('right_node_id', Integer, ForeignKey(mo_project_table.c.mo_project_id)) 
    19052609) 
    1906 mo_operation_mo_operation_table = Table('mo_operation_mo_operation', metadata, 
    1907         Column('left_node_id', Integer, ForeignKey(mo_operation_table.c.mo_operation_id)), 
    1908         Column('right_node_id', Integer, ForeignKey(mo_operation_table.c.mo_operation_id)) 
     2610mo_instrument_mo_instrument_table = Table('mo_instrument_mo_instrument', metadata, 
     2611        Column('left_node_id', Integer, ForeignKey(mo_instrument_table.c.mo_instrument_id)), 
     2612        Column('right_node_id', Integer, ForeignKey(mo_instrument_table.c.mo_instrument_id)) 
    19092613) 
     2614om_observation_om_observation_table = Table('om_observation_om_observation', metadata, 
     2615        Column('left_node_id', Integer, ForeignKey(om_observation_table.c.om_observation_id)), 
     2616        Column('right_node_id', Integer, ForeignKey(om_observation_table.c.om_observation_id)) 
     2617) 
     2618 
     2619 
     2620 
     2621 
     2622 
     2623 
     2624 
     2625mapper(MD_BrowseGraphic, md_browsegraphic_table ) 
     2626 
     2627 
     2628 
     2629 
     2630 
     2631 
     2632 
     2633 
     2634mapper(EX_GeographicExtent, ex_geographicextent_table   ) 
     2635 
     2636 
     2637 
     2638 
     2639 
     2640 
     2641 
     2642 
     2643mapper(GenericName, genericname_table   ) 
     2644 
     2645 
     2646 
     2647 
     2648 
     2649 
     2650 
     2651 
     2652mapper(TM_Object, tm_object_table       ) 
     2653 
     2654 
     2655 
     2656 
     2657 
     2658 
     2659 
     2660 
     2661mapper(OM_Process, om_process_table     ) 
     2662 
     2663 
     2664 
     2665 
     2666 
     2667 
     2668 
     2669 
     2670mapper(MD_Format, md_format_table       ) 
     2671 
     2672 
     2673 
     2674 
     2675 
     2676 
     2677 
     2678 
     2679mapper(DQ_Result, dq_result_table       ) 
     2680 
     2681 
     2682 
     2683 
     2684 
     2685 
     2686 
     2687 
     2688mapper(ClockTime, clocktime_table       ) 
     2689 
     2690 
     2691 
     2692 
     2693 
     2694 
     2695 
     2696 
     2697mapper(UnitOfMeasure, unitofmeasure_table       ) 
     2698 
     2699 
     2700 
     2701 
     2702 
     2703 
     2704 
     2705 
     2706mapper(MD_SpatialRepresentation, md_spatialrepresentation_table ) 
     2707 
     2708 
     2709 
     2710 
     2711 
     2712 
     2713 
     2714 
     2715mapper(CI_Series, ci_series_table       ) 
     2716 
     2717 
     2718 
     2719 
     2720 
     2721 
     2722 
     2723 
     2724mapper(CEDA_Citation, ceda_citation_table       ) 
     2725 
     2726 
     2727 
     2728 
     2729 
     2730 
     2731 
     2732 
     2733mapper(MD_Constraints, md_constraints_table     ) 
     2734 
     2735 
     2736 
     2737 
     2738 
     2739 
     2740 
     2741 
     2742mapper(MD_ContentInformation, md_contentinformation_table       ) 
     2743 
     2744 
     2745 
     2746 
     2747 
     2748 
     2749 
     2750 
     2751mapper(Measure, measure_table   ) 
     2752 
     2753 
     2754 
     2755 
     2756 
     2757 
     2758 
     2759 
     2760mapper(GM_Object, gm_object_table       ) 
     2761 
     2762 
     2763 
     2764 
     2765 
     2766 
     2767 
     2768 
     2769mapper(TM_TemporalPosition, tm_temporalposition_table   ) 
     2770 
     2771 
     2772 
     2773 
     2774 
     2775 
     2776 
     2777 
     2778mapper(Any, any_table   ) 
     2779 
     2780 
     2781 
     2782 
     2783 
     2784 
     2785 
     2786 
     2787mapper(MD_Medium, md_medium_table       ) 
     2788 
     2789 
     2790 
     2791 
     2792 
     2793 
     2794 
     2795 
     2796mapper(CI_Telephone, ci_telephone_table ) 
     2797 
     2798 
     2799 
     2800 
    19102801 
    19112802 
     
    19142805mapper(TM_Duration, tm_duration_table   ) 
    19152806 
    1916 def TM_Duration_before_insert_listener(mapper, connection, target): 
    1917         if (target.tm_duration_id is None): 
    1918                 target.tm_duration_id = next_id(connection, 'tm_duration_id_seq') 
    1919         target.tm_duration_type = 'tm_duration' 
    1920  
    1921 event.listen(TM_Duration, 'before_insert', TM_Duration_before_insert_listener) 
    1922  
    1923  
    1924  
    1925  
    1926 mapper(Any, any_table   ) 
    1927  
    1928  
    1929  
    1930  
    1931  
    1932 mapper(UnitOfMeasure, unitofmeasure_table       ) 
    1933  
    1934 def UnitOfMeasure_before_insert_listener(mapper, connection, target): 
    1935         if (target.unitofmeasure_id is None): 
    1936                 target.unitofmeasure_id = next_id(connection, 'unitofmeasure_id_seq') 
    1937         target.unitofmeasure_type = 'unitofmeasure' 
    1938  
    1939 event.listen(UnitOfMeasure, 'before_insert', UnitOfMeasure_before_insert_listener) 
     2807 
     2808 
     2809 
     2810 
     2811 
     2812 
     2813 
     2814mapper(CI_Address, ci_address_table     ) 
     2815 
     2816 
     2817 
     2818 
     2819 
     2820 
     2821 
     2822 
     2823mapper(MD_ScopeDescription, md_scopedescription_table   ) 
     2824 
     2825 
     2826 
     2827 
     2828 
     2829 
     2830 
     2831 
     2832mapper(DatePrecision, dateprecision_table       ) 
     2833 
     2834 
     2835 
     2836 
     2837 
     2838 
     2839 
     2840 
     2841mapper(URL, url_table   ) 
     2842 
     2843 
     2844 
     2845 
    19402846 
    19412847 
     
    19482854 
    19492855 
    1950 mapper(TM_TemporalPosition, tm_temporalposition_table   ) 
    1951  
    1952  
    1953  
    1954  
    1955  
    1956 mapper(MD_BrowseGraphic, md_browsegraphic_table ) 
    1957  
    1958  
    1959  
    1960  
    1961  
    1962 mapper(MD_ScopeDescription, md_scopedescription_table   ) 
    1963  
    1964  
    1965  
    1966  
    1967  
    1968 mapper(MO_Computation, mo_computation_table.join(mo_process_table)      ) 
    1969  
    1970 def MO_Computation_before_insert_listener(mapper, connection, target): 
    1971         if (target.mo_computation_id is None): 
    1972                 target.mo_computation_id = next_id(connection, 'mo_computation_id_seq') 
    1973         target.mo_computation_type = 'mo_computation' 
    1974         target.mo_process_type = 'mo_process' 
    1975         target.mo_process_id = next_id(connection, 'mo_process_id_seq') 
    1976         target.mo_computation_mo_process_id = target.mo_process_id 
    1977  
    1978 event.listen(MO_Computation, 'before_insert', MO_Computation_before_insert_listener) 
    1979  
    1980  
    1981  
    1982  
    1983 mapper(MD_Medium, md_medium_table       ) 
    1984  
    1985  
    1986  
    1987  
    1988  
    1989 mapper(TM_Period, tm_period_table.join(tm_geometricprimitive_table)     ) 
    1990  
    1991 def TM_Period_before_insert_listener(mapper, connection, target): 
    1992         if (target.tm_period_id is None): 
    1993                 target.tm_period_id = next_id(connection, 'tm_period_id_seq') 
    1994         target.tm_geometricprimitive_type = 'tm_geometricprimitive' 
    1995         target.tm_geometricprimitive_id = next_id(connection, 'tm_geometricprimitive_id_seq') 
    1996         target.tm_period_tm_geometricprimitive_id = target.tm_geometricprimitive_id 
    1997  
    1998 event.listen(TM_Period, 'before_insert', TM_Period_before_insert_listener) 
    1999  
    2000  
    2001  
    2002  
    2003 mapper(SC_CRS, sc_crs_table.join(io_identifiedobjectbase_table).join(rs_referencesystem_table)  ) 
    2004  
    2005 def SC_CRS_before_insert_listener(mapper, connection, target): 
    2006         if (target.sc_crs_id is None): 
    2007                 target.sc_crs_id = next_id(connection, 'sc_crs_id_seq') 
    2008         target.io_identifiedobjectbase_type = 'io_identifiedobjectbase' 
    2009         target.io_identifiedobjectbase_id = next_id(connection, 'io_identifiedobjectbase_id_seq') 
    2010         target.sc_crs_io_identifiedobjectbase_id = target.io_identifiedobjectbase_id 
    2011         target.rs_referencesystem_type = 'rs_referencesystem' 
    2012         target.rs_referencesystem_id = next_id(connection, 'rs_referencesystem_id_seq') 
    2013         target.sc_crs_rs_referencesystem_id = target.rs_referencesystem_id 
    2014  
    2015 event.listen(SC_CRS, 'before_insert', SC_CRS_before_insert_listener) 
    2016  
    2017  
    2018  
    2019  
    2020 mapper(DateTime, datetime_table.join(clocktime_table).join(date_table)  ) 
    2021  
    2022 def DateTime_before_insert_listener(mapper, connection, target): 
    2023         if (target.datetime_id is None): 
    2024                 target.datetime_id = next_id(connection, 'datetime_id_seq') 
    2025         target.clocktime_type = 'clocktime' 
    2026         target.clocktime_id = next_id(connection, 'clocktime_id_seq') 
    2027         target.datetime_clocktime_id = target.clocktime_id 
    2028         target.date_type = 'date' 
    2029         target.date_id = next_id(connection, 'date_id_seq') 
    2030         target.datetime_date_id = target.date_id 
    2031  
    2032 event.listen(DateTime, 'before_insert', DateTime_before_insert_listener) 
    2033  
    2034  
    2035  
    2036  
    2037 mapper(URL, url_table   ) 
    2038  
    2039  
    2040  
    2041  
    2042  
    2043 mapper(TM_GeometricPrimitive, tm_geometricprimitive_table.join(tm_primitive_table)      ) 
    2044  
    2045 def TM_GeometricPrimitive_before_insert_listener(mapper, connection, target): 
    2046         if (target.tm_geometricprimitive_id is None): 
    2047                 target.tm_geometricprimitive_id = next_id(connection, 'tm_geometricprimitive_id_seq') 
    2048         target.tm_geometricprimitive_type = 'tm_geometricprimitive' 
    2049         target.tm_primitive_type = 'tm_primitive' 
    2050         target.tm_primitive_id = next_id(connection, 'tm_primitive_id_seq') 
    2051         target.tm_geometricprimitive_tm_primitive_id = target.tm_primitive_id 
    2052  
    2053 event.listen(TM_GeometricPrimitive, 'before_insert', TM_GeometricPrimitive_before_insert_listener) 
    2054  
    2055  
    2056  
    2057  
    2058 mapper(CI_Series, ci_series_table       ) 
    2059  
    2060  
    2061  
    2062  
    2063  
    2064 mapper(UomLength, uomlength_table.join(unitofmeasure_table)     ) 
    2065  
    2066 def UomLength_before_insert_listener(mapper, connection, target): 
    2067         if (target.uomlength_id is None): 
    2068                 target.uomlength_id = next_id(connection, 'uomlength_id_seq') 
    2069         target.unitofmeasure_type = 'unitofmeasure' 
    2070         target.unitofmeasure_id = next_id(connection, 'unitofmeasure_id_seq') 
    2071         target.uomlength_unitofmeasure_id = target.unitofmeasure_id 
    2072  
    2073 event.listen(UomLength, 'before_insert', UomLength_before_insert_listener) 
    2074  
    2075  
    2076  
    2077  
    2078 mapper(CEDA_Process, ceda_process_table.join(mo_process_table)  ) 
    2079  
    2080 def CEDA_Process_before_insert_listener(mapper, connection, target): 
    2081         if (target.ceda_process_id is None): 
    2082                 target.ceda_process_id = next_id(connection, 'ceda_process_id_seq') 
    2083         target.ceda_process_type = 'ceda_process' 
    2084         target.mo_process_type = 'mo_process' 
    2085         target.mo_process_id = next_id(connection, 'mo_process_id_seq') 
    2086         target.ceda_process_mo_process_id = target.mo_process_id 
    2087  
    2088 event.listen(CEDA_Process, 'before_insert', CEDA_Process_before_insert_listener) 
    2089  
    2090  
    2091  
    2092  
    2093 mapper(CI_Telephone, ci_telephone_table ) 
    2094  
    2095  
    2096  
    2097  
    2098  
    2099 mapper(DatePrecision, dateprecision_table       ) 
    2100  
    2101  
    2102  
    2103  
    2104  
    2105 mapper(MO_Process, mo_process_table.join(om_process_table)      ) 
    2106  
    2107 def MO_Process_before_insert_listener(mapper, connection, target): 
    2108         if (target.mo_process_id is None): 
    2109                 target.mo_process_id = next_id(connection, 'mo_process_id_seq') 
    2110         target.mo_process_type = 'mo_process' 
    2111         target.om_process_type = 'om_process' 
    2112         target.om_process_id = next_id(connection, 'om_process_id_seq') 
    2113         target.mo_process_om_process_id = target.om_process_id 
    2114  
    2115 event.listen(MO_Process, 'before_insert', MO_Process_before_insert_listener) 
    2116  
    2117  
    2118  
    2119  
    2120 mapper(MD_Constraints, md_constraints_table     ) 
    2121  
    2122  
    2123  
    2124  
    2125  
    2126 mapper(GenericName, genericname_table   ) 
    2127  
    2128 def GenericName_before_insert_listener(mapper, connection, target): 
    2129         if (target.genericname_id is None): 
    2130                 target.genericname_id = next_id(connection, 'genericname_id_seq') 
    2131         target.genericname_type = 'genericname' 
    2132  
    2133 event.listen(GenericName, 'before_insert', GenericName_before_insert_listener) 
    2134  
    2135  
    2136  
    2137  
    2138 mapper(TM_Primitive, tm_primitive_table.join(tm_object_table)   ) 
    2139  
    2140 def TM_Primitive_before_insert_listener(mapper, connection, target): 
    2141         if (target.tm_primitive_id is None): 
    2142                 target.tm_primitive_id = next_id(connection, 'tm_primitive_id_seq') 
    2143         target.tm_primitive_type = 'tm_primitive' 
    2144         target.tm_object_type = 'tm_object' 
    2145         target.tm_object_id = next_id(connection, 'tm_object_id_seq') 
    2146         target.tm_primitive_tm_object_id = target.tm_object_id 
    2147  
    2148 event.listen(TM_Primitive, 'before_insert', TM_Primitive_before_insert_listener) 
    2149  
    2150  
    2151  
    2152  
    2153 mapper(EX_GeographicExtent, ex_geographicextent_table   ) 
    2154  
    2155 def EX_GeographicExtent_before_insert_listener(mapper, connection, target): 
    2156         if (target.ex_geographicextent_id is None): 
    2157                 target.ex_geographicextent_id = next_id(connection, 'ex_geographicextent_id_seq') 
    2158         target.ex_geographicextent_type = 'ex_geographicextent' 
    2159  
    2160 event.listen(EX_GeographicExtent, 'before_insert', EX_GeographicExtent_before_insert_listener) 
    2161  
    2162  
    2163  
    2164  
    2165 mapper(RS_Identifier, rs_identifier_table.join(md_identifier_table)     ) 
    2166  
    2167 def RS_Identifier_before_insert_listener(mapper, connection, target): 
    2168         if (target.rs_identifier_id is None): 
    2169                 target.rs_identifier_id = next_id(connection, 'rs_identifier_id_seq') 
    2170         target.md_identifier_type = 'md_identifier' 
    2171         target.md_identifier_id = next_id(connection, 'md_identifier_id_seq') 
    2172         target.rs_identifier_md_identifier_id = target.md_identifier_id 
    2173  
    2174 event.listen(RS_Identifier, 'before_insert', RS_Identifier_before_insert_listener) 
    2175  
    2176  
    2177  
    2178  
    2179 mapper(Measure, measure_table   ) 
    2180  
    2181 def Measure_before_insert_listener(mapper, connection, target): 
    2182         if (target.measure_id is None): 
    2183                 target.measure_id = next_id(connection, 'measure_id_seq') 
    2184         target.measure_type = 'measure' 
    2185  
    2186 event.listen(Measure, 'before_insert', Measure_before_insert_listener) 
    2187  
    2188  
    2189  
    2190  
    2191 mapper(Distance, distance_table.join(length_table)      ) 
    2192  
    2193 def Distance_before_insert_listener(mapper, connection, target): 
    2194         if (target.distance_id is None): 
    2195                 target.distance_id = next_id(connection, 'distance_id_seq') 
    2196         target.length_type = 'length' 
    2197         target.length_id = next_id(connection, 'length_id_seq') 
    2198         target.distance_length_id = target.length_id 
    2199  
    2200 event.listen(Distance, 'before_insert', Distance_before_insert_listener) 
    2201  
    2202  
    2203  
    2204  
    2205 mapper(Time, time_table.join(measure_table)     ) 
    2206  
    2207 def Time_before_insert_listener(mapper, connection, target): 
    2208         if (target.time_id is None): 
    2209                 target.time_id = next_id(connection, 'time_id_seq') 
    2210         target.measure_type = 'measure' 
    2211         target.measure_id = next_id(connection, 'measure_id_seq') 
    2212         target.time_measure_id = target.measure_id 
    2213  
    2214 event.listen(Time, 'before_insert', Time_before_insert_listener) 
    2215  
    2216  
    2217  
    2218  
    2219 mapper(TM_PeriodDuration, tm_periodduration_table.join(tm_duration_table)       ) 
    2220  
    2221 def TM_PeriodDuration_before_insert_listener(mapper, connection, target): 
    2222         if (target.tm_periodduration_id is None): 
    2223                 target.tm_periodduration_id = next_id(connection, 'tm_periodduration_id_seq') 
    2224         target.tm_duration_type = 'tm_duration' 
    2225         target.tm_duration_id = next_id(connection, 'tm_duration_id_seq') 
    2226         target.tm_periodduration_tm_duration_id = target.tm_duration_id 
    2227  
    2228 event.listen(TM_PeriodDuration, 'before_insert', TM_PeriodDuration_before_insert_listener) 
    2229  
    2230  
    2231  
    2232  
    2233 mapper(MO_ResponsiblePartyInfo, mo_responsiblepartyinfo_table.join(ci_responsibility_table)     ) 
    2234  
    2235 def MO_ResponsiblePartyInfo_before_insert_listener(mapper, connection, target): 
    2236         if (target.mo_responsiblepartyinfo_id is None): 
    2237                 target.mo_responsiblepartyinfo_id = next_id(connection, 'mo_responsiblepartyinfo_id_seq') 
    2238         target.ci_responsibility_type = 'ci_responsibility' 
    2239         target.ci_responsibility_id = next_id(connection, 'ci_responsibility_id_seq') 
    2240         target.mo_responsiblepartyinfo_ci_responsibility_id = target.ci_responsibility_id 
    2241  
    2242 event.listen(MO_ResponsiblePartyInfo, 'before_insert', MO_ResponsiblePartyInfo_before_insert_listener) 
    2243  
    2244  
    2245  
    2246  
    2247 mapper(TM_Object, tm_object_table       ) 
    2248  
    2249 def TM_Object_before_insert_listener(mapper, connection, target): 
    2250         if (target.tm_object_id is None): 
    2251                 target.tm_object_id = next_id(connection, 'tm_object_id_seq') 
    2252         target.tm_object_type = 'tm_object' 
    2253  
    2254 event.listen(TM_Object, 'before_insert', TM_Object_before_insert_listener) 
    2255  
    2256  
    2257  
    2258  
    2259 mapper(GM_Object, gm_object_table       ) 
    2260  
    2261  
    2262  
    2263  
    2264  
    2265 mapper(CI_Address, ci_address_table     ) 
    2266  
    2267  
    2268  
    2269  
    2270  
    2271 mapper(UomScale, uomscale_table.join(unitofmeasure_table)       ) 
    2272  
    2273 def UomScale_before_insert_listener(mapper, connection, target): 
    2274         if (target.uomscale_id is None): 
    2275                 target.uomscale_id = next_id(connection, 'uomscale_id_seq') 
    2276         target.unitofmeasure_type = 'unitofmeasure' 
    2277         target.unitofmeasure_id = next_id(connection, 'unitofmeasure_id_seq') 
    2278         target.uomscale_unitofmeasure_id = target.unitofmeasure_id 
    2279  
    2280 event.listen(UomScale, 'before_insert', UomScale_before_insert_listener) 
    2281  
    2282  
    2283  
    2284  
    2285 mapper(MO_OnlineResource, mo_onlineresource_table.join(ci_onlineresource_table) , properties  = { 
    2286                         'applicationProfile': [mo_onlineresource_table.c.applicationProfile 
    2287                                         , mo_onlineresource_table.c.applicationProfile 
    2288                                         , ci_onlineresource_table.c.applicationProfile 
    2289                 ]  
    2290                 ,                               'function': [mo_onlineresource_table.c.function 
    2291                                         , mo_onlineresource_table.c.function 
    2292                                         , ci_onlineresource_table.c.function 
    2293                 ]  
    2294                                         } 
     2856 
     2857 
     2858 
     2859mapper(ScopedName, scopedname_table     ) 
     2860 
     2861 
     2862 
     2863 
     2864 
     2865 
     2866 
     2867 
     2868mapper(TM_PeriodDuration, tm_periodduration_table       ) 
     2869 
     2870 
     2871 
     2872 
     2873 
     2874 
     2875 
     2876 
     2877mapper(NamedValue, namedvalue_table     , properties  = {       'name': relationship(GenericName, uselist=False, primaryjoin=genericname_table.c.namedvalue_name==namedvalue_table.c.namedvalue_id 
     2878),      'value': relationship(Any, uselist=False, primaryjoin=any_table.c.namedvalue_value==namedvalue_table.c.namedvalue_id 
     2879)} 
    22952880        ) 
    22962881 
    2297 def MO_OnlineResource_before_insert_listener(mapper, connection, target): 
    2298         if (target.mo_onlineresource_id is None): 
    2299                 target.mo_onlineresource_id = next_id(connection, 'mo_onlineresource_id_seq') 
    2300         target.ci_onlineresource_type = 'ci_onlineresource' 
    2301         target.ci_onlineresource_id = next_id(connection, 'ci_onlineresource_id_seq') 
    2302         target.mo_onlineresource_ci_onlineresource_id = target.ci_onlineresource_id 
    2303  
    2304 event.listen(MO_OnlineResource, 'before_insert', MO_OnlineResource_before_insert_listener) 
    2305  
    2306  
    2307  
    2308  
    2309 mapper(DQ_Result, dq_result_table       ) 
    2310  
    2311  
    2312  
    2313  
    2314  
    2315 mapper(MD_SpatialRepresentation, md_spatialrepresentation_table ) 
    2316  
    2317  
    2318  
    2319  
    2320  
    2321 mapper(CEDA_Citation, ceda_citation_table       ) 
    2322  
    2323  
    2324  
    2325  
    2326  
    2327 mapper(ScopedName, scopedname_table.join(genericname_table)     ) 
    2328  
    2329 def ScopedName_before_insert_listener(mapper, connection, target): 
    2330         if (target.scopedname_id is None): 
    2331                 target.scopedname_id = next_id(connection, 'scopedname_id_seq') 
    2332         target.genericname_type = 'genericname' 
    2333         target.genericname_id = next_id(connection, 'genericname_id_seq') 
    2334         target.scopedname_genericname_id = target.genericname_id 
    2335  
    2336 event.listen(ScopedName, 'before_insert', ScopedName_before_insert_listener) 
    2337  
    2338  
    2339  
    2340  
    2341 mapper(CI_Responsibility, ci_responsibility_table       ) 
    2342  
    2343 def CI_Responsibility_before_insert_listener(mapper, connection, target): 
    2344         if (target.ci_responsibility_id is None): 
    2345                 target.ci_responsibility_id = next_id(connection, 'ci_responsibility_id_seq') 
    2346         target.ci_responsibility_type = 'ci_responsibility' 
    2347  
    2348 event.listen(CI_Responsibility, 'before_insert', CI_Responsibility_before_insert_listener) 
    2349  
    2350  
    2351  
    2352  
    2353 mapper(ClockTime, clocktime_table       ) 
    2354  
    2355 def ClockTime_before_insert_listener(mapper, connection, target): 
    2356         if (target.clocktime_id is None): 
    2357                 target.clocktime_id = next_id(connection, 'clocktime_id_seq') 
    2358         target.clocktime_type = 'clocktime' 
    2359  
    2360 event.listen(ClockTime, 'before_insert', ClockTime_before_insert_listener) 
    2361  
    2362  
    2363  
    2364  
    2365 mapper(LocalName, localname_table.join(genericname_table)       ) 
    2366  
    2367 def LocalName_before_insert_listener(mapper, connection, target): 
    2368         if (target.localname_id is None): 
    2369                 target.localname_id = next_id(connection, 'localname_id_seq') 
    2370         target.genericname_type = 'genericname' 
    2371         target.genericname_id = next_id(connection, 'genericname_id_seq') 
    2372         target.localname_genericname_id = target.genericname_id 
    2373  
    2374 event.listen(LocalName, 'before_insert', LocalName_before_insert_listener) 
    2375  
    2376  
    2377  
    2378  
    2379 mapper(OM_Process, om_process_table     ) 
    2380  
    2381 def OM_Process_before_insert_listener(mapper, connection, target): 
    2382         if (target.om_process_id is None): 
    2383                 target.om_process_id = next_id(connection, 'om_process_id_seq') 
    2384         target.om_process_type = 'om_process' 
    2385  
    2386 event.listen(OM_Process, 'before_insert', OM_Process_before_insert_listener) 
    2387  
    2388  
    2389  
    2390  
    2391 mapper(MD_Format, md_format_table       ) 
    2392  
    2393  
    2394  
    2395  
    2396  
    2397 mapper(CEDA_Result, ceda_result_table.join(mo_result_table)     ) 
    2398  
    2399 def CEDA_Result_before_insert_listener(mapper, connection, target): 
    2400         if (target.ceda_result_id is None): 
    2401                 target.ceda_result_id = next_id(connection, 'ceda_result_id_seq') 
    2402         target.mo_result_type = 'mo_result' 
    2403         target.mo_result_id = next_id(connection, 'mo_result_id_seq') 
    2404         target.ceda_result_mo_result_id = target.mo_result_id 
    2405  
    2406 event.listen(CEDA_Result, 'before_insert', CEDA_Result_before_insert_listener) 
    2407  
    2408  
    2409  
    2410  
    2411 mapper(MD_ContentInformation, md_contentinformation_table       ) 
    2412  
    2413  
    2414  
    2415  
    2416  
    2417 mapper(IO_IdentifiedObjectBase, io_identifiedobjectbase_table   , properties  ={ 
    2418         'identifier': relationship(RS_Identifier 
    2419 , primaryjoin=rs_identifier_table.c.io_identifiedobjectbase_identifier==io_identifiedobjectbase_table.c.io_identifiedobjectbase_id),    'alias': relationship(GenericName 
    2420 , primaryjoin=genericname_table.c.io_identifiedobjectbase_alias==io_identifiedobjectbase_table.c.io_identifiedobjectbase_id)} 
     2882 
     2883 
     2884 
     2885 
     2886 
     2887 
     2888 
     2889mapper(UomScale, uomscale_table ) 
     2890 
     2891 
     2892 
     2893 
     2894 
     2895 
     2896 
     2897 
     2898mapper(MO_Process, mo_process_table     ) 
     2899 
     2900 
     2901 
     2902 
     2903 
     2904 
     2905 
     2906 
     2907mapper(CI_OnlineResource, ci_onlineresource_table       , properties  = {       'linkage': relationship(URL, uselist=False, primaryjoin=url_table.c.ci_onlineresource_linkage==ci_onlineresource_table.c.ci_onlineresource_id 
     2908)} 
    24212909        ) 
    24222910 
    2423 def IO_IdentifiedObjectBase_before_insert_listener(mapper, connection, target): 
    2424         if (target.io_identifiedobjectbase_id is None): 
    2425                 target.io_identifiedobjectbase_id = next_id(connection, 'io_identifiedobjectbase_id_seq') 
    2426         target.io_identifiedobjectbase_type = 'io_identifiedobjectbase' 
    2427  
    2428 event.listen(IO_IdentifiedObjectBase, 'before_insert', IO_IdentifiedObjectBase_before_insert_listener) 
    2429  
    2430  
    2431  
    2432  
    2433 mapper(GF_PropertyType, gf_propertytype_table   , properties  ={ 
    2434         'constrainedBy': relationship(GF_Constraint 
    2435 , primaryjoin=gf_constraint_table.c.gf_propertytype_constrainedBy==gf_propertytype_table.c.gf_propertytype_id), 'memberName': relationship(LocalName, uselist=False, backref='gf_propertytype_table_memberName', primaryjoin=localname_table.c.gf_propertytype_memberName==gf_propertytype_table.c.gf_propertytype_id)} 
     2911 
     2912 
     2913 
     2914 
     2915 
     2916 
     2917 
     2918mapper(CEDA_Process, ceda_process_table ) 
     2919 
     2920 
     2921 
     2922 
     2923 
     2924 
     2925 
     2926 
     2927mapper(Date, date_table , properties  = {       'precision': relationship(DatePrecision, uselist=False, primaryjoin=dateprecision_table.c.date_precision==date_table.c.date_id 
     2928)} 
    24362929        ) 
    24372930 
     
    24402933 
    24412934 
    2442 mapper(MO_Result, mo_result_table       , properties  ={ 
    2443         'source': relationship(MO_OnlineResource 
    2444 , primaryjoin=mo_onlineresource_table.c.mo_result_source==mo_result_table.c.mo_result_id),      'sample': relationship(MO_OnlineResource 
    2445 , primaryjoin=mo_onlineresource_table.c.mo_result_sample==mo_result_table.c.mo_result_id)} 
     2935 
     2936 
     2937 
     2938mapper(LocalName, localname_table       ) 
     2939 
     2940 
     2941 
     2942 
     2943 
     2944 
     2945 
     2946 
     2947mapper(GF_PropertyType, gf_propertytype_table   , properties  = {       'memberName': relationship(LocalName, uselist=False, primaryjoin=localname_table.c.gf_propertytype_memberName==gf_propertytype_table.c.gf_propertytype_id 
     2948),      'constrainedBy': relationship(GF_Constraint 
     2949, primaryjoin=gf_constraint_table.c.gf_propertytype_constrainedBy==gf_propertytype_table.c.gf_propertytype_id 
     2950)} 
    24462951        ) 
    24472952 
    2448 def MO_Result_before_insert_listener(mapper, connection, target): 
    2449         if (target.mo_result_id is None): 
    2450                 target.mo_result_id = next_id(connection, 'mo_result_id_seq') 
    2451         target.mo_result_type = 'mo_result' 
    2452  
    2453 event.listen(MO_Result, 'before_insert', MO_Result_before_insert_listener) 
    2454  
    2455  
    2456  
    2457  
    2458 mapper(Length, length_table.join(measure_table) , properties  ={ 
    2459         'uom': relationship(UomLength, uselist=False, backref='length_table_uom', primaryjoin=uomlength_table.c.length_uom==length_table.c.length_id)} 
     2953 
     2954 
     2955 
     2956 
     2957 
     2958 
     2959 
     2960mapper(TM_Primitive, tm_primitive_table ) 
     2961 
     2962 
     2963 
     2964 
     2965 
     2966 
     2967 
     2968 
     2969mapper(UomLength, uomlength_table       ) 
     2970 
     2971 
     2972 
     2973 
     2974 
     2975 
     2976 
     2977 
     2978mapper(Time, time_table ) 
     2979 
     2980 
     2981 
     2982 
     2983 
     2984 
     2985 
     2986 
     2987mapper(CI_Contact, ci_contact_table     , properties  = {       'onlineResource': relationship(CI_OnlineResource, uselist=False, primaryjoin=ci_onlineresource_table.c.ci_contact_onlineResource==ci_contact_table.c.ci_contact_id 
     2988),      'address': relationship(CI_Address, uselist=False, primaryjoin=ci_address_table.c.ci_contact_address==ci_contact_table.c.ci_contact_id 
     2989),      'phone': relationship(CI_Telephone, uselist=False, primaryjoin=ci_telephone_table.c.ci_contact_phone==ci_contact_table.c.ci_contact_id 
     2990)} 
    24602991        ) 
    24612992 
    2462 def Length_before_insert_listener(mapper, connection, target): 
    2463         if (target.length_id is None): 
    2464                 target.length_id = next_id(connection, 'length_id_seq') 
    2465         target.length_type = 'length' 
    2466         target.measure_type = 'measure' 
    2467         target.measure_id = next_id(connection, 'measure_id_seq') 
    2468         target.length_measure_id = target.measure_id 
    2469  
    2470 event.listen(Length, 'before_insert', Length_before_insert_listener) 
    2471  
    2472  
    2473  
    2474  
    2475 mapper(MD_StandardOrderProcess, md_standardorderprocess_table   , properties  ={ 
    2476         'plannedAvailableDateTime': relationship(DateTime, uselist=False, backref='md_standardorderprocess_table_plannedAvailableDateTime', primaryjoin=datetime_table.c.md_standardorderprocess_plannedAvailableDateTime==md_standardorderprocess_table.c.md_standardorderprocess_id)} 
     2993 
     2994 
     2995 
     2996 
     2997 
     2998 
     2999 
     3000mapper(CI_Date, ci_date_table   , properties  = {       'date': relationship(Date, uselist=False, primaryjoin=date_table.c.ci_date_date==ci_date_table.c.ci_date_id 
     3001)} 
    24773002        ) 
    24783003 
     
    24813006 
    24823007 
    2483 mapper(Date, date_table , properties  ={ 
    2484         'precision': relationship(DatePrecision, uselist=False, backref='date_table_precision', primaryjoin=dateprecision_table.c.date_precision==date_table.c.date_id)} 
     3008 
     3009 
     3010 
     3011mapper(Scale, scale_table       , properties  = {       'uom': relationship(UomScale, uselist=False, primaryjoin=uomscale_table.c.scale_uom==scale_table.c.scale_id 
     3012),      'targetUnits': relationship(UomLength, uselist=False, primaryjoin=uomlength_table.c.scale_targetUnits==scale_table.c.scale_id 
     3013),      'sourceUnits': relationship(UomLength, uselist=False, primaryjoin=uomlength_table.c.scale_sourceUnits==scale_table.c.scale_id 
     3014)} 
    24853015        ) 
    24863016 
    2487 def Date_before_insert_listener(mapper, connection, target): 
    2488         if (target.date_id is None): 
    2489                 target.date_id = next_id(connection, 'date_id_seq') 
    2490         target.date_type = 'date' 
    2491  
    2492 event.listen(Date, 'before_insert', Date_before_insert_listener) 
    2493  
    2494  
    2495  
    2496  
    2497 mapper(CI_OnlineResource, ci_onlineresource_table       , properties  ={ 
    2498         'linkage': relationship(URL, uselist=False, backref='ci_onlineresource_table_linkage', primaryjoin=url_table.c.ci_onlineresource_linkage==ci_onlineresource_table.c.ci_onlineresource_id)} 
     3017 
     3018 
     3019 
     3020 
     3021 
     3022 
     3023 
     3024mapper(MO_OnlineResource, mo_onlineresource_table       ) 
     3025 
     3026 
     3027 
     3028 
     3029 
     3030 
     3031 
     3032 
     3033mapper(TM_GeometricPrimitive, tm_geometricprimitive_table       ) 
     3034 
     3035 
     3036 
     3037 
     3038 
     3039 
     3040 
     3041 
     3042mapper(MD_DigitalTransferOptions, md_digitaltransferoptions_table       , properties  = {       'offLine': relationship(MD_Medium, uselist=False, primaryjoin=md_medium_table.c.md_digitaltransferoptions_offLine==md_digitaltransferoptions_table.c.md_digitaltransferoptions_id 
     3043),      'onLine': relationship(CI_OnlineResource 
     3044, primaryjoin=ci_onlineresource_table.c.md_digitaltransferoptions_onLine==md_digitaltransferoptions_table.c.md_digitaltransferoptions_id 
     3045)} 
    24993046        ) 
    25003047 
    2501 def CI_OnlineResource_before_insert_listener(mapper, connection, target): 
    2502         if (target.ci_onlineresource_id is None): 
    2503                 target.ci_onlineresource_id = next_id(connection, 'ci_onlineresource_id_seq') 
    2504         target.ci_onlineresource_type = 'ci_onlineresource' 
    2505  
    2506 event.listen(CI_OnlineResource, 'before_insert', CI_OnlineResource_before_insert_listener) 
    2507  
    2508  
    2509  
    2510  
    2511 mapper(NamedValue, namedvalue_table     , properties  ={ 
    2512         'value': relationship(Any, uselist=False, backref='namedvalue_table_value', primaryjoin=any_table.c.namedvalue_value==namedvalue_table.c.namedvalue_id),        'name': relationship(GenericName, uselist=False, backref='namedvalue_table_name', primaryjoin=genericname_table.c.namedvalue_name==namedvalue_table.c.namedvalue_id)} 
     3048 
     3049 
     3050 
     3051 
     3052 
     3053 
     3054 
     3055mapper(MD_RepresentativeFraction, md_representativefraction_table       , properties  = {       'equivalentScale': relationship(Scale 
     3056, primaryjoin=scale_table.c.md_representativefraction_equivalentScale==md_representativefraction_table.c.md_representativefraction_id 
     3057)} 
    25133058        ) 
    25143059 
     
    25173062 
    25183063 
    2519 mapper(CI_Contact, ci_contact_table     , properties  ={ 
    2520         'onlineResource': relationship(CI_OnlineResource, uselist=False, backref='ci_contact_table_onlineResource', primaryjoin=ci_onlineresource_table.c.ci_contact_onlineResource==ci_contact_table.c.ci_contact_id), 'phone': relationship(CI_Telephone, uselist=False, backref='ci_contact_table_phone', primaryjoin=ci_telephone_table.c.ci_contact_phone==ci_contact_table.c.ci_contact_id),      'address': relationship(CI_Address, uselist=False, backref='ci_contact_table_address', primaryjoin=ci_address_table.c.ci_contact_address==ci_contact_table.c.ci_contact_id)} 
     3064 
     3065 
     3066 
     3067mapper(EX_TemporalExtent, ex_temporalextent_table       , properties  = {       'extent': relationship(TM_Primitive, uselist=False, primaryjoin=tm_primitive_table.c.ex_temporalextent_extent==ex_temporalextent_table.c.ex_temporalextent_id 
     3068)} 
    25213069        ) 
    25223070 
     
    25253073 
    25263074 
    2527 mapper(MD_ReferenceSystem, md_referencesystem_table     , properties  ={ 
    2528         'referenceSystemIdentifier': relationship(RS_Identifier, uselist=False, backref='md_referencesystem_table_referenceSystemIdentifier', primaryjoin=rs_identifier_table.c.md_referencesystem_referenceSystemIdentifier==md_referencesystem_table.c.md_referencesystem_id)} 
     3075 
     3076 
     3077 
     3078mapper(TM_Period, tm_period_table       ) 
     3079 
     3080 
     3081 
     3082 
     3083 
     3084 
     3085 
     3086 
     3087mapper(DateTime, datetime_table ) 
     3088 
     3089 
     3090 
     3091 
     3092 
     3093 
     3094 
     3095 
     3096mapper(Length, length_table     , properties  = {       'uom': relationship(UomLength, uselist=False, primaryjoin=uomlength_table.c.length_uom==length_table.c.length_id 
     3097)} 
    25293098        ) 
    25303099 
     
    25333102 
    25343103 
    2535 mapper(EX_TemporalExtent, ex_temporalextent_table       , properties  ={ 
    2536         'extent': relationship(TM_Primitive, uselist=False, backref='ex_temporalextent_table_extent', primaryjoin=tm_primitive_table.c.ex_temporalextent_extent==ex_temporalextent_table.c.ex_temporalextent_id)} 
     3104 
     3105 
     3106 
     3107mapper(Distance, distance_table ) 
     3108 
     3109 
     3110 
     3111 
     3112 
     3113 
     3114 
     3115 
     3116mapper(TM_Position, tm_position_table   , properties  = {       'dateTime8601': relationship(DateTime, uselist=False, primaryjoin=datetime_table.c.tm_position_dateTime8601==tm_position_table.c.tm_position_id 
     3117),      'date8601': relationship(Date, uselist=False, primaryjoin=date_table.c.tm_position_date8601==tm_position_table.c.tm_position_id 
     3118),      'anyOther': relationship(TM_TemporalPosition, uselist=False, primaryjoin=tm_temporalposition_table.c.tm_position_anyOther==tm_position_table.c.tm_position_id 
     3119),      'time8601': relationship(Time, uselist=False, primaryjoin=time_table.c.tm_position_time8601==tm_position_table.c.tm_position_id 
     3120)} 
    25373121        ) 
    25383122 
     
    25413125 
    25423126 
    2543 mapper(CEDA_Notes, ceda_notes_table     , properties  ={ 
    2544         'date': relationship(DateTime, uselist=False, backref='ceda_notes_table_date', primaryjoin=datetime_table.c.ceda_notes_date==ceda_notes_table.c.ceda_notes_id), 'commentator': relationship(MO_ResponsiblePartyInfo, uselist=False, backref='ceda_notes_table_commentator', primaryjoin=mo_responsiblepartyinfo_table.c.ceda_notes_commentator==ceda_notes_table.c.ceda_notes_id)} 
     3127 
     3128 
     3129 
     3130mapper(CI_ResponsibleParty, ci_responsibleparty_table   , properties  = {       'contactInfo': relationship(CI_Contact, uselist=False, primaryjoin=ci_contact_table.c.ci_responsibleparty_contactInfo==ci_responsibleparty_table.c.ci_responsibleparty_id 
     3131)} 
    25453132        ) 
    25463133 
     
    25493136 
    25503137 
    2551 mapper(LE_NominalResolution, le_nominalresolution_table , properties  ={ 
    2552         'scanningResolution': relationship(Distance, uselist=False, backref='le_nominalresolution_table_scanningResolution', primaryjoin=distance_table.c.le_nominalresolution_scanningResolution==le_nominalresolution_table.c.le_nominalresolution_id),       'groundResolution': relationship(Distance, uselist=False, backref='le_nominalresolution_table_groundResolution', primaryjoin=distance_table.c.le_nominalresolution_groundResolution==le_nominalresolution_table.c.le_nominalresolution_id)} 
     3138 
     3139 
     3140 
     3141mapper(CI_Party, ci_party_table , properties  = {       'contactInfo': relationship(CI_Contact 
     3142, primaryjoin=ci_contact_table.c.ci_party_contactInfo==ci_party_table.c.ci_party_id 
     3143)} 
    25533144        ) 
    25543145 
     
    25573148 
    25583149 
    2559 mapper(TM_Position, tm_position_table   , properties  ={ 
    2560         'time8601': relationship(Time, uselist=False, backref='tm_position_table_time8601', primaryjoin=time_table.c.tm_position_time8601==tm_position_table.c.tm_position_id), 'anyOther': relationship(TM_TemporalPosition, uselist=False, backref='tm_position_table_anyOther', primaryjoin=tm_temporalposition_table.c.tm_position_anyOther==tm_position_table.c.tm_position_id),   'dateTime8601': relationship(DateTime, uselist=False, backref='tm_position_table_dateTime8601', primaryjoin=datetime_table.c.tm_position_dateTime8601==tm_position_table.c.tm_position_id),     'date8601': relationship(Date, uselist=False, backref='tm_position_table_date8601', primaryjoin=date_table.c.tm_position_date8601==tm_position_table.c.tm_position_id)} 
     3150 
     3151 
     3152 
     3153mapper(CI_Individual, ci_individual_table       ) 
     3154 
     3155 
     3156 
     3157 
     3158 
     3159 
     3160 
     3161 
     3162mapper(MO_Computation, mo_computation_table     ) 
     3163 
     3164 
     3165 
     3166 
     3167 
     3168 
     3169 
     3170 
     3171mapper(LE_NominalResolution, le_nominalresolution_table , properties  = {       'groundResolution': relationship(Distance, uselist=False, primaryjoin=distance_table.c.le_nominalresolution_groundResolution==le_nominalresolution_table.c.le_nominalresolution_id 
     3172),      'scanningResolution': relationship(Distance, uselist=False, primaryjoin=distance_table.c.le_nominalresolution_scanningResolution==le_nominalresolution_table.c.le_nominalresolution_id 
     3173)} 
    25613174        ) 
    25623175 
     
    25653178 
    25663179 
    2567 mapper(EX_VerticalExtent, ex_verticalextent_table       , properties  ={ 
    2568         'verticalCRS': relationship(SC_CRS, uselist=False, backref='ex_verticalextent_table_verticalCRS', primaryjoin=sc_crs_table.c.ex_verticalextent_verticalCRS==ex_verticalextent_table.c.ex_verticalextent_id)} 
     3180 
     3181 
     3182 
     3183mapper(TM_Instant, tm_instant_table     , properties  = {       'position': relationship(TM_Position, uselist=False, primaryjoin=tm_position_table.c.tm_instant_position==tm_instant_table.c.tm_instant_id 
     3184)} 
    25693185        ) 
    25703186 
     
    25733189 
    25743190 
    2575 mapper(Scale, scale_table.join(measure_table)   , properties  ={ 
    2576         'targetUnits': relationship(UomLength, uselist=False, backref='scale_table_targetUnits', primaryjoin=uomlength_table.c.scale_targetUnits==scale_table.c.scale_id),      'sourceUnits': relationship(UomLength, uselist=False, backref='scale_table_sourceUnits', primaryjoin=uomlength_table.c.scale_sourceUnits==scale_table.c.scale_id),      'uom': relationship(UomScale, uselist=False, backref='scale_table_uom', primaryjoin=uomscale_table.c.scale_uom==scale_table.c.scale_id)} 
     3191 
     3192 
     3193 
     3194mapper(MD_Usage, md_usage_table , properties  = {       'usageDateTime': relationship(DateTime, uselist=False, primaryjoin=datetime_table.c.md_usage_usageDateTime==md_usage_table.c.md_usage_id 
     3195),      'userContactInfo': relationship(CI_ResponsibleParty 
     3196, primaryjoin=ci_responsibleparty_table.c.md_usage_userContactInfo==md_usage_table.c.md_usage_id 
     3197)} 
    25773198        ) 
    25783199 
    2579 def Scale_before_insert_listener(mapper, connection, target): 
    2580         if (target.scale_id is None): 
    2581                 target.scale_id = next_id(connection, 'scale_id_seq') 
    2582         target.measure_type = 'measure' 
    2583         target.measure_id = next_id(connection, 'measure_id_seq') 
    2584         target.scale_measure_id = target.measure_id 
    2585  
    2586 event.listen(Scale, 'before_insert', Scale_before_insert_listener) 
    2587  
    2588  
    2589  
    2590  
    2591 mapper(MD_RepresentativeFraction, md_representativefraction_table       , properties  ={ 
    2592         'equivalentScale': relationship(Scale 
    2593 , primaryjoin=scale_table.c.md_representativefraction_equivalentScale==md_representativefraction_table.c.md_representativefraction_id)} 
     3200 
     3201 
     3202 
     3203 
     3204 
     3205 
     3206 
     3207mapper(LI_ProcessStep, li_processstep_table     , properties  = {       'processor': relationship(CI_ResponsibleParty 
     3208, primaryjoin=ci_responsibleparty_table.c.li_processstep_processor==li_processstep_table.c.li_processstep_id 
     3209),      'dateTime': relationship(DateTime, uselist=False, primaryjoin=datetime_table.c.li_processstep_dateTime==li_processstep_table.c.li_processstep_id 
     3210)} 
    25943211        ) 
    25953212 
     
    25983215 
    25993216 
    2600 mapper(CEDA_Review, ceda_review_table   , properties  ={ 
    2601         'notes': relationship(CEDA_Notes 
    2602 , primaryjoin=ceda_notes_table.c.ceda_review_notes==ceda_review_table.c.ceda_review_id),        'reviewer': relationship(MO_ResponsiblePartyInfo, uselist=False, backref='ceda_review_table_reviewer', primaryjoin=mo_responsiblepartyinfo_table.c.ceda_review_reviewer==ceda_review_table.c.ceda_review_id)} 
     3217 
     3218 
     3219 
     3220mapper(CI_Organisation, ci_organisation_table   , properties  = {       'individual': relationship(CI_Individual 
     3221, primaryjoin=ci_individual_table.c.ci_organisation_individual==ci_organisation_table.c.ci_organisation_id 
     3222)} 
    26033223        ) 
    26043224 
     
    26073227 
    26083228 
    2609 mapper(EX_Extent, ex_extent_table       , properties  ={ 
    2610         'geographicElement': relationship(EX_GeographicExtent 
    2611 , primaryjoin=ex_geographicextent_table.c.ex_extent_geographicElement==ex_extent_table.c.ex_extent_id), 'verticalElement': relationship(EX_VerticalExtent 
    2612 , primaryjoin=ex_verticalextent_table.c.ex_extent_verticalElement==ex_extent_table.c.ex_extent_id),     'temporalElement': relationship(EX_TemporalExtent 
    2613 , primaryjoin=ex_temporalextent_table.c.ex_extent_temporalElement==ex_extent_table.c.ex_extent_id)} 
     3229 
     3230 
     3231 
     3232mapper(MO_Result, mo_result_table       , properties  = {       'source': relationship(MO_OnlineResource 
     3233, primaryjoin=mo_onlineresource_table.c.mo_result_source==mo_result_table.c.mo_result_id 
     3234),      'sample': relationship(MO_OnlineResource 
     3235, primaryjoin=mo_onlineresource_table.c.mo_result_sample==mo_result_table.c.mo_result_id 
     3236)} 
    26143237        ) 
    26153238 
     
    26183241 
    26193242 
    2620 mapper(CI_Date, ci_date_table   , properties  ={ 
    2621         'date': relationship(Date, uselist=False, backref='ci_date_table_date', primaryjoin=date_table.c.ci_date_date==ci_date_table.c.ci_date_id)} 
     3243 
     3244 
     3245 
     3246mapper(MD_ExtendedElementInformation, md_extendedelementinformation_table       , properties  = {       'source': relationship(CI_ResponsibleParty 
     3247, primaryjoin=ci_responsibleparty_table.c.md_extendedelementinformation_source==md_extendedelementinformation_table.c.md_extendedelementinformation_id 
     3248)} 
    26223249        ) 
    26233250 
     
    26263253 
    26273254 
    2628 mapper(MD_DigitalTransferOptions, md_digitaltransferoptions_table       , properties  ={ 
    2629         'offLine': relationship(MD_Medium, uselist=False, backref='md_digitaltransferoptions_table_offLine', primaryjoin=md_medium_table.c.md_digitaltransferoptions_offLine==md_digitaltransferoptions_table.c.md_digitaltransferoptions_id),  'onLine': relationship(CI_OnlineResource 
    2630 , primaryjoin=ci_onlineresource_table.c.md_digitaltransferoptions_onLine==md_digitaltransferoptions_table.c.md_digitaltransferoptions_id)} 
     3255 
     3256 
     3257 
     3258mapper(MD_MaintenanceInformation, md_maintenanceinformation_table       , properties  = {       'userDefinedMaintenanceFrequency': relationship(TM_PeriodDuration, uselist=False, primaryjoin=tm_periodduration_table.c.md_maintenanceinformation_userDefinedMaintenanceFrequency==md_maintenanceinformation_table.c.md_maintenanceinformation_id 
     3259),      'dateOfNextUpdate': relationship(Date, uselist=False, primaryjoin=date_table.c.md_maintenanceinformation_dateOfNextUpdate==md_maintenanceinformation_table.c.md_maintenanceinformation_id 
     3260),      'updateScopeDescription': relationship(MD_ScopeDescription 
     3261, primaryjoin=md_scopedescription_table.c.md_maintenanceinformation_updateScopeDescription==md_maintenanceinformation_table.c.md_maintenanceinformation_id 
     3262),      'contact': relationship(CI_ResponsibleParty 
     3263, primaryjoin=ci_responsibleparty_table.c.md_maintenanceinformation_contact==md_maintenanceinformation_table.c.md_maintenanceinformation_id 
     3264)} 
    26313265        ) 
    26323266 
     
    26353269 
    26363270 
    2637 mapper(TM_Instant, tm_instant_table.join(tm_geometricprimitive_table)   , properties  ={ 
    2638         'position': relationship(TM_Position, uselist=False, backref='tm_instant_table_position', primaryjoin=tm_position_table.c.tm_instant_position==tm_instant_table.c.tm_instant_id)} 
     3271 
     3272 
     3273 
     3274mapper(MD_StandardOrderProcess, md_standardorderprocess_table   , properties  = {       'plannedAvailableDateTime': relationship(DateTime, uselist=False, primaryjoin=datetime_table.c.md_standardorderprocess_plannedAvailableDateTime==md_standardorderprocess_table.c.md_standardorderprocess_id 
     3275)} 
    26393276        ) 
    26403277 
    2641 def TM_Instant_before_insert_listener(mapper, connection, target): 
    2642         if (target.tm_instant_id is None): 
    2643                 target.tm_instant_id = next_id(connection, 'tm_instant_id_seq') 
    2644         target.tm_geometricprimitive_type = 'tm_geometricprimitive' 
    2645         target.tm_geometricprimitive_id = next_id(connection, 'tm_geometricprimitive_id_seq') 
    2646         target.tm_instant_tm_geometricprimitive_id = target.tm_geometricprimitive_id 
    2647  
    2648 event.listen(TM_Instant, 'before_insert', TM_Instant_before_insert_listener) 
    2649  
    2650  
    2651  
    2652  
    2653 mapper(RS_ReferenceSystem, rs_referencesystem_table     , properties  ={ 
    2654         'name': relationship(RS_Identifier, uselist=False, backref='rs_referencesystem_table_name', primaryjoin=rs_identifier_table.c.rs_referencesystem_name==rs_referencesystem_table.c.rs_referencesystem_id),       'domainOfValidity': relationship(EX_Extent, uselist=False, backref='rs_referencesystem_table_domainOfValidity', primaryjoin=ex_extent_table.c.rs_referencesystem_domainOfValidity==rs_referencesystem_table.c.rs_referencesystem_id)} 
     3278 
     3279 
     3280 
     3281 
     3282 
     3283 
     3284 
     3285mapper(MD_MetadataExtensionInformation, md_metadataextensioninformation_table   , properties  = {       'extendedElementInformation': relationship(MD_ExtendedElementInformation 
     3286, primaryjoin=md_extendedelementinformation_table.c.md_metadataextensioninformation_extendedElementInformation==md_metadataextensioninformation_table.c.md_metadataextensioninformation_id 
     3287),      'extensionOnLineResource': relationship(CI_OnlineResource, uselist=False, primaryjoin=ci_onlineresource_table.c.md_metadataextensioninformation_extensionOnLineResource==md_metadataextensioninformation_table.c.md_metadataextensioninformation_id 
     3288)} 
    26553289        ) 
    26563290 
    2657 def RS_ReferenceSystem_before_insert_listener(mapper, connection, target): 
    2658         if (target.rs_referencesystem_id is None): 
    2659                 target.rs_referencesystem_id = next_id(connection, 'rs_referencesystem_id_seq') 
    2660         target.rs_referencesystem_type = 'rs_referencesystem' 
    2661  
    2662 event.listen(RS_ReferenceSystem, 'before_insert', RS_ReferenceSystem_before_insert_listener) 
    2663  
    2664  
    2665  
    2666  
    2667 mapper(CI_ResponsibleParty, ci_responsibleparty_table   , properties  ={ 
    2668         'contactInfo': relationship(CI_Contact, uselist=False, backref='ci_responsibleparty_table_contactInfo', primaryjoin=ci_contact_table.c.ci_responsibleparty_contactInfo==ci_responsibleparty_table.c.ci_responsibleparty_id)} 
     3291 
     3292 
     3293 
     3294 
     3295 
     3296 
     3297 
     3298mapper(MD_Distributor, md_distributor_table     , properties  = {       'distributorTransferOptions': relationship(MD_DigitalTransferOptions 
     3299, primaryjoin=md_digitaltransferoptions_table.c.md_distributor_distributorTransferOptions==md_distributor_table.c.md_distributor_id 
     3300),      'distributorContact': relationship(CI_ResponsibleParty, uselist=False, primaryjoin=ci_responsibleparty_table.c.md_distributor_distributorContact==md_distributor_table.c.md_distributor_id 
     3301),      'distributionOrderProcess': relationship(MD_StandardOrderProcess 
     3302, primaryjoin=md_standardorderprocess_table.c.md_distributor_distributionOrderProcess==md_distributor_table.c.md_distributor_id 
     3303)} 
    26693304        ) 
    26703305 
     
    26733308 
    26743309 
    2675 mapper(CI_Citation, ci_citation_table   , properties  ={ 
    2676         'series': relationship(CI_Series, uselist=False, backref='ci_citation_table_series', primaryjoin=ci_series_table.c.ci_citation_series==ci_citation_table.c.ci_citation_id),     'editionDate': relationship(Date, uselist=False, backref='ci_citation_table_editionDate', primaryjoin=date_table.c.ci_citation_editionDate==ci_citation_table.c.ci_citation_id),        'date': relationship(CI_Date 
    2677 , primaryjoin=ci_date_table.c.ci_citation_date==ci_citation_table.c.ci_citation_id),    'citedResponsibleParty': relationship(CI_ResponsibleParty 
    2678 , primaryjoin=ci_responsibleparty_table.c.ci_citation_citedResponsibleParty==ci_citation_table.c.ci_citation_id)} 
     3310 
     3311 
     3312 
     3313mapper(MD_Distribution, md_distribution_table   , properties  = {       'transferOptions': relationship(MD_DigitalTransferOptions 
     3314, primaryjoin=md_digitaltransferoptions_table.c.md_distribution_transferOptions==md_distribution_table.c.md_distribution_id 
     3315),      'distributor': relationship(MD_Distributor 
     3316, primaryjoin=md_distributor_table.c.md_distribution_distributor==md_distribution_table.c.md_distribution_id 
     3317),      'distributionFormat': relationship(MD_Format 
     3318, primaryjoin=md_format_table.c.md_distribution_distributionFormat==md_distribution_table.c.md_distribution_id 
     3319)} 
    26793320        ) 
    26803321 
     
    26833324 
    26843325 
    2685 mapper(MD_ExtendedElementInformation, md_extendedelementinformation_table       , properties  ={ 
    2686         'source': relationship(CI_ResponsibleParty 
    2687 , primaryjoin=ci_responsibleparty_table.c.md_extendedelementinformation_source==md_extendedelementinformation_table.c.md_extendedelementinformation_id)} 
    2688         ) 
    2689  
    2690  
    2691  
    2692  
    2693  
    2694 mapper(MD_MetadataExtensionInformation, md_metadataextensioninformation_table   , properties  ={ 
    2695         'extendedElementInformation': relationship(MD_ExtendedElementInformation 
    2696 , primaryjoin=md_extendedelementinformation_table.c.md_metadataextensioninformation_extendedElementInformation==md_metadataextensioninformation_table.c.md_metadataextensioninformation_id),    'extensionOnLineResource': relationship(CI_OnlineResource, uselist=False, backref='md_metadataextensioninformation_table_extensionOnLineResource', primaryjoin=ci_onlineresource_table.c.md_metadataextensioninformation_extensionOnLineResource==md_metadataextensioninformation_table.c.md_metadataextensioninformation_id)} 
    2697         ) 
    2698  
    2699  
    2700  
    2701  
    2702  
    2703 mapper(DQ_Scope, dq_scope_table , properties  ={ 
    2704         'levelDescription': relationship(MD_ScopeDescription 
    2705 , primaryjoin=md_scopedescription_table.c.dq_scope_levelDescription==dq_scope_table.c.dq_scope_id),     'extent': relationship(EX_Extent, uselist=False, backref='dq_scope_table_extent', primaryjoin=ex_extent_table.c.dq_scope_extent==dq_scope_table.c.dq_scope_id)} 
    2706         ) 
    2707  
    2708  
    2709  
    2710  
    2711  
    2712 mapper(LE_Algorithm, le_algorithm_table , properties  ={ 
    2713         'citation': relationship(CI_Citation, uselist=False, backref='le_algorithm_table_citation', primaryjoin=ci_citation_table.c.le_algorithm_citation==le_algorithm_table.c.le_algorithm_id)} 
    2714         ) 
    2715  
    2716  
    2717  
    2718  
    2719  
    2720 mapper(MD_Keywords, md_keywords_table   , properties  ={ 
    2721         'thesaurusName': relationship(CI_Citation, uselist=False, backref='md_keywords_table_thesaurusName', primaryjoin=ci_citation_table.c.md_keywords_thesaurusName==md_keywords_table.c.md_keywords_id)} 
    2722         ) 
    2723  
    2724  
    2725  
    2726  
    2727  
    2728 mapper(MD_Identifier, md_identifier_table       , properties  ={ 
    2729         'authority': relationship(CI_Citation,  
    2730 secondary=ci_citation_md_identifier_table, 
    2731  backref='identifier' )} 
    2732         ) 
    2733  
    2734 def MD_Identifier_before_insert_listener(mapper, connection, target): 
    2735         if (target.md_identifier_id is None): 
    2736                 target.md_identifier_id = next_id(connection, 'md_identifier_id_seq') 
    2737         target.md_identifier_type = 'md_identifier' 
    2738  
    2739 event.listen(MD_Identifier, 'before_insert', MD_Identifier_before_insert_listener) 
    2740  
    2741  
    2742  
    2743  
    2744 mapper(MD_Usage, md_usage_table , properties  ={ 
    2745         'userContactInfo': relationship(CI_ResponsibleParty 
    2746 , primaryjoin=ci_responsibleparty_table.c.md_usage_userContactInfo==md_usage_table.c.md_usage_id),      'usageDateTime': relationship(DateTime, uselist=False, backref='md_usage_table_usageDateTime', primaryjoin=datetime_table.c.md_usage_usageDateTime==md_usage_table.c.md_usage_id)} 
    2747         ) 
    2748  
    2749  
    2750  
    2751  
    2752  
    2753 mapper(MD_PortrayalCatalogueReference, md_portrayalcataloguereference_table     , properties  ={ 
    2754         'portrayalCatalogueCitation': relationship(CI_Citation 
    2755 , primaryjoin=ci_citation_table.c.md_portrayalcataloguereference_portrayalCatalogueCitation==md_portrayalcataloguereference_table.c.md_portrayalcataloguereference_id)} 
    2756         ) 
    2757  
    2758  
    2759  
    2760  
    2761  
    2762 mapper(MO_Instrument, mo_instrument_table       , properties  ={ 
    2763         'documentation': relationship(CI_Citation 
    2764 , primaryjoin=ci_citation_table.c.mo_instrument_documentation==mo_instrument_table.c.mo_instrument_id), 'type': relationship(ScopedName, uselist=False, backref='mo_instrument_table_type', primaryjoin=scopedname_table.c.mo_instrument_type==mo_instrument_table.c.mo_instrument_id), 'realatedParty': relationship(MO_ResponsiblePartyInfo 
    2765 , primaryjoin=mo_responsiblepartyinfo_table.c.mo_instrument_realatedParty==mo_instrument_table.c.mo_instrument_id),     'identifier': relationship(MD_Identifier 
    2766 , primaryjoin=md_identifier_table.c.mo_instrument_identifier==mo_instrument_table.c.mo_instrument_id)} 
    2767         ) 
    2768  
    2769 def MO_Instrument_before_insert_listener(mapper, connection, target): 
    2770         if (target.mo_instrument_id is None): 
    2771                 target.mo_instrument_id = next_id(connection, 'mo_instrument_id_seq') 
    2772         target.mo_instrument_type = 'mo_instrument' 
    2773  
    2774 event.listen(MO_Instrument, 'before_insert', MO_Instrument_before_insert_listener) 
    2775  
    2776  
    2777  
    2778  
    2779 mapper(MD_ApplicationSchemaInformation, md_applicationschemainformation_table   , properties  ={ 
    2780         'name': relationship(CI_Citation, uselist=False, backref='md_applicationschemainformation_table_name', primaryjoin=ci_citation_table.c.md_applicationschemainformation_name==md_applicationschemainformation_table.c.md_applicationschemainformation_id)} 
    2781         ) 
    2782  
    2783  
    2784  
    2785  
    2786  
    2787 mapper(LI_Source, li_source_table       , properties  ={ 
    2788         'scaleDenominator': relationship(MD_RepresentativeFraction, uselist=False, backref='li_source_table_scaleDenominator', primaryjoin=md_representativefraction_table.c.li_source_scaleDenominator==li_source_table.c.li_source_id),       'sourceCitation': relationship(CI_Citation, uselist=False, backref='li_source_table_sourceCitation', primaryjoin=ci_citation_table.c.li_source_sourceCitation==li_source_table.c.li_source_id), 'sourceReferenceSystem': relationship(MD_ReferenceSystem, uselist=False, backref='li_source_table_sourceReferenceSystem', primaryjoin=md_referencesystem_table.c.li_source_sourceReferenceSystem==li_source_table.c.li_source_id),      'sourceExtent': relationship(EX_Extent 
    2789 , primaryjoin=ex_extent_table.c.li_source_sourceExtent==li_source_table.c.li_source_id)} 
    2790         ) 
    2791  
    2792 def LI_Source_before_insert_listener(mapper, connection, target): 
    2793         if (target.li_source_id is None): 
    2794                 target.li_source_id = next_id(connection, 'li_source_id_seq') 
    2795         target.li_source_type = 'li_source' 
    2796  
    2797 event.listen(LI_Source, 'before_insert', LI_Source_before_insert_listener) 
    2798  
    2799  
    2800  
    2801  
    2802 mapper(MD_AggregateInformation, md_aggregateinformation_table   , properties  ={ 
    2803         'aggregateDataSetName': relationship(CI_Citation, uselist=False, backref='md_aggregateinformation_table_aggregateDataSetName', primaryjoin=ci_citation_table.c.md_aggregateinformation_aggregateDataSetName==md_aggregateinformation_table.c.md_aggregateinformation_id),       'aggregateDataSetIdentifier': relationship(MD_Identifier, uselist=False, backref='md_aggregateinformation_table_aggregateDataSetIdentifier', primaryjoin=md_identifier_table.c.md_aggregateinformation_aggregateDataSetIdentifier==md_aggregateinformation_table.c.md_aggregateinformation_id)} 
    2804         ) 
    2805  
    2806  
    2807  
    2808  
    2809  
    2810 mapper(MD_Distributor, md_distributor_table     , properties  ={ 
    2811         'distributionOrderProcess': relationship(MD_StandardOrderProcess 
    2812 , primaryjoin=md_standardorderprocess_table.c.md_distributor_distributionOrderProcess==md_distributor_table.c.md_distributor_id),       'distributorTransferOptions': relationship(MD_DigitalTransferOptions 
    2813 , primaryjoin=md_digitaltransferoptions_table.c.md_distributor_distributorTransferOptions==md_distributor_table.c.md_distributor_id),   'distributorContact': relationship(CI_ResponsibleParty, uselist=False, backref='md_distributor_table_distributorContact', primaryjoin=ci_responsibleparty_table.c.md_distributor_distributorContact==md_distributor_table.c.md_distributor_id)} 
    2814         ) 
    2815  
    2816  
    2817  
    2818  
    2819  
    2820 mapper(DQ_Element, dq_element_table     , properties  ={ 
    2821         'evaluationProcedure': relationship(CI_Citation, uselist=False, backref='dq_element_table_evaluationProcedure', primaryjoin=ci_citation_table.c.dq_element_evaluationProcedure==dq_element_table.c.dq_element_id),      'result': relationship(DQ_Result 
    2822 , primaryjoin=dq_result_table.c.dq_element_result==dq_element_table.c.dq_element_id),   'dateTime': relationship(DateTime 
    2823 , primaryjoin=datetime_table.c.dq_element_dateTime==dq_element_table.c.dq_element_id),  'measureIdentification': relationship(MD_Identifier, uselist=False, backref='dq_element_table_measureIdentification', primaryjoin=md_identifier_table.c.dq_element_measureIdentification==dq_element_table.c.dq_element_id)} 
    2824         ) 
    2825  
    2826  
    2827  
    2828  
    2829  
    2830 mapper(MD_Distribution, md_distribution_table   , properties  ={ 
    2831         'transferOptions': relationship(MD_DigitalTransferOptions 
    2832 , primaryjoin=md_digitaltransferoptions_table.c.md_distribution_transferOptions==md_distribution_table.c.md_distribution_id),   'distributionFormat': relationship(MD_Format 
    2833 , primaryjoin=md_format_table.c.md_distribution_distributionFormat==md_distribution_table.c.md_distribution_id),        'distributor': relationship(MD_Distributor 
    2834 , primaryjoin=md_distributor_table.c.md_distribution_distributor==md_distribution_table.c.md_distribution_id)} 
    2835         ) 
    2836  
    2837  
    2838  
    2839  
    2840  
    2841 mapper(MD_MaintenanceInformation, md_maintenanceinformation_table       , properties  ={ 
    2842         'dateOfNextUpdate': relationship(Date, uselist=False, backref='md_maintenanceinformation_table_dateOfNextUpdate', primaryjoin=date_table.c.md_maintenanceinformation_dateOfNextUpdate==md_maintenanceinformation_table.c.md_maintenanceinformation_id), 'contact': relationship(CI_ResponsibleParty 
    2843 , primaryjoin=ci_responsibleparty_table.c.md_maintenanceinformation_contact==md_maintenanceinformation_table.c.md_maintenanceinformation_id),   'userDefinedMaintenanceFrequency': relationship(TM_PeriodDuration, uselist=False, backref='md_maintenanceinformation_table_userDefinedMaintenanceFrequency', primaryjoin=tm_periodduration_table.c.md_maintenanceinformation_userDefinedMaintenanceFrequency==md_maintenanceinformation_table.c.md_maintenanceinformation_id),  'updateScopeDescription': relationship(MD_ScopeDescription 
    2844 , primaryjoin=md_scopedescription_table.c.md_maintenanceinformation_updateScopeDescription==md_maintenanceinformation_table.c.md_maintenanceinformation_id)} 
    2845         ) 
    2846  
    2847  
    2848  
    2849  
    2850  
    2851 mapper(LI_ProcessStep, li_processstep_table     , properties  ={ 
    2852         'dateTime': relationship(DateTime, uselist=False, backref='li_processstep_table_dateTime', primaryjoin=datetime_table.c.li_processstep_dateTime==li_processstep_table.c.li_processstep_id),     'processor': relationship(CI_ResponsibleParty 
    2853 , primaryjoin=ci_responsibleparty_table.c.li_processstep_processor==li_processstep_table.c.li_processstep_id)} 
    2854         ) 
    2855  
    2856  
    2857  
    2858  
    2859  
    2860 mapper(MD_Identification, md_identification_table       , properties  ={ 
    2861         'resourceMaintenance': relationship(MD_MaintenanceInformation 
    2862 , primaryjoin=md_maintenanceinformation_table.c.md_identification_resourceMaintenance==md_identification_table.c.md_identification_id), 'resourceConstraints': relationship(MD_Constraints 
    2863 , primaryjoin=md_constraints_table.c.md_identification_resourceConstraints==md_identification_table.c.md_identification_id),    'resourceSpecificUsage': relationship(MD_Usage 
    2864 , primaryjoin=md_usage_table.c.md_identification_resourceSpecificUsage==md_identification_table.c.md_identification_id),        'resourceFormat': relationship(MD_Format 
    2865 , primaryjoin=md_format_table.c.md_identification_resourceFormat==md_identification_table.c.md_identification_id),      'aggregationInfo': relationship(MD_AggregateInformation 
    2866 , primaryjoin=md_aggregateinformation_table.c.md_identification_aggregationInfo==md_identification_table.c.md_identification_id),       'citation': relationship(CI_Citation, uselist=False, backref='md_identification_table_citation', primaryjoin=ci_citation_table.c.md_identification_citation==md_identification_table.c.md_identification_id),   'pointOfContact': relationship(CI_ResponsibleParty 
    2867 , primaryjoin=ci_responsibleparty_table.c.md_identification_pointOfContact==md_identification_table.c.md_identification_id),    'graphicOverview': relationship(MD_BrowseGraphic 
    2868 , primaryjoin=md_browsegraphic_table.c.md_identification_graphicOverview==md_identification_table.c.md_identification_id),      'descriptiveKeywords': relationship(MD_Keywords 
    2869 , primaryjoin=md_keywords_table.c.md_identification_descriptiveKeywords==md_identification_table.c.md_identification_id)} 
    2870         ) 
    2871  
    2872  
    2873  
    2874  
    2875  
    2876 mapper(LE_Source, le_source_table.join(li_source_table) , properties  ={ 
    2877         'resolution': relationship(LE_NominalResolution, uselist=False, backref='le_source_table_resolution', primaryjoin=le_nominalresolution_table.c.le_source_resolution==le_source_table.c.le_source_id),   'processedLevel': relationship(MD_Identifier, uselist=False, backref='le_source_table_processedLevel', primaryjoin=md_identifier_table.c.le_source_processedLevel==le_source_table.c.le_source_id)} 
    2878         ) 
    2879  
    2880 def LE_Source_before_insert_listener(mapper, connection, target): 
    2881         if (target.le_source_id is None): 
    2882                 target.le_source_id = next_id(connection, 'le_source_id_seq') 
    2883         target.li_source_type = 'li_source' 
    2884         target.li_source_id = next_id(connection, 'li_source_id_seq') 
    2885         target.le_source_li_source_id = target.li_source_id 
    2886  
    2887 event.listen(LE_Source, 'before_insert', LE_Source_before_insert_listener) 
    2888  
    2889  
    2890  
    2891  
    2892 mapper(LI_Lineage, li_lineage_table     , properties  ={ 
    2893         'source': relationship(LI_Source 
    2894 , primaryjoin=li_source_table.c.li_lineage_source==li_lineage_table.c.li_lineage_id),   'processStep': relationship(LI_ProcessStep 
    2895 , primaryjoin=li_processstep_table.c.li_lineage_processStep==li_lineage_table.c.li_lineage_id)} 
    2896         ) 
    2897  
    2898  
    2899  
    2900  
    2901  
    2902 mapper(MO_Project, mo_project_table     , properties  ={ 
    2903         'relatedParty': relationship(MO_ResponsiblePartyInfo 
    2904 , primaryjoin=mo_responsiblepartyinfo_table.c.mo_project_relatedParty==mo_project_table.c.mo_project_id),       'identifier': relationship(MD_Identifier 
    2905 , primaryjoin=md_identifier_table.c.mo_project_identifier==mo_project_table.c.mo_project_id),   'dmp': relationship(CI_Citation, uselist=False, backref='mo_project_table_dmp', primaryjoin=ci_citation_table.c.mo_project_dmp==mo_project_table.c.mo_project_id),      'documentation': relationship(CI_Citation 
    2906 , primaryjoin=ci_citation_table.c.mo_project_documentation==mo_project_table.c.mo_project_id),  'keywords': relationship(MD_Keywords 
    2907 , primaryjoin=md_keywords_table.c.mo_project_keywords==mo_project_table.c.mo_project_id)} 
    2908         ) 
    2909  
    2910 def MO_Project_before_insert_listener(mapper, connection, target): 
    2911         if (target.mo_project_id is None): 
    2912                 target.mo_project_id = next_id(connection, 'mo_project_id_seq') 
    2913         target.mo_project_type = 'mo_project' 
    2914  
    2915 event.listen(MO_Project, 'before_insert', MO_Project_before_insert_listener) 
    2916  
    2917  
    2918  
    2919  
    2920 mapper(CEDA_Instrument, ceda_instrument_table.join(mo_instrument_table) , properties  ={ 
    2921         'review': relationship(CEDA_Review 
    2922 , primaryjoin=ceda_review_table.c.ceda_instrument_review==ceda_instrument_table.c.ceda_instrument_id)} 
    2923         ) 
    2924  
    2925 def CEDA_Instrument_before_insert_listener(mapper, connection, target): 
    2926         if (target.ceda_instrument_id is None): 
    2927                 target.ceda_instrument_id = next_id(connection, 'ceda_instrument_id_seq') 
    2928         target.mo_instrument_type = 'mo_instrument' 
    2929         target.mo_instrument_id = next_id(connection, 'mo_instrument_id_seq') 
    2930         target.ceda_instrument_mo_instrument_id = target.mo_instrument_id 
    2931  
    2932 event.listen(CEDA_Instrument, 'before_insert', CEDA_Instrument_before_insert_listener) 
    2933  
    2934  
    2935  
    2936  
    2937 mapper(DQ_DataQuality, dq_dataquality_table     , properties  ={ 
    2938         'scope': relationship(DQ_Scope, uselist=False, backref='dq_dataquality_table_scope', primaryjoin=dq_scope_table.c.dq_dataquality_scope==dq_dataquality_table.c.dq_dataquality_id),      'report': relationship(DQ_Element 
    2939 , primaryjoin=dq_element_table.c.dq_dataquality_report==dq_dataquality_table.c.dq_dataquality_id),      'lineage': relationship(LI_Lineage, uselist=False, backref='dq_dataquality_table_lineage', primaryjoin=li_lineage_table.c.dq_dataquality_lineage==dq_dataquality_table.c.dq_dataquality_id)} 
    2940         ) 
    2941  
    2942  
    2943  
    2944  
    2945  
    2946 mapper(EX_GeographicDescription, ex_geographicdescription_table.join(ex_geographicextent_table) , properties  ={ 
    2947         'geographicIdentifier': relationship(MD_Identifier, uselist=False, backref='ex_geographicdescription_table_geographicIdentifier', primaryjoin=md_identifier_table.c.ex_geographicdescription_geographicIdentifier==ex_geographicdescription_table.c.ex_geographicdescription_id)} 
    2948         ) 
    2949  
    2950 def EX_GeographicDescription_before_insert_listener(mapper, connection, target): 
    2951         if (target.ex_geographicdescription_id is None): 
    2952                 target.ex_geographicdescription_id = next_id(connection, 'ex_geographicdescription_id_seq') 
    2953         target.ex_geographicextent_type = 'ex_geographicextent' 
    2954         target.ex_geographicextent_id = next_id(connection, 'ex_geographicextent_id_seq') 
    2955         target.ex_geographicdescription_ex_geographicextent_id = target.ex_geographicextent_id 
    2956  
    2957 event.listen(EX_GeographicDescription, 'before_insert', EX_GeographicDescription_before_insert_listener) 
    2958  
    2959  
    2960  
    2961  
    2962 mapper(MO_Location, mo_location_table   , properties  ={ 
    2963         'geometryLocation': relationship(GM_Object, uselist=False, backref='mo_location_table_geometryLocation', primaryjoin=gm_object_table.c.mo_location_geometryLocation==mo_location_table.c.mo_location_id),       'nameLocation': relationship(EX_GeographicDescription, uselist=False, backref='mo_location_table_nameLocation', primaryjoin=ex_geographicdescription_table.c.mo_location_nameLocation==mo_location_table.c.mo_location_id)} 
    2964         ) 
    2965  
    2966  
    2967  
    2968  
    2969  
    2970 mapper(MO_InputOutput, mo_inputoutput_table     , properties  ={ 
    2971         'description': relationship(LE_Source, uselist=False, backref='mo_inputoutput_table_description', primaryjoin=le_source_table.c.mo_inputoutput_description==mo_inputoutput_table.c.mo_inputoutput_id),  'name': relationship(GenericName, uselist=False, backref='mo_inputoutput_table_name', primaryjoin=genericname_table.c.mo_inputoutput_name==mo_inputoutput_table.c.mo_inputoutput_id)} 
    2972         ) 
    2973  
    2974  
    2975  
    2976  
    2977  
    2978 mapper(MO_Platform, mo_platform_table   , properties  ={ 
    2979         'documentation': relationship(CI_Citation 
    2980 , primaryjoin=ci_citation_table.c.mo_platform_documentation==mo_platform_table.c.mo_platform_id),       'location': relationship(MO_Location, uselist=False, backref='mo_platform_table_location', primaryjoin=mo_location_table.c.mo_platform_location==mo_platform_table.c.mo_platform_id),   'relatedParty': relationship(MO_ResponsiblePartyInfo 
    2981 , primaryjoin=mo_responsiblepartyinfo_table.c.mo_platform_relatedParty==mo_platform_table.c.mo_platform_id),    'identifier': relationship(MD_Identifier 
    2982 , primaryjoin=md_identifier_table.c.mo_platform_identifier==mo_platform_table.c.mo_platform_id)} 
    2983         ) 
    2984  
    2985 def MO_Platform_before_insert_listener(mapper, connection, target): 
    2986         if (target.mo_platform_id is None): 
    2987                 target.mo_platform_id = next_id(connection, 'mo_platform_id_seq') 
    2988         target.mo_platform_type = 'mo_platform' 
    2989  
    2990 event.listen(MO_Platform, 'before_insert', MO_Platform_before_insert_listener) 
    2991  
    2992  
    2993  
    2994  
    2995 mapper(MD_Metadata, md_metadata_table   , properties  ={ 
    2996         'dataQualityInfo': relationship(DQ_DataQuality 
    2997 , primaryjoin=dq_dataquality_table.c.md_metadata_dataQualityInfo==md_metadata_table.c.md_metadata_id),  'referenceSystemInfo': relationship(MD_ReferenceSystem 
    2998 , primaryjoin=md_referencesystem_table.c.md_metadata_referenceSystemInfo==md_metadata_table.c.md_metadata_id),  'contentInfo': relationship(MD_ContentInformation 
    2999 , primaryjoin=md_contentinformation_table.c.md_metadata_contentInfo==md_metadata_table.c.md_metadata_id),       'metadataMaintenance': relationship(MD_MaintenanceInformation, uselist=False, backref='md_metadata_table_metadataMaintenance', primaryjoin=md_maintenanceinformation_table.c.md_metadata_metadataMaintenance==md_metadata_table.c.md_metadata_id),      'distributionInfo': relationship(MD_Distribution, uselist=False, backref='md_metadata_table_distributionInfo', primaryjoin=md_distribution_table.c.md_metadata_distributionInfo==md_metadata_table.c.md_metadata_id),   'dateStamp': relationship(Date, uselist=False, backref='md_metadata_table_dateStamp', primaryjoin=date_table.c.md_metadata_dateStamp==md_metadata_table.c.md_metadata_id),      'applicationSchemaInfo': relationship(MD_ApplicationSchemaInformation 
    3000 , primaryjoin=md_applicationschemainformation_table.c.md_metadata_applicationSchemaInfo==md_metadata_table.c.md_metadata_id),   'identificationInfo': relationship(MD_Identification 
    3001 , primaryjoin=md_identification_table.c.md_metadata_identificationInfo==md_metadata_table.c.md_metadata_id),    'spatialRepresentationInfo': relationship(MD_SpatialRepresentation 
    3002 , primaryjoin=md_spatialrepresentation_table.c.md_metadata_spatialRepresentationInfo==md_metadata_table.c.md_metadata_id),      'portrayalCatalogueInfo': relationship(MD_PortrayalCatalogueReference 
    3003 , primaryjoin=md_portrayalcataloguereference_table.c.md_metadata_portrayalCatalogueInfo==md_metadata_table.c.md_metadata_id),   'contact': relationship(CI_ResponsibleParty 
    3004 , primaryjoin=ci_responsibleparty_table.c.md_metadata_contact==md_metadata_table.c.md_metadata_id),     'metadataExtensionInfo': relationship(MD_MetadataExtensionInformation 
    3005 , primaryjoin=md_metadataextensioninformation_table.c.md_metadata_metadataExtensionInfo==md_metadata_table.c.md_metadata_id),   'metadataConstraints': relationship(MD_Constraints 
    3006 , primaryjoin=md_constraints_table.c.md_metadata_metadataConstraints==md_metadata_table.c.md_metadata_id)} 
    3007         ) 
    3008  
    3009  
    3010  
    3011  
    3012  
    3013 mapper(MO_Operation, mo_operation_table , properties  ={ 
    3014         'identifier': relationship(MD_Identifier 
    3015 , primaryjoin=md_identifier_table.c.mo_operation_identifier==mo_operation_table.c.mo_operation_id),     'relatedPartyInfo': relationship(MO_ResponsiblePartyInfo 
    3016 , primaryjoin=mo_responsiblepartyinfo_table.c.mo_operation_relatedPartyInfo==mo_operation_table.c.mo_operation_id),     'platform': relationship(MO_Platform 
    3017 , primaryjoin=mo_platform_table.c.mo_operation_platform==mo_operation_table.c.mo_operation_id), 'location': relationship(MO_Location, uselist=False, backref='mo_operation_table_location', primaryjoin=mo_location_table.c.mo_operation_location==mo_operation_table.c.mo_operation_id),       'documentation': relationship(CI_Citation 
    3018 , primaryjoin=ci_citation_table.c.mo_operation_documentation==mo_operation_table.c.mo_operation_id),    'operationTime': relationship(TM_Object, uselist=False, backref='mo_operation_table_operationTime', primaryjoin=tm_object_table.c.mo_operation_operationTime==mo_operation_table.c.mo_operation_id)} 
    3019         ) 
    3020  
    3021 def MO_Operation_before_insert_listener(mapper, connection, target): 
    3022         if (target.mo_operation_id is None): 
    3023                 target.mo_operation_id = next_id(connection, 'mo_operation_id_seq') 
    3024         target.mo_operation_type = 'mo_operation' 
    3025  
    3026 event.listen(MO_Operation, 'before_insert', MO_Operation_before_insert_listener) 
    3027  
    3028  
    3029  
    3030  
    3031 mapper(MO_Processing, mo_processing_table.join(mo_computation_table)    , properties  ={ 
    3032         'relatedParty': relationship(MO_ResponsiblePartyInfo 
    3033 , primaryjoin=mo_responsiblepartyinfo_table.c.mo_processing_relatedParty==mo_processing_table.c.mo_processing_id),      'softwareReference': relationship(CI_Citation, uselist=False, backref='mo_processing_table_softwareReference', primaryjoin=ci_citation_table.c.mo_processing_softwareReference==mo_processing_table.c.mo_processing_id),        'identifier': relationship(MD_Identifier 
    3034 , primaryjoin=md_identifier_table.c.mo_processing_identifier==mo_processing_table.c.mo_processing_id),  'processingInput': relationship(MO_InputOutput 
    3035 , primaryjoin=mo_inputoutput_table.c.mo_processing_processingInput==mo_processing_table.c.mo_processing_id),    'processingOutput': relationship(MO_InputOutput, uselist=False, backref='mo_processing_table_processingOutput', primaryjoin=mo_inputoutput_table.c.mo_processing_processingOutput==mo_processing_table.c.mo_processing_id),     'algorithm': relationship(LE_Algorithm 
    3036 , primaryjoin=le_algorithm_table.c.mo_processing_algorithm==mo_processing_table.c.mo_processing_id),    'documentation': relationship(CI_Citation 
    3037 , primaryjoin=ci_citation_table.c.mo_processing_documentation==mo_processing_table.c.mo_processing_id)} 
    3038         ) 
    3039  
    3040 def MO_Processing_before_insert_listener(mapper, connection, target): 
    3041         if (target.mo_processing_id is None): 
    3042                 target.mo_processing_id = next_id(connection, 'mo_processing_id_seq') 
    3043         target.mo_processing_type = 'mo_processing' 
    3044         target.mo_computation_type = 'mo_computation' 
    3045         target.mo_computation_id = next_id(connection, 'mo_computation_id_seq') 
    3046         target.mo_processing_mo_computation_id = target.mo_computation_id 
    3047  
    3048 event.listen(MO_Processing, 'before_insert', MO_Processing_before_insert_listener) 
    3049  
    3050  
    3051  
    3052  
    3053 mapper(MO_InstrumentPlatformPair, mo_instrumentplatformpair_table       , properties  ={ 
    3054         'instrument': relationship(MO_Instrument, uselist=False, backref='mo_instrumentplatformpair_table_instrument', primaryjoin=mo_instrument_table.c.mo_instrumentplatformpair_instrument==mo_instrumentplatformpair_table.c.mo_instrumentplatformpair_id), 'platform': relationship(MO_Platform, uselist=False, backref='mo_instrumentplatformpair_table_platform', primaryjoin=mo_platform_table.c.mo_instrumentplatformpair_platform==mo_instrumentplatformpair_table.c.mo_instrumentplatformpair_id)} 
    3055         ) 
    3056  
    3057  
    3058  
    3059  
    3060  
    3061 mapper(OM_Observation, om_observation_table     , properties  ={ 
    3062         'observedProperty': relationship(GF_PropertyType, uselist=False, backref='om_observation_table_observedProperty', primaryjoin=gf_propertytype_table.c.om_observation_observedProperty==om_observation_table.c.om_observation_id),       'parameter': relationship(NamedValue 
    3063 , primaryjoin=namedvalue_table.c.om_observation_parameter==om_observation_table.c.om_observation_id),   'metadata': relationship(MD_Metadata, uselist=False, backref='om_observation_table_metadata', primaryjoin=md_metadata_table.c.om_observation_metadata==om_observation_table.c.om_observation_id),       'validTime': relationship(TM_Period, uselist=False, backref='om_observation_table_validTime', primaryjoin=tm_period_table.c.om_observation_validTime==om_observation_table.c.om_observation_id),        'phenomenonTime': relationship(TM_Object, uselist=False, backref='om_observation_table_phenomenonTime', primaryjoin=tm_object_table.c.om_observation_phenomenonTime==om_observation_table.c.om_observation_id), 'resultTime': relationship(TM_Instant, uselist=False, backref='om_observation_table_resultTime', primaryjoin=tm_instant_table.c.om_observation_resultTime==om_observation_table.c.om_observation_id),   'resultQuality': relationship(DQ_Element 
    3064 , primaryjoin=dq_element_table.c.om_observation_resultQuality==om_observation_table.c.om_observation_id),       'result': relationship(Any, uselist=False, backref='om_observation_table_result', primaryjoin=any_table.c.om_observation_result==om_observation_table.c.om_observation_id)} 
    3065         ) 
    3066  
    3067 def OM_Observation_before_insert_listener(mapper, connection, target): 
    3068         if (target.om_observation_id is None): 
    3069                 target.om_observation_id = next_id(connection, 'om_observation_id_seq') 
    3070         target.om_observation_type = 'om_observation' 
    3071  
    3072 event.listen(OM_Observation, 'before_insert', OM_Observation_before_insert_listener) 
    3073  
    3074  
    3075  
    3076  
    3077 mapper(MO_Acquisition, mo_acquisition_table.join(mo_process_table)      , properties  ={ 
    3078         'outputDescription': relationship(MO_InputOutput, uselist=False, backref='mo_acquisition_table_outputDescription', primaryjoin=mo_inputoutput_table.c.mo_acquisition_outputDescription==mo_acquisition_table.c.mo_acquisition_id),      'operation': relationship(MO_Operation 
    3079 , primaryjoin=mo_operation_table.c.mo_acquisition_operation==mo_acquisition_table.c.mo_acquisition_id), 'instrumentPlatformPair': relationship(MO_InstrumentPlatformPair 
    3080 , primaryjoin=mo_instrumentplatformpair_table.c.mo_acquisition_instrumentPlatformPair==mo_acquisition_table.c.mo_acquisition_id),       'instrument': relationship(MO_Instrument 
    3081 , primaryjoin=mo_instrument_table.c.mo_acquisition_instrument==mo_acquisition_table.c.mo_acquisition_id),       'identifier': relationship(MD_Identifier 
    3082 , primaryjoin=md_identifier_table.c.mo_acquisition_identifier==mo_acquisition_table.c.mo_acquisition_id),       'documentation': relationship(CI_Citation 
    3083 , primaryjoin=ci_citation_table.c.mo_acquisition_documentation==mo_acquisition_table.c.mo_acquisition_id),      'realatedParty': relationship(MO_ResponsiblePartyInfo 
    3084 , primaryjoin=mo_responsiblepartyinfo_table.c.mo_acquisition_realatedParty==mo_acquisition_table.c.mo_acquisition_id),  'platform': relationship(MO_Platform 
    3085 , primaryjoin=mo_platform_table.c.mo_acquisition_platform==mo_acquisition_table.c.mo_acquisition_id)} 
    3086         ) 
    3087  
    3088 def MO_Acquisition_before_insert_listener(mapper, connection, target): 
    3089         if (target.mo_acquisition_id is None): 
    3090                 target.mo_acquisition_id = next_id(connection, 'mo_acquisition_id_seq') 
    3091         target.mo_acquisition_type = 'mo_acquisition' 
    3092         target.mo_process_type = 'mo_process' 
    3093         target.mo_process_id = next_id(connection, 'mo_process_id_seq') 
    3094         target.mo_acquisition_mo_process_id = target.mo_process_id 
    3095  
    3096 event.listen(MO_Acquisition, 'before_insert', MO_Acquisition_before_insert_listener) 
    3097  
    3098  
    3099  
    3100  
    3101 mapper(CEDA_Platform, ceda_platform_table.join(mo_platform_table)       , properties  ={ 
    3102         'review': relationship(CEDA_Review 
    3103 , primaryjoin=ceda_review_table.c.ceda_platform_review==ceda_platform_table.c.ceda_platform_id)} 
    3104         ) 
    3105  
    3106 def CEDA_Platform_before_insert_listener(mapper, connection, target): 
    3107         if (target.ceda_platform_id is None): 
    3108                 target.ceda_platform_id = next_id(connection, 'ceda_platform_id_seq') 
    3109         target.mo_platform_type = 'mo_platform' 
    3110         target.mo_platform_id = next_id(connection, 'mo_platform_id_seq') 
    3111         target.ceda_platform_mo_platform_id = target.mo_platform_id 
    3112  
    3113 event.listen(CEDA_Platform, 'before_insert', CEDA_Platform_before_insert_listener) 
    3114  
    3115  
    3116  
    3117  
    3118 mapper(CEDA_Processing, ceda_processing_table.join(ceda_process_table).join(mo_processing_table)        , properties  ={ 
    3119         'review': relationship(CEDA_Review 
    3120 , primaryjoin=ceda_review_table.c.ceda_processing_review==ceda_processing_table.c.ceda_processing_id)} 
    3121         ) 
    3122  
    3123 def CEDA_Processing_before_insert_listener(mapper, connection, target): 
    3124         if (target.ceda_processing_id is None): 
    3125                 target.ceda_processing_id = next_id(connection, 'ceda_processing_id_seq') 
    3126         target.ceda_process_type = 'ceda_process' 
    3127         target.ceda_process_id = next_id(connection, 'ceda_process_id_seq') 
    3128         target.ceda_processing_ceda_process_id = target.ceda_process_id 
    3129         target.mo_processing_type = 'mo_processing' 
    3130         target.mo_processing_id = next_id(connection, 'mo_processing_id_seq') 
    3131         target.ceda_processing_mo_processing_id = target.mo_processing_id 
    3132  
    3133 event.listen(CEDA_Processing, 'before_insert', CEDA_Processing_before_insert_listener) 
    3134  
    3135  
    3136  
    3137  
    3138 mapper(CEDA_Operation, ceda_operation_table.join(mo_operation_table)    , properties  ={ 
    3139         'review': relationship(CEDA_Review 
    3140 , primaryjoin=ceda_review_table.c.ceda_operation_review==ceda_operation_table.c.ceda_operation_id)} 
    3141         ) 
    3142  
    3143 def CEDA_Operation_before_insert_listener(mapper, connection, target): 
    3144         if (target.ceda_operation_id is None): 
    3145                 target.ceda_operation_id = next_id(connection, 'ceda_operation_id_seq') 
    3146         target.mo_operation_type = 'mo_operation' 
    3147         target.mo_operation_id = next_id(connection, 'mo_operation_id_seq') 
    3148         target.ceda_operation_mo_operation_id = target.mo_operation_id 
    3149  
    3150 event.listen(CEDA_Operation, 'before_insert', CEDA_Operation_before_insert_listener) 
    3151  
    3152  
    3153  
    3154  
    3155 mapper(MO_CompositeProcess, mo_compositeprocess_table.join(mo_process_table)    , properties  ={ 
    3156         'computationComponent': relationship(MO_Computation 
    3157 , primaryjoin=mo_computation_table.c.mo_compositeprocess_computationComponent==mo_compositeprocess_table.c.mo_compositeprocess_id),     'acquisitionComponent': relationship(MO_Acquisition 
    3158 , primaryjoin=mo_acquisition_table.c.mo_compositeprocess_acquisitionComponent==mo_compositeprocess_table.c.mo_compositeprocess_id),     'relatedParty': relationship(MO_ResponsiblePartyInfo 
    3159 , primaryjoin=mo_responsiblepartyinfo_table.c.mo_compositeprocess_relatedParty==mo_compositeprocess_table.c.mo_compositeprocess_id),    'identifier': relationship(MD_Identifier 
    3160 , primaryjoin=md_identifier_table.c.mo_compositeprocess_identifier==mo_compositeprocess_table.c.mo_compositeprocess_id),        'documentation': relationship(CI_Citation 
    3161 , primaryjoin=ci_citation_table.c.mo_compositeprocess_documentation==mo_compositeprocess_table.c.mo_compositeprocess_id)} 
    3162         ) 
    3163  
    3164 def MO_CompositeProcess_before_insert_listener(mapper, connection, target): 
    3165         if (target.mo_compositeprocess_id is None): 
    3166                 target.mo_compositeprocess_id = next_id(connection, 'mo_compositeprocess_id_seq') 
    3167         target.mo_compositeprocess_type = 'mo_compositeprocess' 
    3168         target.mo_process_type = 'mo_process' 
    3169         target.mo_process_id = next_id(connection, 'mo_process_id_seq') 
    3170         target.mo_compositeprocess_mo_process_id = target.mo_process_id 
    3171  
    3172 event.listen(MO_CompositeProcess, 'before_insert', MO_CompositeProcess_before_insert_listener) 
    3173  
    3174  
    3175  
    3176  
    3177 mapper(CEDA_Acquisition, ceda_acquisition_table.join(ceda_process_table).join(mo_acquisition_table)     , properties  ={ 
    3178         'review': relationship(CEDA_Review 
    3179 , primaryjoin=ceda_review_table.c.ceda_acquisition_review==ceda_acquisition_table.c.ceda_acquisition_id),       'platform': relationship(CEDA_Platform 
    3180 , primaryjoin=ceda_platform_table.c.ceda_acquisition_platform==ceda_acquisition_table.c.ceda_acquisition_id),   'operation': relationship(CEDA_Operation 
    3181 , primaryjoin=ceda_operation_table.c.ceda_acquisition_operation==ceda_acquisition_table.c.ceda_acquisition_id), 'instrument': relationship(CEDA_Instrument 
    3182 , primaryjoin=ceda_instrument_table.c.ceda_acquisition_instrument==ceda_acquisition_table.c.ceda_acquisition_id)} 
    3183         ) 
    3184  
    3185 def CEDA_Acquisition_before_insert_listener(mapper, connection, target): 
    3186         if (target.ceda_acquisition_id is None): 
    3187                 target.ceda_acquisition_id = next_id(connection, 'ceda_acquisition_id_seq') 
    3188         target.ceda_process_type = 'ceda_process' 
    3189         target.ceda_process_id = next_id(connection, 'ceda_process_id_seq') 
    3190         target.ceda_acquisition_ceda_process_id = target.ceda_process_id 
    3191         target.mo_acquisition_type = 'mo_acquisition' 
    3192         target.mo_acquisition_id = next_id(connection, 'mo_acquisition_id_seq') 
    3193         target.ceda_acquisition_mo_acquisition_id = target.mo_acquisition_id 
    3194  
    3195 event.listen(CEDA_Acquisition, 'before_insert', CEDA_Acquisition_before_insert_listener) 
    3196  
    3197  
    3198  
    3199  
    3200 mapper(MO_Observation, mo_observation_table.join(om_observation_table)  , properties  ={ 
    3201         'documentation': relationship(CI_Citation 
    3202 , primaryjoin=ci_citation_table.c.mo_observation_documentation==mo_observation_table.c.mo_observation_id),      'verticalExtent': relationship(EX_VerticalExtent 
    3203 , primaryjoin=ex_verticalextent_table.c.mo_observation_verticalExtent==mo_observation_table.c.mo_observation_id),       'identifier': relationship(MD_Identifier 
    3204 , primaryjoin=md_identifier_table.c.mo_observation_identifier==mo_observation_table.c.mo_observation_id),       'relatedParty': relationship(MO_ResponsiblePartyInfo 
    3205 , primaryjoin=mo_responsiblepartyinfo_table.c.mo_observation_relatedParty==mo_observation_table.c.mo_observation_id),   'result': relationship(MO_Result, uselist=False, backref='mo_observation_table_result', primaryjoin=mo_result_table.c.mo_observation_result==mo_observation_table.c.mo_observation_id), 'geographicExtent': relationship(EX_GeographicExtent 
    3206 , primaryjoin=ex_geographicextent_table.c.mo_observation_geographicExtent==mo_observation_table.c.mo_observation_id),   'inSupportOf': relationship(MO_Project,  
    3207 secondary=mo_project_mo_observation_table, 
    3208  backref='observationCollection' ),     'permission': relationship(MD_Constraints, uselist=False, backref='mo_observation_table_permission', primaryjoin=md_constraints_table.c.mo_observation_permission==mo_observation_table.c.mo_observation_id)} 
    3209         ) 
    3210  
    3211 def MO_Observation_before_insert_listener(mapper, connection, target): 
    3212         if (target.mo_observation_id is None): 
    3213                 target.mo_observation_id = next_id(connection, 'mo_observation_id_seq') 
    3214         target.mo_observation_type = 'mo_observation' 
    3215         target.om_observation_type = 'om_observation' 
    3216         target.om_observation_id = next_id(connection, 'om_observation_id_seq') 
    3217         target.mo_observation_om_observation_id = target.om_observation_id 
    3218  
    3219 event.listen(MO_Observation, 'before_insert', MO_Observation_before_insert_listener) 
    3220  
    3221  
    3222  
    3223  
    3224 mapper(MO_ObservationCollection, mo_observationcollection_table , properties  ={ 
    3225         'geographicExtent': relationship(EX_GeographicExtent 
    3226 , primaryjoin=ex_geographicextent_table.c.mo_observationcollection_geographicExtent==mo_observationcollection_table.c.mo_observationcollection_id),     'member': relationship(MO_Observation 
    3227 , primaryjoin=mo_observation_table.c.mo_observationcollection_member==mo_observationcollection_table.c.mo_observationcollection_id),    'isoMetadata': relationship(MD_Metadata 
    3228 , primaryjoin=md_metadata_table.c.mo_observationcollection_isoMetadata==mo_observationcollection_table.c.mo_observationcollection_id),  'additionalMetadata': relationship(CI_OnlineResource 
    3229 , primaryjoin=ci_onlineresource_table.c.mo_observationcollection_additionalMetadata==mo_observationcollection_table.c.mo_observationcollection_id),     'identifier': relationship(MD_Identifier 
    3230 , primaryjoin=md_identifier_table.c.mo_observationcollection_identifier==mo_observationcollection_table.c.mo_observationcollection_id), 'phenomenonTime': relationship(TM_Object 
    3231 , primaryjoin=tm_object_table.c.mo_observationcollection_phenomenonTime==mo_observationcollection_table.c.mo_observationcollection_id), 'verticalExtent': relationship(EX_VerticalExtent 
    3232 , primaryjoin=ex_verticalextent_table.c.mo_observationcollection_verticalExtent==mo_observationcollection_table.c.mo_observationcollection_id)} 
    3233         ) 
    3234  
    3235 def MO_ObservationCollection_before_insert_listener(mapper, connection, target): 
    3236         if (target.mo_observationcollection_id is None): 
    3237                 target.mo_observationcollection_id = next_id(connection, 'mo_observationcollection_id_seq') 
    3238         target.mo_observationcollection_type = 'mo_observationcollection' 
    3239  
    3240 event.listen(MO_ObservationCollection, 'before_insert', MO_ObservationCollection_before_insert_listener) 
    3241  
    3242  
    3243  
    3244  
    3245 mapper(CEDA_CompositeProcess, ceda_compositeprocess_table.join(mo_compositeprocess_table).join(ceda_process_table)      , properties  ={ 
    3246         'review': relationship(CEDA_Review 
    3247 , primaryjoin=ceda_review_table.c.ceda_compositeprocess_review==ceda_compositeprocess_table.c.ceda_compositeprocess_id),        'computationComponent': relationship(CEDA_Processing 
    3248 , primaryjoin=ceda_processing_table.c.ceda_compositeprocess_computationComponent==ceda_compositeprocess_table.c.ceda_compositeprocess_id),      'aquisitionComponent': relationship(CEDA_Acquisition 
    3249 , primaryjoin=ceda_acquisition_table.c.ceda_compositeprocess_aquisitionComponent==ceda_compositeprocess_table.c.ceda_compositeprocess_id)} 
    3250         ) 
    3251  
    3252 def CEDA_CompositeProcess_before_insert_listener(mapper, connection, target): 
    3253         if (target.ceda_compositeprocess_id is None): 
    3254                 target.ceda_compositeprocess_id = next_id(connection, 'ceda_compositeprocess_id_seq') 
    3255         target.mo_compositeprocess_type = 'mo_compositeprocess' 
    3256         target.mo_compositeprocess_id = next_id(connection, 'mo_compositeprocess_id_seq') 
    3257         target.ceda_compositeprocess_mo_compositeprocess_id = target.mo_compositeprocess_id 
    3258         target.ceda_process_type = 'ceda_process' 
    3259         target.ceda_process_id = next_id(connection, 'ceda_process_id_seq') 
    3260         target.ceda_compositeprocess_ceda_process_id = target.ceda_process_id 
    3261  
    3262 event.listen(CEDA_CompositeProcess, 'before_insert', CEDA_CompositeProcess_before_insert_listener) 
     3326 
     3327 
     3328 
     3329mapper(CEDA_Result, ceda_result_table   ) 
     3330 
     3331 
     3332mapper(IO_IdentifiedObjectBase, io_identifiedobjectbase_table) 
     3333 
     3334 
     3335mapper(CEDA_Project, ceda_project_table) 
     3336 
     3337 
     3338mapper(LE_Algorithm, le_algorithm_table) 
     3339 
     3340 
     3341mapper(MO_InstrumentPlatformPair, mo_instrumentplatformpair_table) 
     3342 
     3343 
     3344mapper(MD_ApplicationSchemaInformation, md_applicationschemainformation_table) 
     3345 
     3346 
     3347mapper(OM_Observation, om_observation_table) 
     3348 
     3349 
     3350mapper(LI_Lineage, li_lineage_table) 
     3351 
     3352 
     3353mapper(RS_Identifier, rs_identifier_table) 
     3354 
     3355 
     3356mapper(MO_ResponsiblePartyInfo, mo_responsiblepartyinfo_table) 
     3357 
     3358 
     3359mapper(CI_ResponsiblePartyInfo, ci_responsiblepartyinfo_table) 
     3360 
     3361 
     3362mapper(MO_Instrument, mo_instrument_table) 
     3363 
     3364 
     3365mapper(MO_Processing, mo_processing_table) 
     3366 
     3367 
     3368mapper(MD_Identifier, md_identifier_table) 
     3369 
     3370 
     3371mapper(CEDA_Observation, ceda_observation_table) 
     3372 
     3373 
     3374mapper(MD_AggregateInformation, md_aggregateinformation_table) 
     3375 
     3376 
     3377mapper(CEDA_Review, ceda_review_table) 
     3378 
     3379 
     3380mapper(DQ_Element, dq_element_table) 
     3381 
     3382 
     3383mapper(CI_Responsibility, ci_responsibility_table) 
     3384 
     3385 
     3386mapper(CEDA_Processing, ceda_processing_table) 
     3387 
     3388 
     3389mapper(MO_Organization, mo_organization_table) 
     3390 
     3391 
     3392mapper(MO_Operation, mo_operation_table) 
     3393 
     3394 
     3395mapper(MO_Acquisition, mo_acquisition_table) 
     3396 
     3397 
     3398mapper(MO_CompositeProcess, mo_compositeprocess_table) 
     3399 
     3400 
     3401mapper(EX_GeographicDescription, ex_geographicdescription_table) 
     3402 
     3403 
     3404mapper(MO_ObservationCollection, mo_observationcollection_table) 
     3405 
     3406 
     3407mapper(DQ_Scope, dq_scope_table) 
     3408 
     3409 
     3410mapper(MO_Location, mo_location_table) 
     3411 
     3412 
     3413mapper(EX_Extent, ex_extent_table) 
     3414 
     3415 
     3416mapper(CEDA_Instrument, ceda_instrument_table) 
     3417 
     3418 
     3419mapper(MD_Identification, md_identification_table) 
     3420 
     3421 
     3422mapper(CEDA_Notes, ceda_notes_table) 
     3423 
     3424 
     3425mapper(MD_PortrayalCatalogueReference, md_portrayalcataloguereference_table) 
     3426 
     3427 
     3428mapper(DQ_DataQuality, dq_dataquality_table) 
     3429 
     3430 
     3431mapper(MD_Keywords, md_keywords_table) 
     3432 
     3433 
     3434mapper(MD_Metadata, md_metadata_table) 
     3435 
     3436 
     3437mapper(MO_Platform, mo_platform_table) 
     3438 
     3439 
     3440mapper(RS_ReferenceSystem, rs_referencesystem_table) 
     3441 
     3442 
     3443mapper(LI_Source, li_source_table) 
     3444 
     3445 
     3446mapper(LE_Source, le_source_table) 
     3447 
     3448 
     3449mapper(CEDA_Platform, ceda_platform_table) 
     3450 
    32633451 
    32643452mapper(CEDA_ObservationCollection, ceda_observationcollection_table) 
    32653453 
    32663454 
    3267 mapper(CEDA_Project, ceda_project_table) 
    3268  
    3269  
    3270 mapper(CEDA_Observation, ceda_observation_table) 
    3271  
    3272  
    3273 class_mapper(CEDA_ObservationCollection).add_properties({       'member': relationship(CEDA_Observation 
    3274 , primaryjoin=ceda_observation_table.c.ceda_observationcollection_member==ceda_observationcollection_table.c.ceda_observationcollection_id)}) 
    3275  
    3276  
    3277 class_mapper(CEDA_Project).add_properties({     'review': relationship(CEDA_Review 
    3278 , primaryjoin=ceda_review_table.c.ceda_project_review==ceda_project_table.c.ceda_project_id),   'observationCollection': relationship(CEDA_ObservationCollection,  
    3279 secondary=ceda_observationcollection_ceda_project_table, 
    3280  backref='review' ),    'projectResource': relationship(MO_OnlineResource 
    3281 , primaryjoin=mo_onlineresource_table.c.ceda_project_projectResource==ceda_project_table.c.ceda_project_id)}) 
    3282  
    3283  
    3284 class_mapper(CEDA_Observation).add_properties({ 'inSupportOf': relationship(CEDA_Project, uselist=False, backref='ceda_observation_table_inSupportOf', primaryjoin=ceda_project_table.c.ceda_observation_inSupportOf==ceda_observation_table.c.ceda_observation_id),    'result': relationship(CEDA_Result, uselist=False, backref='ceda_observation_table_result', primaryjoin=ceda_result_table.c.ceda_observation_result==ceda_observation_table.c.ceda_observation_id),     'procedure': relationship(CEDA_Process, uselist=False, backref='ceda_observation_table_procedure', primaryjoin=ceda_process_table.c.ceda_observation_procedure==ceda_observation_table.c.ceda_observation_id),  'keywords': relationship(MD_Keywords 
    3285 , primaryjoin=md_keywords_table.c.ceda_observation_keywords==ceda_observation_table.c.ceda_observation_id),     'internalReview': relationship(CEDA_Review 
    3286 , primaryjoin=ceda_review_table.c.ceda_observation_internalReview==ceda_observation_table.c.ceda_observation_id),       'citation': relationship(CEDA_Citation 
    3287 , primaryjoin=ceda_citation_table.c.ceda_observation_citation==ceda_observation_table.c.ceda_observation_id)}) 
     3455mapper(MO_InputOutput, mo_inputoutput_table) 
     3456 
     3457 
     3458mapper(CEDA_Operation, ceda_operation_table) 
     3459 
     3460 
     3461mapper(CEDA_CompositeProcess, ceda_compositeprocess_table) 
     3462 
     3463 
     3464mapper(EX_VerticalExtent, ex_verticalextent_table) 
     3465 
     3466 
     3467mapper(MD_ReferenceSystem, md_referencesystem_table) 
     3468 
     3469 
     3470mapper(CEDA_Acquisition, ceda_acquisition_table) 
     3471 
     3472 
     3473mapper(CI_Citation, ci_citation_table) 
     3474 
     3475 
     3476mapper(SC_CRS, sc_crs_table) 
     3477 
     3478 
     3479mapper(MO_Project, mo_project_table) 
     3480 
     3481 
     3482mapper(MO_Observation, mo_observation_table) 
     3483 
     3484 
     3485class_mapper(IO_IdentifiedObjectBase).add_properties({  'identifier': relationship(RS_Identifier 
     3486, primaryjoin=rs_identifier_table.c.io_identifiedobjectbase_identifier==io_identifiedobjectbase_table.c.io_identifiedobjectbase_id 
     3487),      'alias': relationship(GenericName 
     3488, primaryjoin=genericname_table.c.io_identifiedobjectbase_alias==io_identifiedobjectbase_table.c.io_identifiedobjectbase_id 
     3489)}) 
     3490 
     3491 
     3492class_mapper(CEDA_Project).add_properties({     'projectResource': relationship(MO_OnlineResource 
     3493, primaryjoin=mo_onlineresource_table.c.ceda_project_projectResource==ceda_project_table.c.ceda_project_id 
     3494),      'observationCollection': relationship(CEDA_ObservationCollection 
     3495, primaryjoin=ceda_observationcollection_table.c.ceda_project_observationCollection==ceda_project_table.c.ceda_project_id 
     3496),      'review': relationship(CEDA_Review 
     3497, primaryjoin=ceda_review_table.c.ceda_project_review==ceda_project_table.c.ceda_project_id 
     3498)}) 
     3499 
     3500 
     3501class_mapper(LE_Algorithm).add_properties({     'citation': relationship(CI_Citation, uselist=False, primaryjoin=ci_citation_table.c.le_algorithm_citation==le_algorithm_table.c.le_algorithm_id 
     3502)}) 
     3503 
     3504 
     3505class_mapper(MO_InstrumentPlatformPair).add_properties({        'instrument': relationship(MO_Instrument, uselist=False, primaryjoin=mo_instrument_table.c.mo_instrumentplatformpair_instrument==mo_instrumentplatformpair_table.c.mo_instrumentplatformpair_id 
     3506),      'platform': relationship(MO_Platform, uselist=False, primaryjoin=mo_platform_table.c.mo_instrumentplatformpair_platform==mo_instrumentplatformpair_table.c.mo_instrumentplatformpair_id 
     3507)}) 
     3508 
     3509 
     3510class_mapper(MD_ApplicationSchemaInformation).add_properties({  'name': relationship(CI_Citation, uselist=False, primaryjoin=ci_citation_table.c.md_applicationschemainformation_name==md_applicationschemainformation_table.c.md_applicationschemainformation_id 
     3511)}) 
     3512 
     3513 
     3514class_mapper(OM_Observation).add_properties({   'resultQuality': relationship(DQ_Element 
     3515, primaryjoin=dq_element_table.c.om_observation_resultQuality==om_observation_table.c.om_observation_id 
     3516),      'phenomenonTime': relationship(TM_Object, uselist=False, primaryjoin=tm_object_table.c.om_observation_phenomenonTime==om_observation_table.c.om_observation_id 
     3517),      'metadata': relationship(MD_Metadata, uselist=False, primaryjoin=md_metadata_table.c.om_observation_metadata==om_observation_table.c.om_observation_id 
     3518),      'validTime': relationship(TM_Period, uselist=False, primaryjoin=tm_period_table.c.om_observation_validTime==om_observation_table.c.om_observation_id 
     3519),      'parameter': relationship(NamedValue 
     3520, primaryjoin=namedvalue_table.c.om_observation_parameter==om_observation_table.c.om_observation_id 
     3521),      'observedProperty': relationship(GF_PropertyType, uselist=False, primaryjoin=gf_propertytype_table.c.om_observation_observedProperty==om_observation_table.c.om_observation_id 
     3522),      'result': relationship(Any, uselist=False, primaryjoin=any_table.c.om_observation_result==om_observation_table.c.om_observation_id 
     3523),      'resultTime': relationship(TM_Instant, uselist=False, primaryjoin=tm_instant_table.c.om_observation_resultTime==om_observation_table.c.om_observation_id 
     3524)}) 
     3525 
     3526 
     3527class_mapper(LI_Lineage).add_properties({       'source': relationship(LI_Source 
     3528, primaryjoin=li_source_table.c.li_lineage_source==li_lineage_table.c.li_lineage_id 
     3529),      'processStep': relationship(LI_ProcessStep 
     3530, primaryjoin=li_processstep_table.c.li_lineage_processStep==li_lineage_table.c.li_lineage_id 
     3531)}) 
     3532 
     3533 
     3534 
     3535 
     3536 
     3537 
     3538class_mapper(CI_ResponsiblePartyInfo).add_properties({  'extent': relationship(EX_Extent 
     3539, primaryjoin=ex_extent_table.c.ci_responsiblepartyinfo_extent==ci_responsiblepartyinfo_table.c.ci_responsiblepartyinfo_id 
     3540)}) 
     3541 
     3542 
     3543class_mapper(MO_Instrument).add_properties({    'identifier': relationship(MD_Identifier 
     3544, primaryjoin=md_identifier_table.c.mo_instrument_identifier==mo_instrument_table.c.mo_instrument_id 
     3545),      'realatedParty': relationship(MO_ResponsiblePartyInfo 
     3546, primaryjoin=mo_responsiblepartyinfo_table.c.mo_instrument_realatedParty==mo_instrument_table.c.mo_instrument_id 
     3547),      'documentation': relationship(CI_Citation 
     3548, primaryjoin=ci_citation_table.c.mo_instrument_documentation==mo_instrument_table.c.mo_instrument_id 
     3549),      'type': relationship(ScopedName, uselist=False, primaryjoin=scopedname_table.c.mo_instrument_type==mo_instrument_table.c.mo_instrument_id 
     3550)})