cdm_data_loaders.converters.facades.pyiceberg_to_linkml ¶
Convert Iceberg types and loaded tables through typed readers and emitters.
convert_type ¶
convert_type(
field_type: IcebergType,
*,
extension_registry: ExtensionRegistry = DEFAULT_EXTENSIONS
) -> SlotDefinition
Read and emit a single Iceberg type.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
field_type
|
IcebergType
|
Iceberg type to convert. |
required |
extension_registry
|
ExtensionRegistry
|
Registry for Iceberg extensions. |
DEFAULT_EXTENSIONS
|
Returns:
| Type | Description |
|---|---|
SlotDefinition
|
LinkML slot definition. |
Source code in src/cdm_data_loaders/converters/facades/pyiceberg_to_linkml.py
convert_field ¶
convert_field(
field: NestedField,
*,
extension_registry: ExtensionRegistry = DEFAULT_EXTENSIONS
) -> SlotDefinition
Read and emit a field with its cardinality and description.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
field
|
NestedField
|
Iceberg field to convert. |
required |
extension_registry
|
ExtensionRegistry
|
Registry for Iceberg extensions. |
DEFAULT_EXTENSIONS
|
Returns:
| Type | Description |
|---|---|
SlotDefinition
|
Named LinkML slot definition. |
Source code in src/cdm_data_loaders/converters/facades/pyiceberg_to_linkml.py
convert_struct ¶
convert_struct(
fields: tuple[NestedField, ...],
*,
extension_registry: ExtensionRegistry = DEFAULT_EXTENSIONS
) -> SlotDefinition
Read and emit a struct without a document envelope.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
fields
|
tuple[NestedField, ...]
|
Iceberg struct fields to convert. |
required |
extension_registry
|
ExtensionRegistry
|
Registry for Iceberg extensions. |
DEFAULT_EXTENSIONS
|
Returns:
| Type | Description |
|---|---|
SlotDefinition
|
LinkML slot referencing the struct class. |
Source code in src/cdm_data_loaders/converters/facades/pyiceberg_to_linkml.py
table_to_linkml ¶
table_to_linkml(
table: Table,
identifier: tuple[str, ...],
*,
extension_registry: ExtensionRegistry = DEFAULT_EXTENSIONS,
schema: SchemaDefinition | None = None
) -> SchemaDefinition
Read loaded table metadata and emit a LinkML schema model without I/O.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
table
|
Table
|
Loaded Iceberg table. |
required |
identifier
|
tuple[str, ...]
|
Namespace and table name. |
required |
extension_registry
|
ExtensionRegistry
|
Registry for Iceberg extensions. |
DEFAULT_EXTENSIONS
|
schema
|
SchemaDefinition | None
|
Optional schema to append table classes to, preserving existing definitions. |
None
|
Returns:
| Type | Description |
|---|---|
SchemaDefinition
|
Schema model suitable for LinkML's YAML dumper. |