Using neo4j as a LOB classic database

We would like to create our own ERP solution for using in several different use-cases: CRM, remote mobile app management, e-commerce, advanced content management and more.
You might want to refer it as a "Line of business" AKA L.O.B type of apps.

Most of the apps that we are going to integrate inside are not that much of a "heavy relational schema".
Some have 4 JOINS in an extream use-case and some in the future might have 20+ joins.

  1. Can NEO4J be used as a database for none GRAPH oriented type of schemas?
    We want to create one infrastructure in JAVA to serve all, heavy and less heavy relational databases.

  2. if neo4j is suitable with LOB apps, how is that performing when you just want to search for a customer entity.
    where height > 1.96 and (language = 'en' or lang = 'es') and address like '%abc%' order by... group by...
    or even more simple: where id = 'some id' by... group by...
    Will these type of queries be less effective then MONGO/MYSQL?

We definitely don't want to create an internal abstracted ORM that will be use-cases dependent, some time to use SQL some time to use BIG DATA and some time to use Graph, this would be impossible to maintain.
We would love to be coupled with the chosen database.

  1. would you say that neo4j can cover all the database use-cases I have raised here?


I think you're going to find the answer to be "It depends" Just how even before the days of Graph or NoSQL databases you could still build your entire app on a SQL db, today you could choose to build everything on Neo4j if you really wanted to. You can make a square peg fit into a round hole but why wouldn't you just choose a round peg to begin with?

You're statement about not wanting to use a variety of technologies dependent on use case might be short sighted. I say don't artificially limit yourself, choose the right technology for the problem you're trying to solve. Different technologies are going to have their own strengths and weaknesses. This is the basis of rise of micro-services, each services does one job and does it well. It's actually easier to maintain rather than building monolith which what it sounds like you're describing to build.

Define your goal first and then choose the technology to support it.

Thanks, I know that when using a non sql in an ERP system can be a little bit of a pain.
I saw huge ERP system (monolithic) written in MONO, they had few challanges, the nature of the app was almost no joins, once overcome the chanllengs the app was very agile.

So, I want to know what do i need to cvercome, this is why I asked the 3 questions, to get a hint about the challanges.

So still, Im looking for answers to these questions.