And then I got quite addicted. Graph databases, their concept and neo4j are really cool. I am a beginner - I have used it only for about two weeks now. But I spent considerable hours for my first projects.
At the beginning I spend some time entering data and creating relations between nodes manually. Next step was to load data from CSV files. And then I installed the APOC library and created a JDBC connection to a MySQL/MariaDb database.
The main painpoint at the moment is the modelling of the nodes and relations. I have a lot of questions in my head of how to model some use cases and - as I am a beginner - I am getting confused of what would be the best way to model. So I read more tutorials and documentation and watch some videos.
I started with two projects: the first was to create a graph database for Pentaho ETL jobs. It stores information and relations about the ETL jobs, which databases are accessed, on which server they run and in which data center, which drives the jobs read from or write to, etc.
Here is the screenshot of the graph db schema.
The second project is about flights. As I work for a groundhandling company, flights are the base data of our daily work. Flights come with information on the airline, aircraft type used, which groundhandler served the flight, origin and destination of course. But also other attributes such as delay minutes and delay reasons, number of passengers.
Here is the database schema screenshot:
I have a lot of questions and a lot to learn. Especially handling of dates and specifically time series is quite difficult. I spent a lot of time thinking about that. The other hard thing is to find out where to share nodes and where not. Cypher queries have a steep learning curve. The basics are clear within minutes. More complicated queries do create more questions in my head though...
I will blog here about more details about the projects as I go forward.