vaticle / typedb

TypeDB: the polymorphic database powered by types
https://typedb.com
Mozilla Public License 2.0
3.72k stars 337 forks source link

Create a Cypher to TypeQL converter #7031

Open maydanw opened 2 months ago

maydanw commented 2 months ago

Problem to Solve

There are two problems to solve with this issue:

  1. Marketing - When coming to sell a TypeDB solution I see I face two questions. The first is why graph data and then why TypeDB and not Neo4J. At the moment, Neo4J is the strongest player in the market and heavily invests in educating the market on the benefits of graph data something TypeDB finds t hard to do. They have existed for many years and have a long record of success but in the technology aspect, TypeDB is superior. It is a hypothesis, but, I assume that being able to make the sale to customers who work with Neo4J (and understand the value of graphs) but want more from their data will remove one obstacle from the selling process. This can be done if the migration is easy, therefore a converter will be of value. Also, I assume, that directly competing with Neo4J and using it for marketing and PR will help to level TypeDB with Neo4J and help in marketing. As the converter is one-sided TypeDB can easily make comparisons and choose the cases to put forward.
  2. Improving TypeQL - Cypher has been used in many cases for many years and gained a long track of usage. By writing such a converter many of the missing and hard-to-express parts in TypeQL will surface. The assumption here is that at it's core TypeDB is a superset of Neo4J DB and therefore any limitation to translate a Cypher query to TypeQL is due to limitation in TypeQL that can be resolved.

Current Workaround

Proposed Solution

Create a Cypher to TypeQL converter

Additional Information