eclipse / jnosql

Eclipse JNoSQL is a framework which has the goal to help Java developers to create Jakarta EE applications with NoSQL.
Other
229 stars 72 forks source link

Enhancement of JNoSQL with Dual Support for Apache Tinkerpop and Open Cypher Standards #497

Open otaviojava opened 5 months ago

otaviojava commented 5 months ago

Which JNoSQL project the issue refers to?

JNoSQL Databases

Use case

Objective:

This issue aims to significantly enhance Eclipse JNoSQL's capabilities in handling graph databases by introducing support for both the Apache Tinkerpop and Open Cypher standards. The strategy involves reorganizing the current mapping-graph module and creating a framework that accommodates these two predominant graph database standards through a unified interface. The specific goals are as follows:

  1. Integrate the Existing mapping-graph Module with Apache Tinkerpop: Reinforce and formally structure the existing mapping-graph module within jnosql-databases to function explicitly with the Apache Tinkerpop standard.

  2. Develop Support for Open Cypher Standard: Introduce a new module or set of functionalities within jnosql-databases designed to work with the Open Cypher standard, thereby broadening the scope of graph database interactions within the JNoSQL ecosystem.

  3. Create a Unified Interface for mapping-graph: Develop a common interface or abstraction layer for the mapping-graph module that allows seamless interaction with both Apache Tinkerpop and Open Cypher, ensuring a cohesive and flexible user experience.

Rationale:

Feature proposal

Implementation Steps:

  1. Refinement of mapping-graph Module: Enhance the existing mapping-graph module to ensure full compatibility and optimized performance with Apache Tinkerpop, including thorough testing and documentation.

  2. Open Cypher Module Implementation: Develop a new component or extend the capabilities of jnosql-databases to include support for the Open Cypher standard, focusing on compatibility, performance, and ease of use.

  3. Unified Interface Design: Design and implement a common interface or abstraction layer that facilitates easy and efficient interaction with both Apache Tinkerpop and Open Cypher through the mapping-graph module.

  4. Comprehensive Testing and Documentation: Conduct extensive testing to ensure robustness, reliability, and user-friendly documentation that covers setup, usage, and examples for developers.

Expected Outcomes: