[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 and needs Docker installed.
To build and test just run:
mvn clean install
Modules
The common module contains the definitions of the interfaces each connector should implements, the ssh-tunnel support and factories.
Interfaces
DataSourceGraphDataProvider
: defines methods to fetch data and perform traverse on the graphDataSourceGraphProvider
: 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/labelsDataSourceTableDataProvider
: 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.