6 dépôts
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 6 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 est une base de données orientée graphe fortement typée et un système de gestion de graphes de connaissances. Il sert de magasin de données multi-modèles qui unifie les structures relationnelles, documentaires et de graphes dans un environnement unique, fonctionnant à la fois comme une base de données conforme ACID et un moteur de requête déclaratif. Le système se distingue par l'utilisation de la modélisation par hypergraphes n-aires et de hiérarchies de types polymorphes. Il emploie un schéma fortement typé pour appliquer des règles structurelles et valider l'intégrité des données, permettant une inférence polymorphe basée sur les types et un polymorphisme d'interface basé sur les rôles pour résoudre automatiquement les relations complexes lors de l'exécution des requêtes. La plateforme couvre un large éventail de capacités, notamment le calcul de relations récursives via le tabling, les transactions avec isolation par snapshot et la récupération de données déclarative. Elle prend également en charge la haute disponibilité via la réplication de cluster basée sur le consensus, le contrôle d'accès basé sur les rôles et l'intégration avec des agents IA pour la récupération de données structurées. La gestion est prise en charge via une interface de ligne de commande, et le système fournit des outils pour visualiser les schémas de graphes et auditer l'activité administrative.
Supports inserting, updating, and deleting data across multiple types and hierarchies using unified operations.
msgspec is a high-performance data modeling, serialization, and schema validation toolkit for Python. It serves as a type-safe serialization framework that integrates schema enforcement and data parsing into a single pass, functioning as both a data serialization library and a schema validation system based on standard Python type annotations. The project distinguishes itself through high-performance structural primitives, including compilation-based routine generation and zero-copy buffer parsing. It optimizes memory usage via garbage collection-aware layouts and reduces processing overhead
Maps input to the correct object representation using tags to distinguish between multiple types in a union.