{"id":18733404,"url":"https://github.com/icij/datashare-extension-neo4j","last_synced_at":"2025-04-12T18:31:38.580Z","repository":{"id":143312598,"uuid":"591274759","full_name":"ICIJ/datashare-extension-neo4j","owner":"ICIJ","description":"Build Neo4j graphs from Datashare projects","archived":false,"fork":false,"pushed_at":"2025-02-17T12:59:10.000Z","size":2201,"stargazers_count":12,"open_issues_count":4,"forks_count":1,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-03-26T12:51:12.867Z","etag":null,"topics":["datashare","graph","investigative-journalism","neo4j"],"latest_commit_sha":null,"homepage":"https://datashare.icij.org/","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/ICIJ.png","metadata":{"files":{"readme":"README-dev.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-20T11:02:31.000Z","updated_at":"2025-03-19T08:40:52.000Z","dependencies_parsed_at":"2023-11-22T18:37:10.405Z","dependency_job_id":"dcc1bd08-0e83-409d-93ce-70ef29712fd4","html_url":"https://github.com/ICIJ/datashare-extension-neo4j","commit_stats":null,"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ICIJ%2Fdatashare-extension-neo4j","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ICIJ%2Fdatashare-extension-neo4j/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ICIJ%2Fdatashare-extension-neo4j/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ICIJ%2Fdatashare-extension-neo4j/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ICIJ","download_url":"https://codeload.github.com/ICIJ/datashare-extension-neo4j/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248613486,"owners_count":21133522,"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":["datashare","graph","investigative-journalism","neo4j"],"created_at":"2024-11-07T15:09:36.894Z","updated_at":"2025-04-12T18:31:38.569Z","avatar_url":"https://github.com/ICIJ.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Development\n\nThis repository is a monorepo hosting:\n- the Java backend extension of Datashare (`src`), this extension is mainly a wrapper around the Python Neo4j application\n- the Python Neo4j backend application handling (`neo4j-app`)\n- the Datashare Graph widget plugin frontend (`plugins/neo4j-graph-widget`)\n\n### Dependencies\n\n#### Core\nDevelopers need the following dependencies on their operating system:\n\n- [Python](https://www.python.org/downloads/) `\u003e3.10.8,\u003c4.0`\n- [poetry](https://python-poetry.org/) (see `./neo4j install_peotry`)\n- JDK `\u003e= 11`\n- [maven](https://maven.apache.org/) `\u003e3.8,\u003c4.0`\n\n#### Frontend\n- [yarn](https://yarnpkg.com/) `\u003e1.22,\u003c2.0`\n- [npm](https://www.npmjs.com/) `\u003e1.22,\u003c2.0`\n\n#### Test and build\n- Docker\n- [git](https://git-scm.com/)\n\n### Dev commands\n\nThe `neo4j` script allows to run commands for this repository.\nSome commands may require to specify a project using the `-p` flag.\n\n#### Setting up\n\nAll projects:\n\n```bash\n./neo4j setup\n```\n\nonly the Python app:\n\n```bash\n./neo4j setup -p neo4j_app\n```\n\n#### Building\n\nAll projects:\n\n```bash\n./neo4j build\n```\n\nonly the Python app:\n\n```bash\n./neo4j build -p neo4j_app\n```\n\n#### Format and code styles\nTo run code formatting use:\n```bash\n./neo4j format\n```\nit will run Python code base formatting.\n\nThe Java code style guides are located in [checkstyle.xml](qa/java/checkstyle.xml).\nYou can then use the [Checkstyle Intellij plugin](https://plugins.jetbrains.com/plugin/1065-checkstyle-idea) to\nhighlight code style warnings and errors.\n\nAdditionally once the plugin has been installed you can import the [checkstyle.xml](qa/java/checkstyle.xml) as a \nJava Code Style template ` Settings|Editor|Code Style|Manage...|Import..`.\nThis will allow you to automatically format you code according to the style guide when running the `Reformat Code`\naction in Intellij.\n\nBe aware that reformatting code will only solve formatting style issues and other issues might be left.\n\n`Checkstyle` is also available for other IDEs and you should be able to integrate it in your preferred IDE.\n\n\n\n#### Testing\n\n##### Start and stop test services\n\n```bash\n./neo4j start_all_test_services\n./neo4j stop_all_test_services\n```\n\nTo start/stop Elasticsearch only, run:\n\n```bash\n./neo4j start_test_elasticsearch\n./neo4j stop_test_elasticsearch\n```\n\nto use a different port run:\n\n```bash\n./neo4j start_test_elasticsearch --elasticsearch-port 9999\n```\n\nTo start/srop neo4j only, run:\n\n```bash\n./neo4j start_test_neo4j\n./neo4j stop_test_neo4j\n```\n\n\n##### Run tests locally\nTo run all tests locally run:\n```bash\n./neo4j test\n```\n\nTo run a specify test  run:\n```bash\n./neo4j test -p neo4j_app\n```\navailable tests are `neo4j_app`, `neo4j_app_format`, `neo4j_extension` and `neo4j_extension_format` \n\n##### Run tests inside Docker (like in the CI)\nYou can use any of the above test commands replacing `test` by `docker_test` to run them inside a docker container.\nFor instance:\n```bash\n./neo4j docker_test -p neo4j_app\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficij%2Fdatashare-extension-neo4j","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ficij%2Fdatashare-extension-neo4j","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficij%2Fdatashare-extension-neo4j/lists"}