{"id":13424976,"url":"https://github.com/dpapathanasiou/simple-graph","last_synced_at":"2025-04-14T16:46:45.915Z","repository":{"id":38283409,"uuid":"322951818","full_name":"dpapathanasiou/simple-graph","owner":"dpapathanasiou","description":"This is a simple graph database in SQLite, inspired by \"SQLite as a document database\"","archived":false,"fork":false,"pushed_at":"2025-02-15T14:49:04.000Z","size":319,"stargazers_count":1437,"open_issues_count":1,"forks_count":85,"subscribers_count":30,"default_branch":"main","last_synced_at":"2025-04-07T14:00:42.618Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dpapathanasiou.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}},"created_at":"2020-12-19T22:47:42.000Z","updated_at":"2025-04-05T11:21:13.000Z","dependencies_parsed_at":"2024-06-20T10:18:40.232Z","dependency_job_id":"11c7e657-2922-4040-bc0a-b56571805476","html_url":"https://github.com/dpapathanasiou/simple-graph","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpapathanasiou%2Fsimple-graph","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpapathanasiou%2Fsimple-graph/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpapathanasiou%2Fsimple-graph/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpapathanasiou%2Fsimple-graph/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dpapathanasiou","download_url":"https://codeload.github.com/dpapathanasiou/simple-graph/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248919166,"owners_count":21183322,"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":[],"created_at":"2024-07-31T00:01:01.438Z","updated_at":"2025-04-14T16:46:45.888Z","avatar_url":"https://github.com/dpapathanasiou.png","language":null,"readme":"# About\n\nThis is a simple [graph database](https://en.wikipedia.org/wiki/Graph_database) in [SQLite](https://www.sqlite.org/), inspired by \"[SQLite as a document database](https://dgl.cx/2020/06/sqlite-json-support)\".\n\n# Structure\n\nThe [schema](sql/schema.sql) consists of just two structures:\n\n* Nodes - these are any [json](https://www.json.org/) objects, with the only constraint being that they each contain a unique `id` value \n* Edges - these are pairs of node `id` values, specifying the direction, with an optional json object as connection properties\n\nThe create, read, update, and delete functions ([.sql files](sql)) are complete statements with [qmark](https://docs.python.org/3/library/sqlite3.html#sqlite3.paramstyle) bindings.\n\nSearch templates ([.template files](sql)) are in [Jinja2](https://pypi.org/project/Jinja2/) format, which can be converted to other template syntaxes relatively easily, with a bit of [regex magic](https://github.com/dpapathanasiou/simple-graph-go/blob/main/generate-constants.sh) (though it would be nice if they could be expressed in a more language-agnostic way).\n\nThere are also traversal function templates as native SQLite [Common Table Expressions](https://www.sqlite.org/lang_with.html) which produce lists of identifiers or return all objects along the path.\n\n# Applications\n\n* [Social networks](https://en.wikipedia.org/wiki/Social_graph)\n* [Interest maps/recommendation finders](https://en.wikipedia.org/wiki/Interest_graph)\n* [To-do / task lists](https://en.wikipedia.org/wiki/Task_list)\n* [Bug trackers](https://en.wikipedia.org/wiki/Open-source_software_development#Bug_trackers_and_task_lists)\n* [Customer relationship management (CRM)](https://en.wikipedia.org/wiki/Customer_relationship_management)\n* [Gantt chart](https://en.wikipedia.org/wiki/Gantt_chart)\n\n# Usage\n\n## RESTful API (paid)\n\nThe [Banrai Simple Graph Database and Document Store](https://banrai.com/) wraps this core logic with an API service, creating a managed graph database and document store, with additional features not found in any of the public bindings.\n\n## Importable library (free)\n\nChoose an implementation:\n\n* [Python](https://github.com/dpapathanasiou/simple-graph-pypi) (now [available in PyPI](https://pypi.org/project/simple-graph-sqlite/))\n* [Go](https://github.com/dpapathanasiou/simple-graph-go)\n* [Julia](https://github.com/JuliaComputing/SQLiteGraph.jl) (courtesy of [Josh Day](https://github.com/joshday))\n* [R](https://github.com/mikeasilva/simplegraphdb) (courtesy of [Michael Silva](https://github.com/mikeasilva))\n* [Flutter and Dart](https://github.com/rodydavis/flutter_graph_database) (courtesy of [Rody Davis](https://github.com/rodydavis))\n* [Swift](https://swiftpackageindex.com/Jomy10/SimpleGraph) (Courtesy of [Jonas Everaert](https://github.com/jomy10)\n\nWant to contribute an implementation in your preferred programming language?\n\nThe [schema and prepared sql statements](sql) can be used by programs in *any* programming language with [SQLite bindings](https://en.wikipedia.org/wiki/SQLite#Programming_language_support). \n\n[Pull requests](https://help.github.com/articles/about-pull-requests/) are welcome!\n","funding_links":[],"categories":["Go","Others","Members","other"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdpapathanasiou%2Fsimple-graph","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdpapathanasiou%2Fsimple-graph","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdpapathanasiou%2Fsimple-graph/lists"}