Required Permission: Settings management (Read more about permissions in User Groups)

Table of Contents

Graph connection represents a graph database, that Graphlytic can be connected to and used for reading and writing graph data.

It is possible to create multiple graph connections and use them in Projects or ETL jobs.

Graph Connections panel consists of the list of currently defined graph connections on the left, and the details of the currently selected graph connection on the right. Every type of graph database needs a bit different configuration of the connection and also offers different behavior regarding security, clustering, and indexing. Please refer to the appropriate chapter below to see the specifics of the various graph databases.

1. Supported Graph Databases

1.1. Neo4j

1.1.1. Graph Connections panel

To create a new neo4j connection:

  1. Click the "New connection" button in the top right corner of the Graph Connections panel. (this creates a new connection based on Default Settings).

  2. Enter a human distinguishable name for your new connection.

  3. Change the Graph type to the correct Neo4j version.

  4. Enter a Database name (in the case of "Neo4j Enterprise").

  5. Enter Bolt URL, Username, and Password.

  6. If you need an encrypted connection, turn the Encryption setting on.

    1. Option "Add Certificate" is available only for encrypted connections (where Encryption = On).

  7. Click Save and test your connection with the “Test connection” button. 

1.1.2. Settings

It is possible to define (override) the default values of some graph connection properties in the graphlytic.conf file. For more information refer to Configuration.

If the graphlytic.conf file does not contain neo4j configuration, default values will be used (see the table below).

Please note, that some values cannot be overridden as there is no graphlytic.conf property (N/A in the table below).

Configuration

Default values

Property in graphlytic.conf

Description

Name

Default

N/A

Name of the connection (just for convenience)

Bolt URL

bolt://localhost:7687

neo4j.connector.bolt

Graph Database Bolt protocol URL

Username

neo4j

neo4j.connector.username

Graph connection username

Password

admin

neo4j.connector.password

Graph connection password

Encryption

false

neo4j.connector.encrypted

Graph connection encryption. If a trusted certificate is used on the Graph Database side then just set this to true. If it's an untrusted certificate please use the UI to load the certificate into Graphlytics's Keystore. See the "Certificate" button described below.

Graph Type

NEO4J 4

neo4j.connector.type

Graph Database type. Supported are Neo4j 3.5, Neo4j 4.x, Apache Tinkerpop based graph DBs with Gremlin 3.4, Azure Cosmos DB.

Database

neo4j

N/A

Graph Database name. Can be used with Neo4j 4 Enterprise to specify the graph (database) to connect to. If not specified then the default database specified in Neo4j is used.

Certificate button

N/A

If an untrusted certificate is used in your Graph Database please use this button to load the certificate into Graphlytics's Keystore.

Fulltext search

Fulltext Index:

  • "properties": [ ]

  • "tokens" : [ ]

Search Mode:

  • "searchMode":"instant"

  • "throttleDelay":1000

  • "minLength":0

N/A

Fulltext index configuration for this Graph Database connection. For more information please see the "Fulltext Search Configuration" chapter below.

Schema indexes

N/A

Node Schema indexes configuration for this Graph Database connection. For more information please see the "Schema Indexes Configuration" chapter below.

Hybrid Data Model

N/A

Hybrid Data Model configuration for this Graph Database connection. For more information please see the "Hybrid Data Model" chapter below.

1.1.3. Schema Indexes Configuration

Supported only for Neo4j connections.

To create a Schema Index:

  1. Click on the "Configure schema indexes" button to show the modal window (pictured below),

  2. click on the "Create index" button,

  3. fill in the node Label and Property name

  4. choose if you want to create a standard index or also a unique constraint with it (INDEX_UNIQUE),

  5. click on the red button "Create index".

To drop a Schema Index:

  1. Click on the "Configure schema indexes" button to show the modal window (pictured below),

  2. and click on the index's bin button in the right column.

1.2. Azure CosmosDB

1.2.1. Graph Connections panel

