graph databases and advanced data visualisation · 1. a survey on network analysis and...
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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/1.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/2.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/4.jpg)
● 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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/5.jpg)
- 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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/6.jpg)
- 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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/7.jpg)
- 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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/8.jpg)
- 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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/9.jpg)
- 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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/10.jpg)
- 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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/11.jpg)
- 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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/12.jpg)
- 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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/13.jpg)
- 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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/15.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/18.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/19.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/20.jpg)
● 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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/21.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/22.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/23.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/24.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/25.jpg)
- 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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/26.jpg)
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
![Page 27: 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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/27.jpg)
- Introduction to Neo4J (http://neo4j.com/graphacademy/online-
course-getting-started)
- Neo4J Console (http://console.neo4j.org)
- Neo4J Local Installation training
Querying a Graph Database - Practice
![Page 28: 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](https://reader030.vdocuments.us/reader030/viewer/2022041022/5ed2ddcda079355bb26da195/html5/thumbnails/28.jpg)
● Graph Databases. Ian Robinson, Jim Webber and Emil Eifrem. O’Reilly.
http://neo4j.com/books/graph-databases/
● D3 Tips and Tricks. Malcolm Maclean.
https://leanpub.com/D3-Tips-and-Tricks
References