Analysis updated 2026-05-18
Automatically build a domain ontology from a database schema, text documents, and query logs.
Merge duplicate or overlapping concepts pulled from different data sources into one clean structure.
Turn plain-language business rules into formal logical rules attached to the ontology.
Run the full pipeline without an LLM API key using its built-in rule-based fallback mode.
| liuhuanyong/ontologyautogeneration | hao0321/video-autopilot-kit | harahan/rtdmd | |
|---|---|---|---|
| Stars | 37 | 37 | 37 |
| Language | Python | Python | Python |
| Setup difficulty | moderate | moderate | hard |
| Complexity | 4/5 | 3/5 | 5/5 |
| Audience | data | general | researcher |
Figures from each repo's GitHub metadata at analysis time.
Runs without an API key in a reduced rule-based mode, full LLM-driven extraction needs an OpenAI-compatible API key.
OntologyAutoGeneration is a Python project that automatically builds a domain ontology, a structured map of concepts, categories, and the relationships between them, from mixed sources of data. It can pull from database table definitions (DDL), plain text documents, and logs of past queries or conversations, and turn all of that into one organized knowledge structure without a person having to define it by hand. The pipeline runs in five stages. First, it prepares the incoming data: scoring how reliable each source is, filling in missing pieces of database schema, matching IDs across different sources, parsing documents like PDFs or Markdown files, and filtering out fields that are mostly empty. Second, it extracts concepts, meaning it identifies the real world "things" the data is describing, both from database structure and from text, then merges duplicate or overlapping concepts together and decides how fine grained each concept should be. Third, it builds a hierarchy among those concepts, figuring out which ones are broader categories and which are more specific types, using pattern matching plus a language model, and it checks for and removes any circular relationships. Fourth, it identifies relationships and properties between concepts, deciding whether something is a simple attribute or a real relationship to another concept, filtering out database foreign keys that aren't meaningful business relationships, and normalizing relationship names that mean the same thing. Fifth, it generates logical rules and axioms about the ontology, including turning plain language business rules into a formal rule format, and runs consistency checks on the whole result. The final output is a single JSON file describing entity types, properties, relationships, the concept hierarchy, and the generated rules, along with metadata and a consistency report. The project includes example e-commerce data (database schema, a product document, and sample queries) to demonstrate the full pipeline. It can optionally use an OpenAI-compatible language model API for the more advanced steps, but if no API key is configured it falls back to simpler rule-based methods for concept extraction, merging, and relationship building, so the whole pipeline still runs without any paid API access. The project is written and maintained by Liu Huanyong.
A Python pipeline that automatically builds a structured knowledge map of concepts and relationships from database schemas, documents, and logs.
Mainly Python. The stack also includes Python.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly data.
This repo across BitVibe Labs
Verify against the repo before relying on details.