Data types

Required Permission: Settings management (Read more about Permissions)

Table of Contents

Data types setting is used for two things:

  1. to set which node labels and which relationship types are used by Graphlytic. Nodes and relationships that are not listed in this setting are not visible in Graphlytic in any way. This setting can be used to distinguish between data for analysis and other data in Neo4j which can be hidden for all users. If you want to view all nodes or all relationships use "*" in configuration.

  2. to set the UUID configuration to use property value (the UUID property) for saving visualization instead of the database ID.

Configuration

  1. In the "Application menu" (top right) choose page "Settings"

  2. In the "Application Settings" panel click on the "DATA_TYPES" row.

  3. Enter JSON configuration and confirm by pressing "Save" button.

Default configuration

Default configuration contains several default attributes to see how configuration should looks like. Probably this configuration doesn't match model of your data but can serve as example of short configuration.

  1. Main menu (top right) - Page Settings

  2. In panel "Settings list" use icon "Update" for setting "DATA_TYPES".

  3. Press button "Default" and store by pressing button "Save".

Automatic configuration

Automatic configuration is used to generate configuration where all nodes and relationships will be visible for Graphlytic.

This automatically generated configuration can be used as good starting point to create own configuration.

  1. Main menu (top right) - Page Settings

  2. In panel "Settings list" use icon "Update" for setting "DATA_TYPES".

  3. Press button "Automatic", wait for generator to generate JSON and store by pressing button "Save".

Description of configuration

Configuration is entered in JSON format. Example:

{
"nodeLabels":["Company", "Person"],
"relationshipTypes":["*"],
"calculateNumOfRelatedNodes":true,
"nodeUid" : {
"labels" : ["Company", "Person"],
"property" : "uuid"
},
"relationshipUid" : {
"property" : "uuid",
"manageIndex" : true
}
}

Explanation of JSON properties:

Property

Values

Default

Description

nodeLabels

MANDATORY

Array of strings

[ "*" ]

An array of node labels that are visible in Graphlytic. Nodes that are not listed are not visible in Graphlytic. "*" means all existing labels. Empty array is not valid.

relationshipTypes

MANDATORY

Array of strings

[ "*" ]

An array of relationship types that are visible in Graphlytic. Relationships types that are not listed are not visible in Graphlytic. "*" means all existing relationships. An empty array is not valid.

calculateNumOfRelatedNodes

Boolean

false

If set to false the "_numOfRelatedNodes" system property is not calculated in visualization. This leads to more performant queries in bigger graphs, especially in graphs with high degree nodes.

nodeUid

Object

If present, this object defines the configuration for UUID usage in saved visualizations.

nodeUid.labels

Array of strings

An array of strings representing node labels that are used for UUID functionality. All nodes have to be covered with these labels. If your graph model is changing and it's not feasible to have always all node labels listed here then please use a general node label that will be added to all nodes, like "uuid" and list only this one here.

Also a index should be created for every combination of nodeUid.labels and nodeUid.property to ensure optimal performance on visualization loading.

nodeUid.property

String

Property key name where the UUIDs are stored on nodes.

relationshipUid

Object

If present, this object defines the configuration for UUID usage in saved visualizations.

relationshipUid.property

String

Property key name where the UUIDs are stored on relationships.

relationshipUid.manageIndex

Boolean

false

For UUID to be working with relationships a fulltext index is needed (because Neo4j doesn't have implicit indexes for relationships).

Steps how to configure UUID usage in saved visualizations

Let's say we have a graph model with node labels "Company", "Person" and multiple relationship types.

To use UUID instead of database IDs in saved visualization we have to:

  1. change the DATA_TYPES configuration

  2. create database indexes

1.The DATA_TYPES configuration in our case should be:

{
"nodeLabels":["*"],
"relationshipTypes":["*"],
"calculateNumOfRelatedNodes":true,
"nodeUid" : {
"labels" : ["Company", "Person"],
"property" : "uuid"
},
"relationshipUid" : {
"property" : "uuid",
"manageIndex" : true
}
}

2.The database indexes should be created for every combination of nodeUid.labels and nodeUid.property to ensure optimal performance on visualization loading. In our case the indexes are:

CREATE INDEX ON :Company(uuid);
CREATE INDEX ON :Person(uuid);