Skip to main content

Posts

Showing posts from 2018

What are graph databases?

The description of graph databases that you get when you google it are mostly academic. I see a lot of descriptions about graph databases that talk about seven bridges in Königsberg or Berners-Lee, the inventor of the internet. There are theories and visions which are fine, but for me, I still think it’s important to lead with the relevance. Why are graph databases important to you? Imagine the data that’s stored in a local restaurant chain. If you were keeping track, you’d store customer information in one database table, the items you offer in another and the sales that you’ve made in a third table. This is fine when I want to understand what I sold, order inventory and who my best customer is. But what’s missing is the connective tissue, the connection between the items, along with function in the database that can let me make the most of it. A graph database stores the same sort of data, but is also able to store linkages between the things.   John buys a lot of Pepsi, J...

The three biggest differences between graph databases

It is important to understand that not all graph databases are created equal. As I pull back the covers on graph databases, I'm beginning to understand that graph databases tend to fall into the following categories: RDF versus property graph Resource description framework (RDF) graph databases, sometimes known as triple stores, offer a way of accessing data that follows W3C standards. Data sources conforming to these standard will be made more accessible without data conversion. RDF databases also natively use SparQL, with is considered a standard language for graph analytics.  Labelled property graphs (LPG) like Neo4J were originally purpose-built and less conforming to the Web standards.  However, they may perform better for certain types of graph analysis. LPGs may use non-standard languages, like gremlin and cypher in order to achieve analysis. That said, SparQL is not exactly well-known. SQL does not have native graph functions, so you'll need to pick up a variant l...