To create a new CosmosDB connection:

  1. Click the "New connection" button in the top right corner of the Graph Connections panel. (this creates a new connection based on Default Settings)

  2. Enter a human distinguishable name for your new connection

  3. Change Graph type to Cosmos DB.

  4. Enter Hosts, Port, Database, Graph, and Key.

  5. Turn on Encryption.

  6. Click Save and test your connection with the “Test connection” button. 

1.2.2. Settings

Configuration

Example values

Description

Name

Default

Name of the connection (just for convenience)

Hosts

someapp.gremlin.cosmos.azure.com

Graph Database hosts value without the protocol. Make sure to provide gremlin host, as CosmosDB provides multiple hosts.

Port

443

Graph Database port

Database

SampleDB

Graph Database

Graph

SampleGraph

Graph

Key

170c3ea6c3aa7facb8f51c86e114d97c5028b44a38775eae5b3bd07bbea3ff43==

Primary Key for given database

Partition

region

Partition key 

Hybrid Data Model

N / A

Hybrid Data Model configuration for this Graph Database connection. For more information please see the "Hybrid Data Model" chapter below.

1.3. Apache TinkerPop Gremlin Server

Apache TinkerPop version 3.4+ is supported.

The only supported serializer option for any gremlin connection is GraphSONMessageSerializerV1d0:

serializer: { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV1d0, config: { serializeResultToString: true  }}

Make sure this line is present in the Gremlin Server configuration file.

1.3.1. Graph Connections panel

To create a new gremlin connection:

  1. Click the "New connection" button in the top right corner of the Graph Connections panel. (this creates a new connection based on Default Settings).

  2. Enter a human distinguishable name for your new connection.

  3. Change Graph type to Apache TinkerPop.

  4. Enter Hosts and Port.

  5. If you need an encrypted connection, turn the Encryption setting on. 

  6. Option "Edit Certificate" is available only for encrypted connections (where Encryption = On).

  7. Click Save and test your connection with the “Test connection” button. 

1.3.2. Settings

Configuration

Example values

Description

Name

Default

Name of the connection (just for convenience)

Hosts

localhost

Graph Database hosts value is without the protocol

Port

8182

Graph Database port

Username

SecretUser

Graph connection username

Password

SecretPassword

Graph connection password

Encryption

false

Graph connection encryption. If a trusted certificate is used on the Graph Database side then just set this to true. If it's an untrusted certificate please use the UI to load the certificate into Graphlytics's Keystore. See the "Certificate" button described below.

Certificate button

N / A

If an untrusted certificate is used in your Graph Database please use this button to load the certificate into Graphlytics's Keystore.

Hybrid Data Model

N / A

Hybrid Data Model configuration for this Graph Database connection. For more information please see the "Hybrid Data Model" chapter below.

1.4. JanusGraph 0.6 (beta)

Please use this serializer in your Gremlin Server configuration, otherwise Graphlytic will not function properly:

{ className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV1d0, config: { ioRegistries: [org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry] } }

1.4.1. Graph Connections panel

To create a new JanusGraph connection:

  1. Click the "New connection" button in the top right corner of the Graph Connections panel. (this creates a new connection based on Default Settings).

  2. Enter a human distinguishable name for your new connection.

  3. Change Graph type to JanusGraph 0.6 (beta).

  4. Enter Hosts, Port.

  5. If you need an encrypted connection, turn the Encryption setting on. 

  6. Option "Edit Certificate" is available only for encrypted connections (where Encryption = On).

  7. Click Save and test your connection with the “Test connection” button. 

1.4.2. Settings

Configuration

Example values

Description

Name

Default

Name of the connection (just for convenience)

Hosts

localhost

Graph Database hosts value is without the protocol

Port

8182

Graph Database port

Username

SecretUser

Graph connection username

Password

SecretPassword

Graph connection password

Encryption

false

Graph connection encryption. If a trusted certificate is used on the Graph Database side then just set this to true. If it's an untrusted certificate please use the UI to load the certificate into Graphlytics's Keystore. See the "Certificate" button described below.

Certificate button

N / A

