5 repositorios
Tools and patterns for associating a single entity with multiple different types of tables using type identifiers.
Distinguishing note: Focuses on flexible, multi-table entity associations rather than standard one-to-one or one-to-many relationships.
Explore 5 awesome GitHub repositories matching data & databases · Polymorphic Data Modeling. Refine with filters or upvote what's useful.
Drizzle ORM is a TypeScript-native database toolkit providing type-safe SQL query building, schema management, and automated migrations across PostgreSQL, MySQL, SQLite, and SingleStore.
Drizzle associates a single entity with multiple different types of tables by using a type identifier and a foreign key to maintain flexible data connections.
Instructor is a framework designed for structured data extraction, validation, and language model integration. It functions as a library that transforms unstructured text into validated, type-safe objects by leveraging schema definitions and model-specific tool-calling capabilities. By acting as a validation middleware, the project ensures that language model outputs strictly conform to defined data structures. The library distinguishes itself through a robust validation-based retry loop that automatically re-submits failed responses with error feedback to iteratively correct schema complianc
Allows the model to return one of several different data structures or a list of mixed types to support flexible, multi-intent interactions.
This project is a framework for the efficient serialization and deserialization of data structures. It provides a unified, macro-based interface that automates the conversion of complex internal objects into standardized formats and reconstructs them from raw input streams or buffers. By leveraging compile-time code generation, the library minimizes manual implementation overhead while ensuring consistent logic across diverse data types. The framework distinguishes itself through a format-agnostic data model and a visitor-based parsing architecture that decouples data structures from specific
Parses input that may arrive as either a simple string or a complex object into a single unified data structure.
Mikro-ORM is a TypeScript-based object-relational mapping system that provides a unified persistence layer for Node.js applications. It translates TypeScript entities into relational or document-based database schemas, supporting a variety of engines including PostgreSQL, MySQL, MariaDB, MS SQL Server, SQLite, and MongoDB. The project implements the data mapper pattern to decouple in-memory domain models from the database persistence layer. It utilizes a unit of work pattern to track entity changes in memory and commit them in a single coordinated database transaction. The library covers com
Supports advanced data modeling including entity inheritance and polymorphic relations.
TypeDB es una base de datos de grafos fuertemente tipada y un sistema de gestión de grafos de conocimiento. Sirve como un almacén de datos multimodelo que unifica estructuras relacionales, de documentos y de grafos en un solo entorno, funcionando tanto como una base de datos compatible con ACID como un motor de consultas declarativo. El sistema se distingue por el uso de modelado de hipergrafos n-arios y jerarquías de tipos polimórficos. Emplea un esquema fuertemente tipado para imponer reglas estructurales y validar la integridad de los datos, permitiendo la inferencia polimórfica basada en tipos y el polimorfismo de interfaz basado en roles para resolver relaciones complejas automáticamente durante la ejecución de consultas. La plataforma cubre una amplia gama de capacidades, incluyendo el cálculo de relaciones recursivas mediante tabulación, transacciones con aislamiento de instantáneas y recuperación declarativa de datos. También admite alta disponibilidad mediante replicación de clúster basada en consenso, control de acceso basado en roles e integración con agentes de IA para la recuperación de datos estructurados. La gestión se realiza a través de una interfaz de línea de comandos, y el sistema proporciona herramientas para visualizar esquemas de grafos y auditar la actividad administrativa.
Supports inserting, updating, and deleting data across multiple types and hierarchies using unified operations.