> **Beta Translation:** This document was translated via Machine Learning and as such may not be 100% accurate. All non-English languages are currently classified as Beta.
O Descritor de Dados Estruturados é uma linguagem de configuração baseada em JSON que descreve como analisar, transformar e importar dados estruturados para o TrustGraph. Ele fornece uma abordagem declarativa para a ingestão de dados, suportando vários formatos de entrada e pipelines de transformação complexos sem a necessidade de código personalizado.
## Conceitos Principais
### 1. Definição de Formato
Descreve o tipo de arquivo de entrada e as opções de análise. Determina qual analisador usar e como interpretar os dados de origem.
### 2. Mapeamentos de Campos
Mapeia caminhos de origem para campos de destino com transformações. Define como os dados fluem das fontes de entrada para os campos do esquema de saída.
### 3. Pipeline de Transformação
Cadeia de transformações de dados que podem ser aplicadas aos valores dos campos, incluindo:
Limpeza de dados (remover espaços em branco, normalização)
Conversão de formato (análise de data, conversão de tipo)
Cálculos (aritméticos, manipulação de strings)
Consultas (tabelas de referência, substituições)
### 4. Regras de Validação
Verificações de qualidade de dados aplicadas para garantir a integridade dos dados:
Validação de tipo
Verificações de intervalo
Correspondência de padrões (regex)
Validação de campos obrigatórios
Lógica de validação personalizada
### 5. Configurações Globais
Configuração que se aplica a todo o processo de importação:
Tabelas de consulta para enriquecimento de dados
Variáveis e constantes globais
Especificações de formato de saída
Políticas de tratamento de erros
## Estratégia de Implementação
A implementação do importador segue este pipeline:
1.**Analisar Configuração** - Carregar e validar o descritor JSON
2.**Inicializar Analisador** - Carregar o analisador apropriado (CSV, XML, JSON, etc.) com base em `format.type`
3.**Aplicar Pré-processamento** - Executar filtros e transformações globais
4.**Processar Registros** - Para cada registro de entrada:
Extrair dados usando caminhos de origem (JSONPath, XPath, nomes de coluna)
Aplicar transformações de nível de campo em sequência
Validar os resultados em relação às regras definidas
Aplicar valores padrão para dados ausentes
5.**Aplicar Pós-processamento** - Executar desduplicação, agregação, etc.
6.**Gerar Saída** - Produzir dados no formato de destino especificado
## Suporte a Expressões de Caminho
Diferentes formatos de entrada usam linguagens de expressão de caminho apropriadas:
**CSV**: Nomes de coluna ou índices (`"column_name"` ou `"[2]"`)
O seguinte prompt pode ser usado para que um LLM analise dados de amostra e gere uma configuração de descritores:
```
I need you to analyze the provided data sample and create a Structured Data Descriptor configuration in JSON format.
The descriptor should follow this specification:
- version: "1.0"
- metadata: Configuration name, description, author, and creation date
- format: Input format type and parsing options
- globals: Variables, lookup tables, and constants
- preprocessing: Filters and transformations applied before mapping
- mappings: Field-by-field mapping from source to target with transformations and validations
- postprocessing: Operations like deduplication or aggregation
- output: Target format and error handling configuration
ANALYZE THE DATA:
1. Identify the format (CSV, JSON, XML, etc.)
2. Detect delimiters, encodings, and structure
3. Find data types for each field
4. Identify patterns and constraints
5. Look for fields that need cleaning or transformation
6. Find relationships between fields
7. Identify lookup opportunities (codes that map to values)
8. Detect required vs optional fields
CREATE THE DESCRIPTOR:
For each field in the sample data:
- Map it to an appropriate target field name
- Add necessary transformations (trim, case conversion, type casting)
- Include appropriate validations (required, patterns, ranges)
- Set defaults for missing values
Include preprocessing if needed:
- Filters to exclude invalid records
- Sorting requirements
Include postprocessing if beneficial:
- Deduplication on key fields
- Aggregation for summary data
Configure output for TrustGraph:
- format: "trustgraph-objects"
- schema_name: Based on the data entity type
- Appropriate error handling
DATA SAMPLE:
[Insert data sample here]
ADDITIONAL CONTEXT (optional):
- Target schema name: [if known]
- Business rules: [any specific requirements]
- Data quality issues to address: [known problems]
Generate a complete, valid Structured Data Descriptor configuration that will properly import this data into TrustGraph. Include comments explaining key decisions.
```
### Exemplo de Uso (Prompt)
```
I need you to analyze the provided data sample and create a Structured Data Descriptor configuration in JSON format.
[Standard instructions from above...]
DATA SAMPLE:
```csv
CustomerID,Nome,Email,Idade,País,Status,Data de Adesão,Total de Compras