> **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.
Esta especificación describe la integración de TrustGraph con flujos de datos estructurados, lo que permite que el sistema trabaje con datos que se pueden representar como filas en tablas u objetos en almacenes de objetos. La integración admite cuatro casos de uso principales:
1.**Extracción de Datos No Estructurados a Estructurados**: Leer fuentes de datos no estructurados, identificar y extraer estructuras de objetos y almacenarlas en un formato tabular.
2.**Ingesta de Datos Estructurados**: Cargar datos que ya están en formatos estructurados directamente en el almacén estructurado junto con los datos extraídos.
3.**Consultas en Lenguaje Natural**: Convertir preguntas en lenguaje natural en consultas estructuradas para extraer datos coincidentes del almacén.
4.**Consultas Estructuradas Directas**: Ejecutar consultas estructuradas directamente contra el almacén de datos para una recuperación de datos precisa.
## Objetivos
**Acceso Unificado a Datos**: Proporcionar una única interfaz para acceder tanto a datos estructurados como no estructurados dentro de TrustGraph.
**Integración Fluida**: Permitir una interoperabilidad fluida entre la representación de conocimiento basada en gráficos de TrustGraph y los formatos de datos estructurados tradicionales.
**Extracción Flexible**: Admitir la extracción automática de datos estructurados de diversas fuentes no estructuradas (documentos, texto, etc.).
**Versatilidad de Consulta**: Permitir a los usuarios consultar datos utilizando tanto lenguaje natural como lenguajes de consulta estructurados.
**Consistencia de Datos**: Mantener la integridad y la consistencia de los datos en diferentes representaciones de datos.
**Optimización del Rendimiento**: Garantizar el almacenamiento y la recuperación eficientes de datos estructurados a escala.
**Flexibilidad del Esquema**: Admitir enfoques de esquema-en-escritura y esquema-en-lectura para adaptarse a diversas fuentes de datos.
**Compatibilidad con Versiones Anteriores**: Preservar la funcionalidad existente de TrustGraph al agregar capacidades de datos estructurados.
## Antecedentes
Actualmente, TrustGraph destaca en el procesamiento de datos no estructurados y en la creación de gráficos de conocimiento a partir de diversas fuentes. Sin embargo, muchos casos de uso empresariales implican datos que son inherentemente estructurados: registros de clientes, registros de transacciones, bases de datos de inventario y otros conjuntos de datos tabulares. Estos conjuntos de datos estructurados a menudo deben analizarse junto con contenido no estructurado para proporcionar información integral.
Las limitaciones actuales incluyen:
No hay soporte nativo para la ingesta de formatos de datos preestructurados (CSV, matrices JSON, exportaciones de bases de datos).
Incapacidad para preservar la estructura inherente al extraer datos tabulares de documentos.
Falta de mecanismos de consulta eficientes para patrones de datos estructurados.
Falta de un puente entre las consultas tipo SQL y las consultas de gráficos de TrustGraph.
Esta especificación aborda estas deficiencias mediante la introducción de una capa de datos estructurados que complementa las capacidades existentes de TrustGraph. Al admitir datos estructurados de forma nativa, TrustGraph puede:
Servir como una plataforma unificada para el análisis tanto de datos estructurados como no estructurados.
Permitir consultas híbridas que abarquen tanto las relaciones de gráficos como los datos tabulares.
Proporcionar interfaces familiares para los usuarios acostumbrados a trabajar con datos estructurados.
Desbloquear nuevos casos de uso en la integración de datos y la inteligencia empresarial.
## Diseño Técnico
### Arquitectura
La integración de datos estructurados requiere los siguientes componentes técnicos:
1.**Servicio de Conversión de Lenguaje Natural a Consulta Estructurada**
Convierte preguntas en lenguaje natural en consultas estructuradas.
Admite múltiples objetivos de lenguaje de consulta (inicialmente sintaxis tipo SQL).
Se integra con las capacidades existentes de NLP de TrustGraph.
2.**Soporte de Esquema de Configuración** ✅ **[COMPLETO]**
Sistema de configuración extendido para almacenar esquemas de datos estructurados.
Soporte para definir estructuras de tablas, tipos de campos y relaciones.
Capacidades de versionado y migración de esquemas.
3.**Módulo de Extracción de Objetos** ✅ **[COMPLETO]**
Integración mejorada del flujo de extracción de conocimiento.
Identifica y extrae objetos estructurados de fuentes no estructuradas.
Mantiene el origen y las puntuaciones de confianza.
Registra un controlador de configuración (ejemplo: trustgraph-flow/trustgraph/prompt/template/service.py) para recibir datos de configuración y decodificar información del esquema.
Recibe objetos y los decodifica en objetos ExtractedObject para su entrega en la cola de Pulsar.
NOTA: Existe código en `trustgraph-flow/trustgraph/extract/object/row/`. Este fue un intento anterior y deberá refactorizarse por completo, ya que no se ajusta a las API actuales. Úselo si es útil, comience desde cero si no.
Requiere una interfaz de línea de comandos: `kg-extract-objects`