+ All Categories
Home > Documents > Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and...

Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and...

Date post: 27-May-2020
Category:
Upload: others
View: 12 times
Download: 0 times
Share this document with a friend
28
Graph Databases and Advanced Data Visualisation
Transcript
Page 1: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

Graph Databases and Advanced Data Visualisation

Page 2: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

1. A Survey on Network Analysis and Visualisation Tools

2. Graph Databases

3. Querying a Graph Database

4. Practical Examples using Neo4J, Cypher, D3JS and VISJS

Outline

Page 3: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

1. A Survey on Network Analysis and Visualisation Tools

2. Graph Databases

3. Querying a Graph Database

4. Practical Examples using Neo4J, Cypher, D3JS and VISJS

Outline

Page 4: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

● Useful for analysing big networks

● A lot of functionalities accessibles through dropdown menus

● Free

● Only for Windows

Tools - Pajek

http://pajek.imfm.si/doku.php

Page 5: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

- An Excel plugin for analysing networks

- Free

- Only for Windows

Tools - NodeXL

http://nodexl.codeplex.com

Page 6: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

- Highly used in sociology studies

- Students $40; Governments: $150; Other: $200

- Only for Windows

Tools - UCINet

https://sites.google.com/site/ucinetsoftware/home

Page 7: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

- Special for big networks

- A set of Python libraries

- Open Source

- Free

Tools - NetworkX

https://networkx.github.io

Page 8: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

- Powerful statistical analysis tool

- A set of R libraries

- Open Source

- Free

Tools - R Network Packages

http://cran.r-project.org/web/packages/sna

Page 9: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

- Social Network Animation Tool

- Specialised in longitudinal analysis

- Developed by Stanford

- Free

Tools - SoNIA

http://www.stanford.edu/group/sonia

Page 10: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

- User oriented network analysis tool

- Interactive

- Multiplatform

- Free

Tools - Gephi

http://gephi.org

Page 11: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

- A set of libraries for data visualisation

- JQuery + HTML5

- Open Source

- Free

Tools - D3js

http://d3js.org

Page 12: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

- A set of libraries for data visualisation

- JQuery + HTML5

- Open Source

- Free

Tools - VISjs

http://visjs.org

Page 13: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

- Graph visualisation with D3js (http://d3js.org)

- Graph visualisation with VISjs (http://visjs.org)

Tools - Practice

Page 14: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

1. A Survey on Network Analysis and Visualisation Tools

2. Graph Databases

3. Querying a Graph Database

4. Practical Examples using Neo4J, Cypher, D3js and VISjs

Graph Databases

Page 15: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

Graph Databases - Relational databases

lack relationships

Bob’s friends

Alice’s friends-of-friends

What about big data?

Page 16: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

Graph Databases - NOSQL databases also

lack relationships

Relationships can be emulated by aggregated fields, but:

- They should be maintained (update and delete)

programmatically.

- Aggregated links are not reflexive: there is no point

backward (e.g. to know who bought a product).

Page 17: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

A graph is a collection of vertices representing entities and

edges representing the relationships among them.

In a property graph both nodes and relationships can have

properties.

Graph data model means that data are modelled such a graph.

A (property) graph database is an online database management

system with Create, Read, Update and Delete methods that

expose a (property) graph data model.

Graph Databases - Definitions

Page 18: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

Graph Databases - Property graph

Node with a property which value

is “Harry”

Relationship with a property which

value is “Follows”

Page 19: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

Graph Databases - Magic Quadrant

Page 20: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

● Neo4J local installation (http://neo4j.com/download)

Graph Databases - Practice

Page 21: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

1. A Survey on Network Analysis and Visualisation Tools

2. Graph Databases

3. Querying a Graph Database

4. Practical Examples using Neo4J, Cypher, D3js and VISjs

Querying a Graph Database

Page 22: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

Cypher is an expressive graph database query language.

Cypher is designed to be easily read and understood by

developers, database professionals and business stakeholders.

The key of Cypher is that enables to find data that matches a

specific pattern, following our intuition to describe graphs using

diagrams.

Querying a Graph Database - Cypher

Page 23: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

Relation type

and direction

Querying a Graph Database - Cypher

Nodes

Separation among

subgraphs

Page 24: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

The simplest query:

- a START clause followed by a MATCH and a RETURN clauses

Querying a Graph Database - Cypher

Page 25: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

- START: specifies the starting point(s) in the graph (e.g.

nodes or relationships)

- MATCH: describes the specification by example, using

characters to represent nodes and relationships, in order to

draw the data we are interested in.

- RETURN: defines the nodes, relationships and/or attributes

that should be returned.

Querying a Graph Database - Cypher

Page 26: Graph Databases and Advanced Data Visualisation · 1. A Survey on Network Analysis and Visualisation Tools 2. Graph Databases 3. Querying a Graph Database 4. Practical Examples using

OTHER CYPHER CLAUSES

- WHERE: provides criteria for filtering.

- CREATE (UNIQUE): for the creation of nodes and relationships.

- DELETE: removes nodes, relationships and properties.

- SET: sets property values to nodes and relations.

- FOREACH: allows to perform an updating action for a list of

elements.

- UNION: merges results from different queries.

- WITH: allows to pipe results from one query to the next.

Querying a Graph Database - Cypher


Recommended