https://github.com/arcadedata/arcade-connectors
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.
https://github.com/arcadedata/arcade-connectors
Last synced: about 1 year ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/arcadedata/arcade-connectors
- Owner: ArcadeData
- License: apache-2.0
- Created: 2019-02-12T07:18:43.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2025-03-31T05:59:40.000Z (about 1 year ago)
- Last Synced: 2025-04-12T07:12:32.361Z (about 1 year ago)
- Language: Java
- Homepage: https://arcadeanalytics.com/
- Size: 1.43 MB
- Stars: 6
- Watchers: 3
- Forks: 2
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
[](https://app.codacy.com/gh/ArcadeData/arcade-connectors?utm_source=github.com&utm_medium=referral&utm_content=ArcadeData/arcade-connectors&utm_campaign=Badge_Grade)
[](https://opensource.org/licenses/Apache-2.0)
[](https://github.com/ArcadeData/arcade-connectors/actions)
[](https://maven-badges.herokuapp.com/maven-central/com.arcadeanalytics/arcade-connectors-parent)
[](https://www.meterian.com/report/gh/ArcadeAnalytics/arcade-connectors)
[](https://www.meterian.com/report/gh/ArcadeAnalytics/arcade-connectors)
[](https://javadoc.io/doc/com.arcadeanalytics/arcade-connectors-base)
[](https://codecov.io/gh/ArcadeData/arcade-connectors)
[WIP]
# Arcade Connectors
Arcade Conecotors are a set of components for fetching data and metadata from different data stores.
Supported data stores are
- OrientDB 2.x and 3.x
- Neo4j
- Memgraph
- Gremlin end points: OrientDB, JanusGraph, Amazon Neptune, Azure CosmosDB
- RDBMS: PostgreSQL, Mysql, MariaDB
The base module defines the interfaces and implements the SSH tunneling that could be used with each of the specialized modules.
Moreover provides the factories to create connectors.
## Build and test
To perform integrations, tests the projects uses [Testcontainers](https://www.testcontainers.org/) and needs [Docker](https://www.docker.com/) installed.
To build and test just run:
mvn clean install
## Modules
The _common_ module contains the definitions of the interfaces each connector should implement, the ssh-tunnel support and factories.
## Interfaces
- `DataSourceGraphDataProvider`: defines methods to fetch data and perform traverse on the graph
- `DataSourceGraphProvider`: defines method to extract the entire graph from the datasource (used to index the whole graph)
- `DataSourceMetadataProvider`: defines methods to extract metadata from the datasource, such as vertices and edge classes/labels
- `DataSourceTableDataProvider`: defines methods to provide tabular data used in charts
## Factory
There is a single, generified factory: `DataSourceProviderFactory`
To instantiate the factory for one of the provided interface:
factory = DataSourceProviderFactory(DataSourceGraphDataProvider::class.java)
The factory will scan the `plugins` directory and loads each implementation on a different classloader.