Graphistry 2.22.7: GPU Visual Graph Analytics with Gremlin (CosmosDB, JanusGraph, AWS Neptune) and Jupyter Dashboards (Voila) with

Posted by Graphistry Staff on August 5, 2019

Version 2.22.7 streamlines use with Gremlin/TinkerPop (CosmosDB, Neptune, JanusGraph, …), helps you turn Jupyter Notebooks into dashboards, and adds more URL API parameters. Read on to learn more about those, and see full release notes at our new release notes page .

Curious to turn your graph DB data into GPU-accelerated visual graph analytics sessions & dashboards? One-click launch on AWS now!

LAUNCH IN YOUR AWS 

apache-tinkerpop-logo gremlin-logo

0*XlYpzKXzSV61ltFVjanusgraphaws-logo

1. Graph Databases: Gremlin +  Graphistry = 🚀🚀🚀

from gremlin_python.driver import client, serializer
client = client.Client(…)

Graphistry’s Jupyter server now comes preconfigured for Gremlin w/ driver versions pinned to Azure CosmosDB and Amazon Neptune . (Note: This addresses issues between python packages jupyter, asyncio, and gremlinpython.) Get going in the Apache TinkerPop world with a lot less hassle!

If you’d appreciate help turning Gremlin results into dataframes, reach out for beta versions by our staff or stay tuned.

voila

2. Turn Notebooks into Dashboards: Voila + Graphistry = 💪💪💪

Voila is a fast-developing project to enable reusing your notebooks as dashboards. Graphistry now ships with Voila built in.  Launch your interactive Graphistry-infused Voila dashboard and it will securely appear at `/notebook/dash/` (note the trailing slash).

First, write a notebook that emits your desired output. It can include interactive ipywidgets and Graphistry visualizations:

/my_dashboards/my_dash_1.ipynb:

cell 1:

import ipywidgets as widgets
widgets.HTML("""
    <style>body { background: #777 !important; }</style>
    <h1 style="background: #999; color: #f90;">Plot:</h1>
""")

cell 2:

import pandas as pd
import graphistry
graphistry.bind(source='s', destination='d', node='n')\
    .settings(url_params={'play': 2000, 'lockedR': 'true'})\
    .edges(pd.DataFrame({
        's': [x for x in range(0, 10)],
        'd': [(x+1)%10 for x in range(0, 10)]}))\
    .nodes(pd.DataFrame({
        'n': [x for x in range(0, 10)],
        'x': [ 5 * math.cos(x * math.pi / 10.0) \
              for x in range(0, 10) ],
        'y': [ 5 * math.sin(x * math.pi / 10.0) \
               for x in range(0, 10) ]}))\
    .plot()

Second, launch the notebook as a dashboard:

/admin.ipynb:

cell 1:

! voila –port=8866 –autoreload=True –no-browser \
–base_url=’/notebook/dash/’ –server_url=” \
–debug \
my_dashboards/my_dash_1.ipynb

Finally, access the visualization in a browser at “/notebook/dash/”:

3. New URL API parameters

  ==>  

The URL API can now control layout panel options : precisionVsSpeed, gravity, scalingRatio, edgeInfluence, strongGravity, dissuadeHubs, linLog, lockedX, lockedY, lockedR . The names match those in the React API and the controls in the layout settings panel . The URL API arguments cascade during pageload, acting between uploaded dataset configuration settings  and session workbook settings.

For example, to perform a custom radial layout, position points using `x` and `y` attributes during upload, and in the URL, set `&lockedR=true&play=3000`.

4. More 2.0 stability and goodness

We’ve been cranking away on 2.0, and if you see anything, let us know: each release keeps getting better and better!

Read the release notes for further details.

Curious to turn your graph DB data into GPU-accelerated visual graph analytics sessions & dashboards? One-click launch on AWS now!

LAUNCH IN YOUR AWS