Loading...

Visualization

Powerful HTML5 based graph visualizations with cytoscape.js library works with every major browser and platform

Graph DB

Graphlytic is powered with the world's leading graph database Neo4J which enables us to give you fantastic performance

Analytics

Look for patterns in your data with easy to use layouts, filtering or mapping data to visual properties like color or size

Scheduled Jobs

With Jobs it's easy to write and schedule your own scripts for importing data, searching patterns (with Cypher) and sending emails

Collaboration

Data analysis don't have to be a lonely job. Collaborate with other users and share your findings or export images and data

Business Solutions

Contact us if you are interested in using Graphlytic in specific business cases. We are happy to help you with setup

Feature Clips

Select some interesting category and learn new features in few minutes

Exploring

Visualization
Explore relationships between nodes in visualization or find shortest path between nodes easily.
  • Select some nodes and click "New visualization". New visualization is started and the selected nodes and their mutual relationships are visualized.
  • Double click on node with the plus sign in order to add node's relationship and related nodes in to the visualization.
  • You can also select multiple nodes and explore (or expand) them at once with the explore button in toolbox.
  • When you want to hide some nodes, simply select them and click the hide button in toolbox.
  • Add another nodes to your visualization from the search page (opened visualization is saved in the background).
  • Search for connections between nodes with the shortest path function - just select two nodes in the visualization and click the shortest path button in the toolbox. Shortest path is calculated in the database and new nodes and relationships are added to visualization if needed.

Selections

Visualization
Here we can see the "social network for demons" which shows who servers whom in the world of grimoires (data are from The Grimoire Encyclopedia created by Mouse Reeve).
  • With the selections buttons in toolbox it's really easy to select all servants (incoming nodes) or all bosses (outgoing nodes) of certain demons.
  • Select starting points for selection (which demon you want to examine).
  • Click on one of the selection button in toolbox in order to expand the selection in certain way.
  • You can click the buttons multiple times to combine the selection logic to simulate flow like behavior. This is helpful for instance when you want to find a subgraph of servants and discover groups or clusters.
  • You can invert the selection - select what is not selected and unselect everything that is currently selected. This is useful when you select some pattern and you want to keep only that pattern in visualization and hide everything else.
  • What these selections does is basically selecting neighbors of all selected nodes but only if they pass a certain criteria. Every button has it's predefined criteria but it's possible to create your own selection logic in the form of a widget and adding it as a new button. Contact us if you are interested in creating your own widgets because this functionality is not public yet.

Layouts

Visualization
Applying the right layout is crucial for visual overview of the interdependence between nodes in graph.
  • Layouts are applied to selected part of the graph or to the whole graph if nothing is selected.
  • Use mouse and keyboard shortcuts to quickly organize the graph
    • CTRL(⌘) + A : select all elements in visualization
    • CTRL(⌘) + F : open search tab in visualization and set focus on search field so you can start typing search string right away
    • CTRL(⌘) + S : save visualization
    • CTRL(⌘) + UP_ARROW : horizontal ALIGNMENT of selected nodes
    • CTRL(⌘) + LEFT_ARROW : vertical ALIGNMENT of selected nodes
    • CTRL(⌘) + RIGHT_ARROW : equal horizontal SPACING between selected nodes
    • CTRL(⌘) + DOWN_ARROW : equal vertical SPACING between selected nodes
    • CTRL(⌘) + MOUSE_WHEEL : expand or reduce spacing between selected nodes
    • ARROWS : move selected part of graph in desired direction

Settings tab

Visualization
Most of the Visual and UI Settings of the visualization can be found on the Settings tab in Visualization.
  • Nodes: choose if you want to style the nodes with colors, icons or turn off styling completely when you need to quickly look at the pure structure of your graph.
  • Choose from one of the predefined style mappers to look for some common patterns or create your own discrete or linear mappers.
  • Relationships: choose if you want to style all relationships stored in Neo4j or if you want to merge all parallel relationships into one and style this merged relationship - this is helpful when you have a graph model where parallel relationships occure naturally, typically in modeling of simple transactions between two parties (two nodes) where every relationship represents one transaction.
  • Choose the style mapping for relationships.
  • Titles: Choose which properties should be used as titles of nodes or relationships in visualization and change the size of the title with slider.
  • Tooltips: Turn on tooltips and select properties which should be displayed in tooltips when you hover or a node or relationship.
  • Snippets: Turn on snippets and select properties which should be always displayed beside the node identification in UI, e.g. on the Search tab or on the Detail tab.

Statistics

