Closed E22T07 closed 1 month ago
Other graph-based DBs are using Neo4j's Cypher Query Language, for example memgraph, so the implementation of this should add connectivity to a few graph-based DB engines.
I am going to take a look at SQL based processors for inspiration - I think that it will be hard to generalise converting JSON messages into a Graph DB. - Does anyone have any ideas / examples in other software that does something similar?
I think that the processor should be named Cypher so it similar to the other SQL processors (that the query language is used for the name not the DB engine i.e. Neo4j.)
from @boorad on the discord server:
I am planning on open-sourcing all of our ArangoDB input/processor/output Benthos components soon. I prefer this graph db to Neo4j... not sure if you have any interest.
@boorad I think that it is interesting because there are many graph DBs out there. They have different query languages and I couldn't find anything like an ORM so that it could be general across the different graph DBs. (although I haven't searched extensively)
Looking at benthos's SQL components it makes use of the ORM to generalise between SQL dialects. -- that would be ideal for graph DBs but it might not be possible.
Neo4j's query language has been open sourced and is implemented in more that just neo4j. I think that my intention is to provide a group of Cypher components so it is clear that if the target Graph DB uses Cypher it should work.
We see that this memgraph uses the neo4j-go-driver https://memgraph.com/docs/memgraph-cloud/cloud-connect#golang .
....
It would be interesting to see the components you have so that we could work out a general strategy to convert the json based message to the nodes and relationships. even like in the end we have a Graph DB output/input and then graphDB engine is specified as part of the config
Neo4j is the standard right now, gql is coming but not there yet, it would be wise to implement neo4j for now and gql down the line
I'm planning on working on this one this week. Just an output to start. Might be fun to have a processor for queries too.
Hi, it would be great if Benthos had support for Neo4j.
Thanks!!