SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
Visualize your Graph Database
!
Techniques to view, explore and modify your graph data with
!

Michael Hackstein
@mchacki
1
Michael Hackstein
‣ ArangoDB Core Team
‣ ArangoDB Web Frontend
& Graph visualisation

‣ Organiser of cologne-js
The Task
‣ Create an administration interface for a graph database
‣ Render the graphs
‣ Modify the data
‣ Any graph should be allowed

3
Technology Stack
Frontend

Backend

REST API

Everything Free  Open Source
4
D3.js
‣ Bind arbitrary Data to DOM-Objects
‣ Data triggers functions to modify DOM
‣ Based on web-standards (HTML, SVG, CSS)
‣ Especially useful for SVG
‣ Easily create Charts and Graphs
‣ Ships with several layout implementations

5
ArangoDB
‣ Multi-Model NoSQL Database
‣ Convenient querying
‣ Extendable through JS  MRuby
‣ Highly performant  space efficient
‣ Foxx Framework to create APIs
‣ Store Graphs natively
‣ Traversal Querying
‣ REST-API

6
Challenges
‣ Graph structure not known beforehand
‣ Graph may be large
‣ Limited amount of screen space
‣ Should be readable

‣ Interaction should be possible
‣ CRUD Operations
‣ Graph Exploration

7
Graph Layout
‣ Force-Directed Layout
‣ No requirements for the rendered graph
‣ Iterative Layout
‣ O(n2) each iteration

re

on
lsi

pu

pu
lsi
o

re

n

‣ Only small nr. of vertices

attraction

8
Exploration
Naive Approach
Stepwise refinement
‣ Cluster complete graph
‣ Display clusters
‣ User can zoom in
‣ Display cluster content
!
!

‣ Disadvantages
‣ Requires knowledge of complete graph
‣ Reclustering required on data changes

9
Exploration
Better Approach
Stepwise exploration
‣ User selects start vertex
‣ Display direct neighbors
‣ Click on vertex adds neighbors to the graph
‣ Graph starts small scale
‣ will grow over time
!

‣ Disadvantages
‣ Display of complete graph is lost

10
Vertex Grouping
!
!
!
!
!
!
!
!

1. Group vertices by similar attributes
2. Layout each group separately
3. Treat each group as a single large vertex
4. Layout group-vertices
11
Fish-Eye Distortion
!
!
!
!
!
!

‣ Mouse-Pointer is the focus
‣ Magnify vertices close to the focus
‣ Minimise vertices far away from the focus
!

‣ Many vertices can be shown
‣ Each is selectable
12
Demo

DEMO
TIME
13
Thanks
‣ Thank you for your attention
!

‣ If you like my talk follow me on twitter / github:
!
!

@mchacki

‣ or take a look at the awesome projects i presented:

http://d3js.org
!

http://www.arangodb.org
14

Contenu connexe

Tendances

Rapid API Development ArangoDB Foxx
Rapid API Development ArangoDB FoxxRapid API Development ArangoDB Foxx
Rapid API Development ArangoDB Foxx
Michael Hackstein
 
Rupy2012 ArangoDB Workshop Part1
Rupy2012 ArangoDB Workshop Part1Rupy2012 ArangoDB Workshop Part1
Rupy2012 ArangoDB Workshop Part1
ArangoDB Database
 

Tendances (20)

01 nosql and multi model database
01   nosql and multi model database01   nosql and multi model database
01 nosql and multi model database
 
Rapid API Development ArangoDB Foxx
Rapid API Development ArangoDB FoxxRapid API Development ArangoDB Foxx
Rapid API Development ArangoDB Foxx
 
Extensible Database APIs and their role in Software Architecture
Extensible Database APIs and their role in Software ArchitectureExtensible Database APIs and their role in Software Architecture
Extensible Database APIs and their role in Software Architecture
 
CouchDB
CouchDBCouchDB
CouchDB
 
Comparison with storing data using NoSQL(CouchDB) and a relational database.
Comparison with storing data using NoSQL(CouchDB) and a relational database.Comparison with storing data using NoSQL(CouchDB) and a relational database.
Comparison with storing data using NoSQL(CouchDB) and a relational database.
 
Scaling ArangoDB on Mesosphere DCOS
Scaling ArangoDB on Mesosphere DCOSScaling ArangoDB on Mesosphere DCOS
Scaling ArangoDB on Mesosphere DCOS
 
