Search code examples
graphsparqlgremlinontologynetwork-analysis

Are 'graph databases' or 'graph algorithms' and 'network analysis' the same thing?


I recently was tasked with using AWS Neptune to do some graph analysis and found some resources online on network analysis.

From what I understand, graph databases are a more complex storage system than relational databases but they have the added benefit of allowing one to query the database using either some NOSQL language like SPARQL or Gremlin.

Now, I am looking to get to some practical application of these graphs on a graph database, and am looking for any practical resources on the subject. I found a datacamp course on 'Intermediate Network Analysis in Python', would this 'network analysis' be synonymous to 'graph algorithms'?


Solution

  • First, graph databases are not "a more complex storage system than relational databases", but in fact can be seen as being simpler. Graph models are easier to understand, and do not require constructs not directly related to the domain model (like join tables).

    Some graph algorithms fall under the rubric "network analysis". There are also graph algorithms that don't necessarily have anything to do with network analysis. Since you did not describe your problem, it is difficult to say anything more.

    Neptune is an OLTP database, and performs well for transactional queries that touch a reasonably restricted graph neighborhood. Neptune was not designed for optimal performance with graph operations that touch the entire stored graph (which is often the case in network analysis).