{"id":13487298,"url":"https://github.com/graphaware/neo4j-framework","last_synced_at":"2025-09-30T10:30:44.550Z","repository":{"id":9584055,"uuid":"11500828","full_name":"graphaware/neo4j-framework","owner":"graphaware","description":"GraphAware Neo4j Framework","archived":true,"fork":false,"pushed_at":"2021-05-05T19:16:21.000Z","size":8839,"stargazers_count":245,"open_issues_count":1,"forks_count":68,"subscribers_count":49,"default_branch":"master","last_synced_at":"2024-11-14T14:23:52.641Z","etag":null,"topics":["java","neo4j","neo4j-graphaware-framework"],"latest_commit_sha":null,"homepage":null,"language":"Java","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/graphaware.png","metadata":{"files":{"readme":"README.md","changelog":"changes.txt","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-07-18T11:04:07.000Z","updated_at":"2024-10-14T08:27:02.000Z","dependencies_parsed_at":"2022-07-30T01:47:57.082Z","dependency_job_id":null,"html_url":"https://github.com/graphaware/neo4j-framework","commit_stats":null,"previous_names":[],"tags_count":122,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphaware%2Fneo4j-framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphaware%2Fneo4j-framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphaware%2Fneo4j-framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphaware%2Fneo4j-framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/graphaware","download_url":"https://codeload.github.com/graphaware/neo4j-framework/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234724892,"owners_count":18877279,"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":["java","neo4j","neo4j-graphaware-framework"],"created_at":"2024-07-31T18:00:57.467Z","updated_at":"2025-09-30T10:30:44.060Z","avatar_url":"https://github.com/graphaware.png","language":"Java","readme":"\u003ca name=\"top\"/\u003e\n\nGraphAware Neo4j Framework - RETIRED\n==========================\n\n## GraphAware Neo4j Framework Has Been Retired\nAs of May 2021, this [repository has been retired](https://graphaware.com/framework/2021/05/06/from-graphaware-framework-to-graphaware-hume.html).\n\nGraphAware Framework provides a platform for building custom transaction-driven behaviour into \u003ca href=\"http://neo4j.org\" target=\"_blank\"\u003eNeo4j\u003c/a\u003e.\n\n## Community vs Enterprise\n\nThis open-source (GPLv3) version of the GraphAware Framework is compatible with Neo4j Community Edition only. \nIt *will not work* with Neo4j Enterprise Edition, which is a proprietary and commercial software product of Neo4j, Inc.\n\nGraphAware offers a *paid* Enterprise version of the GraphAware Framework to licensed users of Neo4j Enterprise Edition.\nPlease [get in touch](mailto:info@graphaware.com) to receive access.\n\n## Versioning\n\nThe Framework version number has two parts. The first three numbers indicate compatibility with a Neo4j version. The last number \nis the version of the Framework. For example, version 4.0.8.58 is version 58 of the Framework compatible with Neo4j 4.0.8.\n**Please note that we will not address issues related to the usage of incompatible versions of the Framework and Neo4j.**\n\n## Functionality\n\nOn a high level, the Framework is a Neo4j kernel extension that enables the use of GraphAware as well as custom Modules. \nThese Modules typically extend the core functionality of the database by transparently enriching/modifying/preventing ongoing transactions in real-time.\n\nExamples of popular Framework Modules are:\n* GraphAware UUID\n* GraphAware TimeTree\n* GraphAware Neo2Elastic\n* GraphAware Schema (Enterprise Only)\n* GraphAware Audit (Enterprise Only)\n \nYou can also make use the Framework as a software library, taking advantage of its useful features, such as GraphUnit for testing code that talks to Neo4j.\n\n## Using the Framework\n\nDeploying the GraphAware Framework (as well as any modules) is a matter of :\n* [downloading](#download) the appropriate .jar files\n* copying them into the _plugins_ directory in your Neo4j installation\n* restarting the server\n\nThe framework and modules are then used via Cypher calls to their procedures, if they provide any.\n\n### Configuration\n\nBy default, the Framework reads its configuration from `graphaware.conf` located in the `conf` directory of Neo4j. You\ncan change the file name by setting `com.graphaware.config.file` to your desired value in `neo4j.conf`. \n\n#### Community Configuration\n\nThe Framework itself has no more configuration options but its Modules typically do.\n\n#### Enterprise Configuration\n\nYou can selectively enable the GraphAware Framework for different databases running within the same Neo4j instance, by\nsetting `com.graphaware.runtime.enabled` in `graphaware.conf` to either:\n- `*` for any database (except for the 'system' database), or\n- name of a single database, or\n- a comma-separated list of database names\n\nFor example, the configuration of GraphAware Enterprise on Neo4j Enterprise with the UUID module running for all databases\ncould look like this: \n```\ncom.graphaware.runtime.enabled=*\ncom.graphaware.module.*.UIDM.1=com.graphaware.module.uuid.UuidBootstrapper\n``` \n\nFor two specific databases ('db1' and 'db2'), it would look like this:\n```\ncom.graphaware.runtime.enabled=db1,db2\ncom.graphaware.module.*.UIDM.1=com.graphaware.module.uuid.UuidBootstrapper\n```\n\nIf you wanted a different configuration of a specific module for each database, you could do\n```\ncom.graphaware.runtime.enabled=db1,db2\ncom.graphaware.module.db1.UIDM1.1=com.graphaware.module.uuid.UuidBootstrapper\ncom.graphaware.module.db2.UIDM2.1=com.graphaware.module.uuid.UuidBootstrapper\n# ... more config for the UUID modules ...\n```\nNote that in this case, the UUID module must have a unique ID (UIDM1 vs UIDM2).\n\n\u003ca name=\"download\"/\u003e\n\n## Getting GraphAware Framework\n\n### Releases\n\nTo use the latest release, \u003ca href=\"http://products.graphaware.com/\" target=\"_blank\"\u003edownload\u003c/a\u003e the appropriate version and put it\nthe _plugins_ directory in your Neo4j server installation and restart the server (server mode), or on the classpath (embedded mode).\n\nReleases are synced to \u003ca href=\"http://search.maven.org/#search%7Cga%7C1%7Ccom.graphaware.neo4j\" target=\"_blank\"\u003eMaven Central\nrepository\u003c/a\u003e. When using Maven for dependency management, include one or more dependencies in your pom.xml. To find out\n which ones, read further by clicking on one of the sub-modules of this project.\n\n### Snapshots\n\nTo use the latest development version, just clone this repository and run `mvn clean install`. This will produce {newVersion}.XX-SNAPSHOT jar files (eg. 4.2.6.66-SNAPSHOT). If you need standalone .jar files with all dependencies, look into the `target` folder in the `build` directory.\n\n## Building Own Modules\n\nJava developers that want to build own Modules should use the provided parent Maven module:\n```\n \u003cparent\u003e\n    \u003cgroupId\u003ecom.graphaware.neo4j\u003c/groupId\u003e\n    \u003cartifactId\u003emodule-parent\u003c/artifactId\u003e\n    \u003cversion\u003e{framework version}\u003c/version\u003e\n \u003c/parent\u003e\n```\n\nThe easiest way to start is to look at the Friendship Strength Counter Module example, or the GraphAware TimeTree Module.\n\n## License\n\nCopyright (c) 2013-2020 GraphAware\n\nGraphAware Framework is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License\nas published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied\nwarranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\nYou should have received a copy of the GNU General Public License along with this program.\nIf not, see \u003chttp://www.gnu.org/licenses/\u003e.\n","funding_links":[],"categories":["Java","Development","REST API"],"sub_categories":["REST API","Other"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraphaware%2Fneo4j-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgraphaware%2Fneo4j-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraphaware%2Fneo4j-framework/lists"}