MongoDB + Pylons FTW: Scalable Web apps with Python & NoSQL
MongoDB + Pylons FTW: Scalable Web apps with Python & NoSQLMongoDB + Pylons FTW: Scalable Web apps with Python & NoSQL
MongoDB + Pylons FTW: Scalable Web apps with Python & NoSQL
 
Redis IU
Redis IURedis IU
Redis IU
 
Taming NoSQL with Spring Data
Taming NoSQL with Spring DataTaming NoSQL with Spring Data
Taming NoSQL with Spring Data
 
CouchDB introduction
CouchDB introductionCouchDB introduction
CouchDB introduction
 
Introduction to couchdb
Introduction to couchdbIntroduction to couchdb
Introduction to couchdb
 
Apache CouchDB
Apache CouchDBApache CouchDB
Apache CouchDB
 
Rupy2012 ArangoDB Workshop Part1
Rupy2012 ArangoDB Workshop Part1Rupy2012 ArangoDB Workshop Part1
Rupy2012 ArangoDB Workshop Part1
 
Couch db
Couch dbCouch db
Couch db
 
The Basics of MongoDB
The Basics of MongoDBThe Basics of MongoDB
The Basics of MongoDB
 
Using MRuby in a database
Using MRuby in a databaseUsing MRuby in a database
Using MRuby in a database
 
BUILDING WEB APPS WITH ASP.NET MVC AND NOSQL
BUILDING WEB APPS WITH ASP.NET MVC AND NOSQLBUILDING WEB APPS WITH ASP.NET MVC AND NOSQL
BUILDING WEB APPS WITH ASP.NET MVC AND NOSQL
 
CBDW2014 - NoSQL Development With Couchbase and ColdFusion (CFML)
CBDW2014 - NoSQL Development With Couchbase and ColdFusion (CFML)CBDW2014 - NoSQL Development With Couchbase and ColdFusion (CFML)
CBDW2014 - NoSQL Development With Couchbase and ColdFusion (CFML)
 
ITB2016 - NoSQL with mongodb and ColdFusion (CFML)
ITB2016 - NoSQL with mongodb and ColdFusion (CFML)ITB2016 - NoSQL with mongodb and ColdFusion (CFML)
ITB2016 - NoSQL with mongodb and ColdFusion (CFML)
 
Lokijs
LokijsLokijs
Lokijs
 

Similaire à Visualize your graph database

Geoscience For Gis A
Geoscience For Gis AGeoscience For Gis A
Geoscience For Gis A
Andrew Zolnai
 
Web 2 0 Data Visualization With Jsf
Web 2 0 Data Visualization With JsfWeb 2 0 Data Visualization With Jsf
Web 2 0 Data Visualization With Jsf
rajivmordani
 
Web enabling your survey business ppt version
Web enabling your survey business ppt versionWeb enabling your survey business ppt version
Web enabling your survey business ppt version
rudy_stricklan
 

Similaire à Visualize your graph database (20)

DojoX GFX Keynote Eugene Lazutkin SVG Open 2007
DojoX GFX Keynote Eugene Lazutkin SVG Open 2007DojoX GFX Keynote Eugene Lazutkin SVG Open 2007
DojoX GFX Keynote Eugene Lazutkin SVG Open 2007
 
The 5 Layers of Web Accessibility
The 5 Layers of Web AccessibilityThe 5 Layers of Web Accessibility
The 5 Layers of Web Accessibility
 
Beyond the Standards
Beyond the StandardsBeyond the Standards
Beyond the Standards
 
Geoscience For Gis A
Geoscience For Gis AGeoscience For Gis A
Geoscience For Gis A
 
ScribeUI: La productivité avec MapServer
ScribeUI: La productivité avec MapServerScribeUI: La productivité avec MapServer
ScribeUI: La productivité avec MapServer
 
Angels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusiveAngels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusive
 
Add Some Awesome-Sauce
Add Some Awesome-SauceAdd Some Awesome-Sauce
Add Some Awesome-Sauce
 
73 Less Fugly Epicenter
73 Less Fugly   Epicenter73 Less Fugly   Epicenter
73 Less Fugly Epicenter
 
Web 2 0 Data Visualization With Jsf
Web 2 0 Data Visualization With JsfWeb 2 0 Data Visualization With Jsf
Web 2 0 Data Visualization With Jsf
 
The Fast And The Fabulous
The Fast And The FabulousThe Fast And The Fabulous
The Fast And The Fabulous
 
