## build_representation_map()


Build a RepresentationMap from a DataFrame via build_value_map_list.


Usage

``` python
build_representation_map(
    df,
    agency="FAKE_AGENCY",
    id=None,
    name=None,
    source_cl=None,
    target_cl=None,
    version="1.0",
    description=None,
    source_col="source",
    target_col="target",
    valid_from_col="valid_from",
    valid_to_col="valid_to",
    generate_urn=True,
    default_value=None
)
```


## Parameters


`df: pd.DataFrame`  
DataFrame where each row represents a mapping.

`agency: str = ``"FAKE_AGENCY"`  
Agency maintaining the representation map.

`id: str | None = None`  
Identifier for the representation map.

`name: str | None = None`  
Name of the representation map.

`source_cl: str | None = None`  
URN or identifier for the source codelist or data type.

`target_cl: str | None = None`  
URN or identifier for the target codelist or data type.

`version: str = ``"1.0"`  
Version of the representation map. Defaults to "1.0".

`description: str | None = None`  
Optional description of the representation map.

`source_col: str = ``"source"`  
Column name for source values. Defaults to "source".

`target_col: str = ``"target"`  
Column name for target values. Defaults to "target".

`valid_from_col: str = ``"valid_from"`  
Column name for validity start date. Defaults to "valid_from".

`valid_to_col: str = ``"valid_to"`  
Column name for validity end date. Defaults to "valid_to".

`generate_urn: bool = ``True`  
If True, automatically generate URN. Defaults to True.

`default_value: str | None = None`  
Optional catch-all target value. When provided, source values not listed in the DataFrame resolve to this value instead of remaining unmapped. Defaults to None (no catch-all).


## Returns


`RepresentationMap`  
A RepresentationMap object containing the mappings.


## Raises


`ValueError`  
If DataFrame is empty or required columns are missing.

`TypeError`  
If source or target columns contain non-string values.


## Examples


``` python
    >>> import pandas as pd
    >>> data = {
    ...     'source': ['BE', 'FR'],
    ...     'target': ['BEL', 'FRA'],
    ...     'valid_from': ['2020-01-01', None],
    ...     'valid_to': ['2025-12-31', None]
    ... }
    >>> df = pd.DataFrame(data)
    >>> rm = build_representation_map(
    ...     df, 'urn:source:codelist', 'urn:target:codelist', 'RM1',
    ...     'Country Map', 'ECB'
    ... )
    >>> isinstance(rm, RepresentationMap)
```

    True
