{"id":20374369,"url":"https://github.com/arcadedata/arcade-connectors","last_synced_at":"2025-04-12T07:12:38.297Z","repository":{"id":37277669,"uuid":"170271274","full_name":"ArcadeData/arcade-connectors","owner":"ArcadeData","description":"Arcade Connectors - Arcade Analytics is the first Open Source Graph Analytics platform. Connect your Graph Database (Neo4j, OrientDB, Amazon Neptune, Microsoft CosmosDB, etc) and RDBMS (Oracle, MySQL, Postgres, Microsoft SQLServer, MariaDB) to create powerful dashboards.","archived":false,"fork":false,"pushed_at":"2025-03-31T05:59:40.000Z","size":1496,"stargazers_count":6,"open_issues_count":9,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-12T07:12:32.361Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://arcadeanalytics.com/","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ArcadeData.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["arcadedata"]}},"created_at":"2019-02-12T07:18:43.000Z","updated_at":"2025-02-04T11:29:31.000Z","dependencies_parsed_at":"2024-04-29T05:30:58.820Z","dependency_job_id":"98b8798c-55e4-4906-91ba-7b285d9c5eab","html_url":"https://github.com/ArcadeData/arcade-connectors","commit_stats":null,"previous_names":["arcadeanalytics/arcade-connectors"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArcadeData%2Farcade-connectors","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArcadeData%2Farcade-connectors/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArcadeData%2Farcade-connectors/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArcadeData%2Farcade-connectors/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ArcadeData","download_url":"https://codeload.github.com/ArcadeData/arcade-connectors/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248530571,"owners_count":21119600,"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-11-15T01:24:02.386Z","updated_at":"2025-04-12T07:12:38.266Z","avatar_url":"https://github.com/ArcadeData.png","language":"Java","funding_links":["https://github.com/sponsors/arcadedata"],"categories":[],"sub_categories":[],"readme":"[![Codacy Badge](https://api.codacy.com/project/badge/Grade/f04d5574622145c8ab6b78733084d1d8)](https://app.codacy.com/gh/ArcadeData/arcade-connectors?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=ArcadeData/arcade-connectors\u0026utm_campaign=Badge_Grade)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Actions Status](https://github.com/ArcadeData/arcade-connectors/workflows/Maven%20Deploy/badge.svg)](https://github.com/ArcadeData/arcade-connectors/actions)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.arcadeanalytics/arcade-connectors-parent/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.arcadeanalytics/arcade-connectors-parent)\n[![security status](https://www.meterian.com/badge/gh/ArcadeAnalytics/arcade-connectors/security)](https://www.meterian.com/report/gh/ArcadeAnalytics/arcade-connectors)\n[![stability status](https://www.meterian.com/badge/gh/ArcadeAnalytics/arcade-connectors/stability)](https://www.meterian.com/report/gh/ArcadeAnalytics/arcade-connectors)\n[![Javadocs](https://javadoc.io/badge/com.arcadeanalytics/arcade-connectors-base.svg)](https://javadoc.io/doc/com.arcadeanalytics/arcade-connectors-base)\n[![codecov](https://codecov.io/gh/ArcadeData/arcade-connectors/branch/master/graph/badge.svg)](https://codecov.io/gh/ArcadeData/arcade-connectors)\n\n[WIP]\n\n# Arcade Connectors\n\nArcade Conecotors are a set of components for fetching data and metadata from different data stores.\n\nSupported data stores are\n\n- OrientDB 2.x and 3.x\n- Neo4j\n- Memgraph\n- Gremlin end points: OrientDB, JanusGraph, Amazon Neptune, Azure CosmosDB\n- RDBMS: PostgreSQL, Mysql, MariaDB\n\nThe base module defines the interfaces and implements the SSH tunneling that could be used with each of the specialized modules.\nMoreover provides the factories to create connectors.\n\n## Build and test\n\nTo perform integrations, tests the projects uses [Testcontainers](https://www.testcontainers.org/) and needs [Docker](https://www.docker.com/) installed.\n\nTo build and test just run:\n\n    mvn clean install\n\n## Modules\n\nThe _common_ module contains the definitions of the interfaces each connector should implement, the ssh-tunnel support and factories.\n\n## Interfaces\n\n- `DataSourceGraphDataProvider`: defines methods to fetch data and perform traverse on the graph\n- `DataSourceGraphProvider`: defines method to extract the entire graph from the datasource (used to index the whole graph)\n- `DataSourceMetadataProvider`: defines methods to extract metadata from the datasource, such as vertices and edge classes/labels\n- `DataSourceTableDataProvider`: defines methods to provide tabular data used in charts\n\n## Factory\n\nThere is a single, generified factory: `DataSourceProviderFactory`\nTo instantiate the factory for one of the provided interface:\n\n    factory = DataSourceProviderFactory(DataSourceGraphDataProvider::class.java)\n\nThe factory will scan the `plugins` directory and loads each implementation on a different classloader.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farcadedata%2Farcade-connectors","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farcadedata%2Farcade-connectors","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farcadedata%2Farcade-connectors/lists"}