GraphQL vs. (the) REST
GraphQL vs. (the) RESTGraphQL vs. (the) REST
GraphQL vs. (the) REST
 
Building a JavaScript Module Framework at Gilt
Building a JavaScript Module Framework at GiltBuilding a JavaScript Module Framework at Gilt
Building a JavaScript Module Framework at Gilt
 
Modern Webdevelopment With Ruby On Rails
Modern Webdevelopment With Ruby On RailsModern Webdevelopment With Ruby On Rails
Modern Webdevelopment With Ruby On Rails
 
Android app to the challenge
Android   app to the challengeAndroid   app to the challenge
Android app to the challenge
 
Accessible Javascript with and without WAI ARIA
Accessible Javascript with and without WAI ARIAAccessible Javascript with and without WAI ARIA
Accessible Javascript with and without WAI ARIA
 
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)
 
Unobtrusive Javascript - SD.rb 2007
Unobtrusive Javascript - SD.rb 2007Unobtrusive Javascript - SD.rb 2007
Unobtrusive Javascript - SD.rb 2007
 
Front End Sadness to Happiness: The React on Rails Story
Front End Sadness to Happiness: The React on Rails StoryFront End Sadness to Happiness: The React on Rails Story
Front End Sadness to Happiness: The React on Rails Story
 
Web enabling your survey business ppt version
Web enabling your survey business ppt versionWeb enabling your survey business ppt version
Web enabling your survey business ppt version
 
Mapping in Drupal 7 using OpenLayers
Mapping in Drupal 7 using OpenLayersMapping in Drupal 7 using OpenLayers
Mapping in Drupal 7 using OpenLayers
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Visualize your graph database

  • 1. Visualize your Graph Database ! Techniques to view, explore and modify your graph data with ! Michael Hackstein @mchacki 1
  • 2. Michael Hackstein ‣ ArangoDB Core Team ‣ ArangoDB Web Frontend & Graph visualisation ‣ Organiser of cologne-js
  • 3. The Task ‣ Create an administration interface for a graph database ‣ Render the graphs ‣ Modify the data ‣ Any graph should be allowed 3
  • 5. D3.js ‣ Bind arbitrary Data to DOM-Objects ‣ Data triggers functions to modify DOM ‣ Based on web-standards (HTML, SVG, CSS) ‣ Especially useful for SVG ‣ Easily create Charts and Graphs ‣ Ships with several layout implementations 5
  • 6. ArangoDB ‣ Multi-Model NoSQL Database ‣ Convenient querying ‣ Extendable through JS MRuby ‣ Highly performant space efficient ‣ Foxx Framework to create APIs ‣ Store Graphs natively ‣ Traversal Querying ‣ REST-API 6
  • 7. Challenges ‣ Graph structure not known beforehand ‣ Graph may be large ‣ Limited amount of screen space ‣ Should be readable ‣ Interaction should be possible ‣ CRUD Operations ‣ Graph Exploration 7
  • 8. Graph Layout ‣ Force-Directed Layout ‣ No requirements for the rendered graph ‣ Iterative Layout ‣ O(n2) each iteration re on lsi pu pu lsi o re n ‣ Only small nr. of vertices attraction 8
  • 9. Exploration Naive Approach Stepwise refinement ‣ Cluster complete graph ‣ Display clusters ‣ User can zoom in ‣ Display cluster content ! ! ‣ Disadvantages ‣ Requires knowledge of complete graph ‣ Reclustering required on data changes 9
  • 10. Exploration Better Approach Stepwise exploration ‣ User selects start vertex ‣ Display direct neighbors ‣ Click on vertex adds neighbors to the graph ‣ Graph starts small scale ‣ will grow over time ! ‣ Disadvantages ‣ Display of complete graph is lost 10
  • 11. Vertex Grouping ! ! ! ! ! ! ! ! 1. Group vertices by similar attributes 2. Layout each group separately 3. Treat each group as a single large vertex 4. Layout group-vertices 11
  • 12. Fish-Eye Distortion ! ! ! ! ! ! ‣ Mouse-Pointer is the focus ‣ Magnify vertices close to the focus ‣ Minimise vertices far away from the focus ! ‣ Many vertices can be shown ‣ Each is selectable 12
  • 14. Thanks ‣ Thank you for your attention ! ‣ If you like my talk follow me on twitter / github: ! ! @mchacki ‣ or take a look at the awesome projects i presented: http://d3js.org ! http://www.arangodb.org 14