{"id":15555768,"url":"https://github.com/lukaszahradnik/deep-db-learning","last_synced_at":"2025-04-23T20:22:56.608Z","repository":{"id":211794993,"uuid":"597566878","full_name":"LukasZahradnik/deep-db-learning","owner":"LukasZahradnik","description":"A modular message-passing scheme reflecting the relational model for end-to-end deep learning from databases","archived":false,"fork":false,"pushed_at":"2024-05-22T12:42:36.000Z","size":7349,"stargazers_count":8,"open_issues_count":6,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-18T04:55:33.209Z","etag":null,"topics":["artificial-intelligence","database","deep-learning","graph-neural-networks","machine-learning","python"],"latest_commit_sha":null,"homepage":"https://lukaszahradnik.github.io/deep-db-learning/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LukasZahradnik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-02-04T23:25:36.000Z","updated_at":"2025-02-25T04:08:29.000Z","dependencies_parsed_at":"2024-02-15T17:26:11.295Z","dependency_job_id":"f54f31d1-8e98-4a57-b5bb-b5828cf131ca","html_url":"https://github.com/LukasZahradnik/deep-db-learning","commit_stats":null,"previous_names":["lukaszahradnik/deep-db-learning"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukasZahradnik%2Fdeep-db-learning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukasZahradnik%2Fdeep-db-learning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukasZahradnik%2Fdeep-db-learning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukasZahradnik%2Fdeep-db-learning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LukasZahradnik","download_url":"https://codeload.github.com/LukasZahradnik/deep-db-learning/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250506761,"owners_count":21441839,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["artificial-intelligence","database","deep-learning","graph-neural-networks","machine-learning","python"],"created_at":"2024-10-02T15:10:34.633Z","updated_at":"2025-04-23T20:22:56.589Z","avatar_url":"https://github.com/LukasZahradnik.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Deep Learning for Relational Databases\n\nThis repository contains code accompanying the paper [A Deep Learning Blueprint for Relational Databases](https://openreview.net/forum?id=b4GEmjsHAB)\n\n**TL;DR:** (or [**video**](https://www.youtube.com/watch?v=1QUQogj_xmI\u0026ab_channel=TableRepresentationLearning))\\\nA _modular_ message-passing scheme reflecting the _relational model_ for **end-to-end deep learning from databases**\n\n## About\n\nThe system allows to easily connect to any database through a simple connection string (with [SQL Alchemy](https://www.sqlalchemy.org/)), load information from the DB (with [Pandas](https://pandas.pydata.org/)), _**automatically analyze**_ its schema structure and data columns' semantics, and efficiently load and embed the data into learnable ([torch](https://pytorch.org/)) tensor representations.\n\nThe subsequent modular neural message-passing scheme operating on top of the resulting (two-level) _**multi-relational hypergraph representation**_ then builds on [**Pytorch Geometric**](https://pyg.org/), allowing to easily utilize any of its modules in the respective functional interfaces (_transformation, combination, aggregation_) of the _**deep relational blueprint**_:\n\n![schema.png](schema.png)\n\nFor more information, please read the paper and/or feel free to [reach out](https://github.com/LukasZahradnik/deep-db-learning/discussions) directly to us!\n\nIf you like the idea, you can cite the paper as:\n```\n@inproceedings{zahradnik2023deep,\n  title={A Deep Learning Blueprint for Relational Databases},\n  author={Zahradn{\\'\\i}k, Luk{\\'a}{\\v{s}} and Neumann, Jan and {\\v{S}}{\\'\\i}r, Gustav},\n  booktitle={NeurIPS 2023 Second Table Representation Learning Workshop},\n  year={2023}\n}\n```\n---\n### Project Structure\n\n- `db_transformer` - the main module containing the:\n  -  `data` - loading, analysis, conversion, and embedding\n  -  `db` - connection, inspection, and schema detection\n  -  and the transformer-based instantiation of the blueprint\n- `experiments` - presented in the paper, including baselines from:\n  - Tabular models\n  - Propositionalization\n  - Statistical Relational Learning\n  - Neural-symbolic integration\n\nand additionally some:\n- `datasets` - some selected DB datasets for debugging\n- `examples` - example scripts on data schema detection/conversion\n\n---\n### Related\n\nThere is also the [**PyNeuraLogic**](https://github.com/LukasZahradnik/PyNeuraLogic) framework that allows for a more flexible [_deep relational learning_](https://medium.com/tag/deep-relational-learning) with the DB relations, operations, queries, and more.\n- using [differentiable relational logic](https://github.com/GustikS/NeuraLogic), it allows to skip the intermediate transformation into (hyper)graph tensors, and operate directly with the relational (DB) representation.\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://pyneuralogic.readthedocs.io/en/latest/advanced/database_deep_learning.html\"\u003e\n        \u003cimg src=\"https://github.com/LukasZahradnik/PyNeuraLogic/blob/master/docs/_static/sql_banner.svg\" alt=\"SQL tutorial\" title=\"SQL tutorial\"/\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukaszahradnik%2Fdeep-db-learning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flukaszahradnik%2Fdeep-db-learning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukaszahradnik%2Fdeep-db-learning/lists"}