If an untrusted certificate is used in your Graph Database please use this button to load the certificate into Graphlytics's Keystore.

Hybrid Data Model

N / A

Hybrid Data Model configuration for this Graph Database connection. For more information please see the "Hybrid Data Model" chapter below.

1.5. AWS Neptune (beta)

Currently the IAM authentication to Neptune instance is not supported, ensure that IAM Authentication is turned off on Neptune instance.

It is required to have either running EC2 instance or ALB (application load balancer), as Neptune instances are not visible from outside the VPC

To use Graphlytic with Neptune, Graphlytic have to be able to communicate with Neptune instance. This can be achieved by having:

  • an EC2 instance with Graphlytic in the same subnet group as Neptune Instance,

  • or using ssh tunnel to such EC2 instance,

  • or using ALB.

1.5.1. Graph Connections panel

To create a new Neptune connection:

  1. Click the "New connection" button in the top right corner of the Graph Connections panel. (this creates a new connection based on Default Settings).

  2. Enter a human distinguishable name for your new connection.

  3. Change Graph type to Amazon Neptune.

  4. Enter Hosts, Port, and Region.

  5. Click Save and test your connection with the “Test connection” button. 

1.5.2. Settings

Configuration

Example values

Description

Name

Default

Name of the connection (just for convenience)

Hosts

someapp.amazonaws.com

Graph Database hosts value is without the protocol. This should be gremlin host

Port

8182

Graph Database port

Region

us-east-1

AWS region setting

Username

SecretUser

Username and password authentication is not currently supported. Can be left blank

Password

SecretPassword

Username and password authentication is not currently supported. Can be left blank

Hybrid Data Model

N / A

Hybrid Data Model configuration for this Graph Database connection. For more information please see the "Hybrid Data Model" chapter below.

1.6. Memgraph (beta)

1.6.1. Graph Connections panel

To create a new Memgraph connection:

  1. Click the "New connection" button in the top right corner of the Graph Connections panel. (this creates a new connection based on Default Settings).

  2. Enter a human distinguishable name for your new connection.

  3. Change Graph type to Memgraph.

  4. Enter Bolt URL, Username, and Password.

  5. Click Save and test your connection with the “Test connection” button. 

1.6.2. Settings

Configuration

Example values

Description

Name

Default

Name of the connection (just for convenience)

Bolt URL

bolt://localhost:7687

Graph Database Bolt protocol URL

Username

memgraph

Graph connection username

Password

memgraph

Graph connection password

Encryption

false

Graph connection encryption. If a trusted certificate is used on the Graph Database side then just set this to true. If it's an untrusted certificate please use the UI to load the certificate into Graphlytics's Keystore. See the "Certificate" button described below.

Certificate button

If an untrusted certificate is used in your Graph Database please use this button to load the certificate into Graphlytics's Keystore.

Fulltext search

Fulltext Index:

  • "properties": [ ]

  • "tokens" : [ ]

Search Mode:

  • "searchMode":"instant"

  • "throttleDelay":1000

  • "minLength":0

Fulltext index configuration for this Graph Database connection. For more information please see the "Fulltext Search Configuration" chapter below.

Schema indexes

Node Schema indexes configuration for this Graph Database connection. For more information please see the "Schema Indexes Configuration" chapter below.

Hybrid Data Model

Hybrid Data Model configuration for this Graph Database connection. For more information please see the "Hybrid Data Model" chapter below.

2. Fulltext Search Configuration

More information about the configuration options can be found on the Search Settings page.

3. Hybrid Data Model

The Hybrid Data Model is Graphlytic's solution for knowledge graphs with near real-time analysis of transactions with time-slicing (the Timeline feature). Its advantages are easy scaling, time slicing without the need for precalculating data, and instant changes in the graph without the need for extensive recalculations every time a new transaction is added.

This approach can be used in many different use cases, e.g.:

  • financial transactions (money flow)

  • process mining (document transactions)

  • communication (phone logs, email logs)

  • system activity (trace logs, server logs, API logs)

For more information see Hybrid Data Model.