Visualizing IBM Graph with KeyLines

This page is from our blog archive

You may still find this page interesting, but there are more relevant and up-to-date blog posts available. Use search or filter options to find the latest content.

Note: IBM have deprecated IBM Graph, in favor of Compose for JanusGraph. As a result, KeyLines no longer supports IBM Graph.

In 2016, IBM arrived on the graph scene. In this blog post, we’ll take a closer look at IBM Graph, how it works and why it’s a great pairing for your KeyLines graph visualization applications.

Introducing IBM Graph

KeyLines is a database-agnostic technology, designed to visualize data from virtually any source. On our SDK site, you’ll find examples of how to hook KeyLines up to your preferred database.

Our newest integration, released as part of KeyLines v3.4, is with IBM Graph.

According to the team behind the technology, IBM Graph is “the world’s first enterprise-grade distributed property graph database-as-a-service”. Let’s break down that statement:

  • Enterprise grade: as data is generated and collated at ever-increasing rates, both scale and complexity become a real challenge. IBM Graph scales with your data, from small to huge datasets, as your business needs change.
  • Distributed: IBM Graph can spread the heavy lifting across many servers and machines, so performance scales too.
  • Property graph database: if you’re new to graph databases, they’re a type of NoSQL database optimized for highly-complex and interconnected data. More about graph databases.
  • As-a-service: this is a big differentiator for IBM Graph. Other graph databases need a locally-hosted or self-managed instance. IBM Graph is fully managed by IBM’s team of database experts. so you’re free to focus on the rest of your application stack.

Under the hood, IBM Graph uses the Titan graph database, so it makes the same claims about distributed setup and performance. But by making Titan available as a cloud service, IBM’s developers aim to make it easier to use graphs in the enterprise.

The Titan origins also mean integration with KeyLines is simple and painless.

Let’s take a closer look.

Why visualize IBM Graph with KeyLines?

If you’re working with big and densely-connected data, you need tools that can handle scale and complexity.

A KeyLines-powered graph visualization component provides an interactive, intuitive and powerful way for end users to explore and understand graph data. It offers:

  1. Unrivalled performance – it combines HTML5 Canvas and WebGL renderers with carefully optimized graph analysis algorithms. KeyLines can handle charts with hundreds of thousands of elements, without compromising on interaction.
  2. Powerful functionality – we’ve created a rich API of graph visualization functionality, including layouts, filtering, temporal and geospatial analysis.
  3. Simple integration – connect KeyLines to your IBM Graph instance in just a few easy steps…

Hooking KeyLines up to IBM Graph

Log into the KeyLines SDK (request a trial account here if you’re not already a user) and find the new IBM Graph demo:

A KeyLines-IBM Graph visualization demo

It uses information from a database of movies and actors. Double-click nodes to expand connections:

Exploring graph data using IBM Graph and KeyLines

Use the controls on the right hand side to run KeyLines’ automated layouts and inspect the Gremlin queries raised.

Here’s how it works behind the scenes:

KeyLines - IBM Graph visualization architecture

On the left, we have everything that’s happening client-side (in the browser). On the right, we have everything happening server-side.

As users interact with KeyLines in the browser, their actions raise AJAX Requests. These requests get passed to IBM Graph’s Gremlin endpoint.

There are four simple steps to get KeyLines working with your own IBM Graph data:

  1. Set up your IBM Graph instance – you’ll start this process using the IBM Bluemix catalog, which gives you the credentials you’ll need later on.
  2. Load your graph – we recommend using the Gremlin endpoint for this.
  3. Create a local server – as IBM Graph is a hosted service, we’ll need a local service to proxy requests to and from our endpoints.
  4. Load your data into KeyLines – by creating some code that converts your KeyLines interactions into Gremlin queries, and loads your data into the chart.

And that’s it! Your IBM Graph database should work seamlessly with your KeyLines chart.

Registered in England and Wales with Company Number 07625370 | VAT Number 113 1740 61 | 6-8 Hills Road, Cambridge, CB2 1JP. All material © Cambridge Intelligence 2020.