{"id":29052902,"url":"https://github.com/spcl/ho-gdb","last_synced_at":"2026-04-12T08:42:01.587Z","repository":{"id":301169538,"uuid":"967372068","full_name":"spcl/HO-GDB","owner":"spcl","description":"Official implementation of \"Higher-Order Graph Databases\"","archived":false,"fork":false,"pushed_at":"2025-06-25T13:10:40.000Z","size":101,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-07-12T15:40:01.253Z","etag":null,"topics":["cypher","gnn","graph","graph-database","higher-order","higher-order-graph","hypergraph","neo4j","neo4j-database","node-tuple","olap","oltp","subgraph-collection"],"latest_commit_sha":null,"homepage":"https://arxiv.org/abs/2506.19661","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spcl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2025-04-16T11:00:45.000Z","updated_at":"2025-07-03T17:52:27.000Z","dependencies_parsed_at":"2025-06-25T14:37:44.669Z","dependency_job_id":null,"html_url":"https://github.com/spcl/HO-GDB","commit_stats":null,"previous_names":["spcl/ho-gdb"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/spcl/HO-GDB","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spcl%2FHO-GDB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spcl%2FHO-GDB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spcl%2FHO-GDB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spcl%2FHO-GDB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spcl","download_url":"https://codeload.github.com/spcl/HO-GDB/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spcl%2FHO-GDB/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278863814,"owners_count":26059243,"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","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cypher","gnn","graph","graph-database","higher-order","higher-order-graph","hypergraph","neo4j","neo4j-database","node-tuple","olap","oltp","subgraph-collection"],"created_at":"2025-06-27T01:00:53.398Z","updated_at":"2025-10-07T23:33:09.568Z","avatar_url":"https://github.com/spcl.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Higher-Order Graph Database (HO-GDB)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"paper/pics/system_architecture.svg\" width=\"80%\"\u003e\n\u003c/p\u003e\n\nThis is the official implementation of [Higher-Order Graph Databases](https://arxiv.org/abs/2506.19661).\n\nThis framework implements a higher-order (HO) graph database (GDB) that uses\nlifting and lowering paradigms to seamlessly extend traditional GDBs with\nhigher-order interactions. The framework is a lightweight, modular, and\nparallelizable prototype that offers native support for hypergraphs,\nnode-tuples, subgraphs, and other HO structures under a unified API. Our work\ngeneralizes both ACID-compliant and eventually consistent systems.\n\n\n## Setup Guide\n\nIn order to use this framework, you need to have a working installation of Python 3.9 or newer.\n\n\n### Installing HO-GDB\n\nBefore executing the installation process, please make sure to activate your Python environment (if any) beforehand.\n```bash\ngit clone https://github.com/spcl/HO-GDB.git\ncd HO-GDB\npip install .\n```\nPlease note that the Python packages `hypernetx`, `networkx`, `torch`, `torch_geometric` and `rdkit` are only necessary to run the benchmarks, but not for the framework itself.\n\n\n### Installing Neo4j\n\nPlease refer to the [Neo4j installation manual](https://neo4j.com/docs/operations-manual/current/installation/). Choose one of the following options:\n\n* Download Neo4j and extract, start with\n```bash\nbin/neo4j start\n```\n* Run Neo4j using the official Docker image.\n* Connect to an AuraDB instance. Make sure to note your username, password, and URL.\n\nYou should update the file [HOGDB/.env](HOGDB/.env) according to your configuration and include the necessary credentials or pass these parameters as part of `db_params` in your code.\nYou should make sure to allocate sufficient memory for the Neo4j server.\nWe used the Neo4j 5.26.5 Community Edition during our evaluation of HO-GDB.\n\n\n## Quick Start\n\nPlease make sure that you installed Neo4j and setup the configuration, so that HO-GDB is able to access the Neo4j database.\nWhile we currently only support Neo4j as a graph database backend, we provide an abstract Database class together with abstract classes for database sessions and transactions that serve as an API to integrate other graph databases.\nThese abstract classes can be found in the file [HOGDB/db/db.py](HOGDB/db/db.py).\n\nOnce a Neo4j server is running and HO-GDB was installed, you can directly start using HO-GDB.\nWe provide a simple example of a higher-order graph with a few nodes and a node-tuple in the [examples](examples) directory.\nIf you are looking for code with a higher complexity, please take a look at the [benchmark](benchmark) directory.\n\n## Datasets and Benchmarks\n\nWe discuss the used datasets (ZINC20 and MAG-10 in particular) as well as our benchmark code in [benchmark/README.md](benchmark/README.md).\n\n## Citations\n\nIf you find this repository valuable, please give it a star!\nGot any questions or feedback? Feel free to reach out and open an issue.\nUsing this in your work? Please reference us using the provided citation:\n\n```bibtex\n@misc{besta2025higher,\n  title = {{Higher-Order Graph Databases}},\n  author = {Besta, Maciej and Chandran, Shriram and Cudak, Jakub and Iff, Patrick and Copik, Marcin and Gerstenberger, Robert and Szydlo, Tomasz and M\\\"{u}ller, J\\\"{u}rgen and Hoefler, Torsten},\n  year = 2025,\n  month = Jun,\n  eprinttype = {arXiv},\n  eprint = {2406.19661}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspcl%2Fho-gdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspcl%2Fho-gdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspcl%2Fho-gdb/lists"}