Skip to content

[question] overlap in Graph functionality across microservices #361

@rbrugaro

Description

@rbrugaro

Hi,
Currently we have multiple ways to perform graph extraction and graph querying.
On one hand we have datraprep microservices like neo4j and arangodb that provide the text to graph creation.
Also have retriever microservices like neo4j and arangodb that provide the text to cypher query capability

In v1.3 three separate microservices are introduced:

  • Struct to Graph: Supported transforming structured data to graphs using Neo4j graph database. (GenAIComps#1502)
  • Text to Graph: Supported creating graphs from text by extracting graph triplets. (GenAIComps#1357, GenAIComps#1472)
  • Text to Cypher: Supported generating and executing Cypher queries from natural language for graph database retrieval. (GenAIComps#1319)

I believe the Text to Graph and Text to Cypher overlap with the dataprep and retriever microservices.

From a developer perspective I would like to understand:

  1. What's the design benefit of deploying Text to Graph/ Text to Cypher microservices vs. a Dataprep/retriever microservices like the above?
  2. If there is a design benefit then, should Text to Graph , Text to Cypher, Struct to Graph be refactored to have the abstraction for multi vendor integration (neo4j, arangodb, falkordb...) and not tightly coupled with neo4j? That's the current design philosophy followed in dataprep, retriever and OpeaStore, that with a single argument a developer can switch among vendor integrations.
  3. For Struct to Graph for client db interactions I think OPEAStore class could be reused.

@aMahanna, @intelsharath, @ftian1 any thoughts?

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions