Know your data – why we use
Oracle Property Graph for
data modeling and more

Do you know your data?

As your business evolves over the years, so do your data structures. If you have a working database, data (re)modeling may not be at the top of your list. Yet, at some point, you may need an up-to-date data model. Many database tools offer features to easily reverse engineer a data model, but they use foreign key constraints to create the links between tables. That’s great. But what if your database doesn’t have these constraints? We know many that don’t.

Being aware of the lack of explicit joins between tables, we started looking at implicit joins in JOIN conditions of queries in an application. So there we have it: we know the tables and their joins – who else wants to draw the model? We do. And we choose Oracle Property Graph to do it. If you’re not familiar with property graphs, let’s take a quick look at the basics.

From graph databases and property graphs

The main difference between a relational and a graph database is how they handle relationships between data. In relational databases, entities are only logically linked (via foreign keys) and the actual mapping is done at query time. Graph databases, on the other hand, treat relationships as data, meaning the link itself is stored in the database and can be queried directly.

Property graphs consist of nodes (the entities of the graph, also known as vertices) and edges (the connections between nodes). Both nodes and edges can have multiple properties (attributes), which are represented as key/value pairs. This means that the structure of a graph does not need to be predefined, as you can simply add new key/value pairs when more attributes are needed.

Although there is no standardized notation for property graphs, both drawing and reading them is quite easy – even for non-technical users. In addition – and this is the exciting part – there are a number of graph algorithms for solving problems such as shortest path, cycle detection, clustering and many, many more.

Why Oracle Property Graph?

There are a few reasons why Oracle Property Graph is a good fit for our needs right now. In December 2019, Oracle made its Property Graph feature available free of charge for all on premise editions and Oracle Cloud Database Services. Since Oracle Database is multimodal, we can easily store our Property Graph in the Property Graph schema of our existing database. There are more than fifty ready-to-use graph algorithms and one can still implement more algorithms.

Last but not least, PGQL, Oracle’s query language for property graphs, is based on SQL, so it is quite easy to learn for users with SQL background.

You want to know more? Then please feel free to contact our project manager Stephan La Rocca.