Visualization
With the statistics tab for every property you have an immediate overview of the distribution of values in the graph.
  • Try selecting out some nodes in the graph and the charts are instantly updated to show the number of selected elements for every value. This can be really helpful together with selections were you can select parts of the graph in a flow like manner and look if there is some pattern in values.
  • Groups of elements with the same property value can be selected or unselected in bulk by clicking the columns in the charts. This way you can quickly build selections of parts of the graph based on data and then use them, e.g. apply a layout, custom logic (widget) or hide the selected elements to simplify the visualization.
  • Add charts for any property, sort, collapse or hide them freely.
  • When you have a metric stored in some property you can switch the chart to show the histogram for 10 evenly computed intervals of data calculated between the min and max values in the graph.
  • Try showing the values on logarithmic scale to visualy point up smaller values like outliers in distributions.

Discrete Mapping

Visualization
With Discrete Mapping you can set style values of any element in graph based on discrete mapping rules for each data value stored in a data property (either virtual or database property), e.g. "Rack" is blue, "Server" is green etc.
  • To create any Mapper (linear or discrete) open the Mapper Editor associated with any visual property (like background color or size of nodes, relationships' width or color etc.), select which property's values should be used in mapping and select mapped values.
  • Discrete mapper contains two special values
    • Other values : this value is used for every element (node or relationship) that has the property defined but the value doesn't mach any of the mapping rules.
    • Undefined value : this value is used for every element (node or relationship) that doesn't have the data property defined.
  • There can be also Style Mappers defined in the global application Settings. These "global" mappers are available in every Visualization and can not be changed (you can't save them) but you can use them as starting points for your own "local" mappers which are saved with the currently opened Visualization (they exists only in the context of a Visualization).

Linear Mapping

Visualization
With Linear Mapping you can set style properties like color or dimensions of nodes and relationships continuosly based on numeric data (metrics) stored in any data property (either virtual or database property)
  • To create any Mapper (linear or discrete) open the Mapper Editor associated with any visual property (like background color or size of nodes, relationships' width or color etc.), select which property's values should be used in mapping (so called data property) and select mapped values.
  • Linear Mapping is defined with two reference points which are used to calculate style values for elements using linear interpolation.
  • These points can be set manually or you can use the "Auto" threshold which will automatically use the maximum and minimum from current data in visualization.
  • When you set the thresholds manually (one of them or both) then every data value below the minimum is mapped to style value associated with minimum threshold and every data value above the maximum is mapped to style value associated with maximum threshold.
  • Linear mappers contains one special value - Undefined value that is used for every element (node or relationship) that doesn't have the data property defined.
  • There can be also Style Mappers defined in the global application Settings. These "global" mappers are available in every Visualization and can not be changed (you can't save them) but you can use them as starting points for your own "local" mappers which are saved with the currently opened Visualization (they exists only in the context of a Visualization).

Virtual Properties

Visualization
There are two types of properties you can use in Visualization. The first are properties stored in Neo4j which we call Database properties. The other ones are Virtual properties. These exists only in the scope of Visualization and represents small JavaScript calculations used for searching for patterns or creating some sort of logic on top of data stored in database.
  • To create a Virtual property go to the Detail tab and click on "Add virtual property" > "Create new property". When you are on detail of a node then you are creating a Virtual property for nodes and when you are on detail of a relationship then you are creating a Virtual property for relationships.
  • In the edit window create your JavaScript formula which returns some value. You can use the predefined templates for inspiration and test your formula with the "Test formula" button.
  • Formulas defined in Virtual properties are calculated for every node in the Visualization and the result is listed in the Detail tab.
  • Virtual properties can be used in Statistics tab for selecting or in Style mappers for styling the Visualization.

Data Schema

Visualization
Data Schema can be used to lock particular properties and enforce formating or Input Restrictions rules when users want to edit values in these locked properties. Data Schema is a global setting which means that any change will affect all users of the system.
  • To lock a property go to the Settings page and click on the edit button next to the DATA_SCHEMA setting. Note that all of the advanced settings on this page are edited as a JSON object.
  • Let's say we want to lock a database property "uid" and make it mandatory. To do this we need to write a Database Property Definition object (DPD) and add it to "nodeProperties"."database" part of the Data Schema JSON. In this DPD we can specify the Input Restrictions object and add "mandatory":true in order to make this property mandatory (not removable).
  • Let's say we also want to lock the "rank" property and allow users to put only some values in this property (this restriction is applied only for newly added values or when user want to change an existing value). We can achieve this by adding another DPD and specifying the values in the "values" or "groups" list. We can also set the "dataRole" to "dimension" to allow filtering on this dimension on the Search tab in the Visualization.
  • There are more options you can use with Data Schema, please reffer to the documentation or contact us if you need more information or help.

Tab query

Search
  • Duplicate existing tab
  • Change the title of the tab
  • Add property to filter ("rank" in this case) and select witch values should the query filter on (e.g. "Prince" and "Bishop"). There is logical OR between values in one property and logical AND between multiple properties (not shown in this example)
  • Run the changed query with the "Apply" button
  • You can see the number of matched nodes in the bottom of the table result.
  • We can see that there are mostly nodes with the "demon" label but also som other types of node. We want only demons so we add "demon" label to filter and apply changes with the "Apply" button.
  • Add the "rank" property to Columns to see the values for every node.
  • Change the position of the column by drag&drop in the Columns selector and click "Apply" to apply the changes.

Cypher query

Search
  • Duplicate existing tab
  • Change the title of the tab
  • Change the query type to "Cypher"
  • Type your cypher query and run it with the "Apply" button
  • Result of the returned query is a JSON which can be viewed in the Cypher result viewer. Result can contain these types of elements: Nodes, Relationships, Paths and Values.
  • Visualization of the result can be started only if the result contains at least one elements of type Node, Relationship or Path.
  • You can visualize the result of your cypher with the "New visualization" button or you can add found elements to opened visualization with the "Add to visualization" button

Search Settings

Search
With the Search Settings you can control the global settings of indexing and searching in Graphlytic. Any change made in these settings has immediate effect on all users in the system.
  • To open the Search Settings window click on the cogs icon next to the search bar in toolbox.Set the Search Mode, for instance you can select the "Manual" search mode and set the minimal length to 3. When you now try to search for some text the search can be started only with the enter key and only if the length of the search text's is at least 3 characters.
  • Only indexed nodes can be searched. Set which properties should be indexed. Reindexing of the database is necessary everytime you make any changes to the Fulltext Index Settings. For instance we can add some properties to Indexed properties and start reindex with the "Start indexing" button. The status of reindexing is updated every few seconds to give you info about progress.
  • After reindexing we can search for values from all of the indexed properties.

Export

VisualizationImport/Export
Raw data in CSV format (either nodes or relationships) or PNG image snapshot of the Visualization can be exported.
  • To export data open the "Visualization" menu and choose "Export nodes (CSV) or "Export relationships (CSV)". The CSV files can be opened in any text file editor or used in other tools like Microsoft Excel, OpenOffice, LibreOffice or similar.
  • Only selected nodes or relationships are exported (all when nothing is selected).
  • To export image open the "Visualization" menu and choose "Image export (PNG)".
  • CSV data can be exported also on the Search page. In this case only nodes from currently opened tab (query) are exported.

Details tab

Visualization
Details about selected node or relationship can be viewed on Detail tab in Visualization. When multiple elements are selected then details about the first element is shown.
  • On the top is the element's identification. If a node is selected then the node's title is also shown and node's labels can be edited with the pencil icon.
  • Next are Virtual properties of selected node. It's possible to create and edit locally defined virtual properties or hide/show any virtual property.
  • Database properties: these are the properties stored in Neo4j for selected element. Database properties can be edited or simply hidden from the tab (you can show them anytime with the Add database property menu).
  • Incoming nodes: here are listed all nodes from selected node's neigborhood that have a relationship directed from listed node to selected node.
  • Outgoing nodes: here are listed all nodes from selected node's neigborhood that have a relationship directed from selected node to listed node.
  • Incoming and outgoing nodes cas be easily selected in visualization with the circle icon.
  • It's possible to directly show details of incoming or outgoing node (to traverse in the graph) by clicking on the node's snippet.

Search tab

SearchVisualization
When you need to search for particular node or filter out a set of nodes based on their data you can use the Search tab in Visualization.
  • Search directly in data using the search box. The search looks into properties defined on Settings tab in the Title and Snippets controls.
  • Use Advanced filter to filter out nodes using multiselects. There is logical OR between values selected in one property and logical AND between properties. This is helpful for filtering out nodes based on categories of data. Please note that only properties defined in Data Schema with dataRole set to "dimension" are available in Advanced filter.
  • Use the Select or Unselect buttons to quickly add or remove currently filtered out nodes from/to selected nodes.
  • Select or unselect nodes manually by clicking on the circle icon of node snippet in the list or look into details of a node by clicking on the node snippet itself.

Users and Groups

Management
For managing users and groups in the system go either to the Users page or Groups page.
  • To create a new user go to the Users page, click on the Create new user button, fill out mandatory fields and click Create. You can also choose if the user is Enabled right after creating or if the should be disabled for now.
  • User action buttons: with the management buttons you can enable or disable user's access to the system, modify user's name, change password, add or remove user to or from a group or delete user.
  • To create a new group of users go to the Groups page, click on the Create group button, fill out mandatory fields and click create. Here you can also set the group's application permissions which determines what can a member of this group do in the system. Please read more about the permissions in documentation.
  • Group action buttons: with the management buttons you can edit a groups name, description or permissions, assign users to the group or delete the group.

Data Security

Management
Graphlytic's Data Security layer allows the administrator to select Permissions to data in Neo4j for user groups. Here is a basic example:
  • We have the user "new.user" who is in groups "new.group" and "other.group". Both groups do not have the "Read all data" permission which means every request from this user goes through the Data Security layer. Note that user without the "Read all data" permission has some other restrictions also, e.g. he can't create and run custom cypher queries on the Search page.
  • When we want to restrict this user from accessing some data in Neo4j we can do so on the Data Security page. There are two levels of data restrictions. Entity security which can be used to restrict acces to particular nodes and relationships (cypher conditions are used for this) and Property security which is used to restrict access to particular properties (properties are listed either in enabled or disabled lists).
  • Let's say we restrict the group new.group to access only nodes with the label "demon" and we restrict the other.group to access only nodes with the label "angel". The result is that new.user can access both types of nodes because his effective permissions are calculated with logical OR between permissions of groups he is part of. The final effective restrictions for every user can be seen in the Data permissions of users table in the bottom of the Data Security page.
  • We also want to restrict the new.group to access only the "uid" and "identifier" properties. We can do so with the Property security list. The result is that new.user has access to all properties because he is also a member of the other.group which is not restricted. When we add the property restriction to the other.group (let's say we enable access to the "identifier" property and disable access to the "uid" property) than new.user is finally restricted and can access only the "identifier" property.

Import Nodes

Import/Export
Quick import of nodes from CSV or Microsoft Excel files can be done on the Search page (other option is to create a ETL job - please reffer to the ETL jobs documentation on details).
  • To start import click on the "Import file" button in the toolbox and choose a file to import or grag&drop a file in to the upload area. The file is then uploaded to server but nothing is imported into Neo4j in this step.
  • Set import preferences like column separator when importing a CSV file or select sheet when importing Excel. Take a look at the Advanced settings in the bottom of the import window for other technical settings.
  • Set which columns should be imported as properties and which as node's labels.
  • Set merging - in which columns are stored labels and properties that should be used for matching and merging with existing nodes in Neo4j - this means that when an existing node is found in Neo4j that matches the merging preferences then this existing node is updated and no new node is created.
  • Start import with the "Import" button. After import you should be able to see imported nodes in the search table. If not it's probably because the fulltext index is not configured properly (it's recomended to have indexed at least one property that is defined on every node, e.g. uid).
  • To update fulltext index properties go to Search settings (cogs icon next to search box), add properties to fulltext index and reindex the database. After reindexing new nodes should be available in the search table.
  • You can take a better look at imported nodes with the visualization. Choose nodes and start visualization with the "New visualization" button.

Import Relationships

Import/Export
Quick import of relationships from CSV or Microsoft Excel files can be done on the Search page (other option is to create a ETL job - please reffer to the ETL jobs documentation on details).
  • To start import click on the "Import file" button in the toolbox and choose a file to import or grag&drop a file in to the upload area. The file is then uploaded to server but nothing is imported into Neo4j in this step.
  • Switch the "Import as" to "Relationships" import and set import preferences like column separator when importing a CSV file or select sheet when importing Excel. Take a look at the Advanced settings in the bottom of the import window for other technical settings.
  • Set which columns should be imported as properties and which as relationship's type (or set a default type for all newly created relationships).
  • Set merging - in which columns are stored properties and relationship's type that should be used for merging with existing relationships in Neo4j - this means that when an existing relationship is found in Neo4j that matches the merging preferences than this existing relationship is updated and no new relationship is created.
  • Set the source and target node's matching preferences. This is necessary because new relationship can be created only between two nodes that already exists in Neo4j. Be carefull in setting this part, for instance the name of columns that should be used for node identification has to have the same name as the properties of nodes in Neo4j. You can always rename the columns directly in the import window as is shown in the video.
  • Start import with the "Import" button. Be aware that you will get the message "Import successful" even when not all relationships from your file has been created. This can happen when some source or target nodes was not found. Please check if all relationships were imported, for instance use a special property to identify the particular import and then count the relationships in Neo4j with cypher query to see if a relationship was imported or updated for every line from the imported file.
  • When you have a saved visualization you can check if any new relationships were added by simply opening the visualization and if anything has changed you will get a notification and changed entities will be selected. Other option is to start a new visualization and start exploring the graph.
Start today and see yourself how powerful graphs can be with Graphlytic!
Try Online Demo