FAQ

Frequently Asked Questions #

How are HTML tags in string values processed? #

SemSpect supports a predefined set of HTML tags in string values that are permitted for rendering within the user interface. These tags include a, b, i, em, and br. Any HTML tags not listed in this set will be automatically excluded from the rendered output.

Why is there a hierarchy/tree of labels? #

The label tree is built on every start of SemSpect and updated on every synchronization with the database. The hierarchy is built according to the mathematical subset/inclusion relation (implication in logical terms). In other words, whenever every single node of one label (e.g. Woman) also carries another label (e.g. Person), then the first label is a subset of the second and therefore shown as sub-label (therefore Woman is placed under Person). Obviously, a real hierarchy can only be built for graphs using multiple labels for nodes.

A quick example with the Northwind example graph. When adding a label to all customers that are located in France as follows:

MATCH (n:Customer {country: 'France'}) SET n:`French Customer`

In Semspect this new label will show up as a sub-label of Customer. SemSpect sub-category French Customer

Can I add or change my graph data in SemSpect? #

No. SemSpect is designed for visual analytics and querying of your graph data. The only exception is the creation of SemSpect labels which adds a specifically created label to the nodes of the group you have selected.

Do the SemSpect labels update on data changes? #

Yes. A SemSpect label assigns labels to the nodes of the respective group and this labeling is updated whenever your graph data changes (depending on your settings, at least at each start of the DBMS). In this respect SemSpect labels are dynamic query based labels.

When does the plugin management interface show up? #

The plugin management interface displays the plugin status of all local and active graphs and furthermore allows to install, update, or remove the SemSpect plugin from selected DBMSs.

The plugin management interface will be shown at each start of the SemSpect Graph App if either:

  • no local DBMS is started and no remote DBMS connected
  • or the local DBMS started or the remote DBMS connected has no SemSpect plugin installed
  • or the local DBMS started has another version of the SemSpect plugin installed

In contrast, the SemSpect Graph App will start directly if there is an active DBMS that either:

  • is a local DBMS and has the proper version of the SemSpect plugin installed
  • is a remote DBMS that has some SemSpect plugin installed

Reminder: In case of a remote DBMS the plugin will only be found if installed on the server before starting the DBMS.

Why is the SemSpect plugin not listed in the plugins tab of Neo4j Desktop? #

This is because SemSpect uses its own plugin installer to maintain full control over updates, batch installation, etc. (see How the SemSpect Graph App works for details). The built-in plugin management of Neo4j Desktop therefore is not able to detect, install or uninstall the SemSpect plugin. Please use the SemSpect Graph App to manage the SemSpect plugin of your DBMSs.

I see an OutOfMemoryError when using SemSpect #

When your graph is large it might happen that the Java Virtual Machine (JVM) which serves your DBMS is running out of memory. By default, Neo4j Desktop sets the maximal JVM heap size to 1GB. In case you experience an java.lang.OutOfMemoryError: Java heap space error for your Neo4j Desktop hosted DBMS you should increase the maximal heap space. Neo4j Desktop open settings Neo4j Desktop max heap setting

Can I use SemSpect with a remote DBMS? #

Sure - when you have a Pro or Team version as well as access to the plugins folder of the remote DBMS installation. Proceed as explained in the server installation description.

How can I switch to a different database of my DBMS? #

Since v4.0 Neo4j supports multiple databases per DBMS. You can switch between different databases with the help of the database selector on the bottom right of the SemSpect UI. Database selector

Will SemSpect recognize any graph data changes while running? #

That depends on the edition and configuration of your Neo4j version. In principle, SemSpect is able to detect graph data changes and actively notifies on any update and offers a synchronization of its status. Note that the latter has limitations and may lead to broken explorations or SemSpect labels (think of a filter that uses a property key that has been removed from the database). To learn more about the options and limitations of data change handling see the section on SemSpect is a Snapshot Explorer.

Why are some labels not present in the caption of the group after a restrict/exclude action? #

If a label can not logically contribute to a restrict or exclude action on a group it is not added
to the caption of the group. Think of this as a “no operation” part of the filter.

This can only occur when there are label hierarchies (find out more about how SemSpect detects label hierarchies). For example, consider a label Person and its sub-label Woman. Restricting a group of Woman by the label Person obviously is a null filter since all Woman are already of type Person.

You might have experienced a Bolt error 500 reporting about “Invalid Regex” similar to the following: BoltError500: Invalid Regex

This is caused by the fact that search input in all or selected columns is interpreted as a regular expression. For this reason, Neo4j complains about syntactically incorrect search expressions such as unclosed parentheses in most cases.

Please make sure that your search input follows the restrictions imposed by regular expressions (see also Matching using regular expressions in Neo4j). A search input abc is interpreted from Neo4j as follows =~ '.*(?i)abc.*' (case-insensitive as regular expression with arbitrary characters before and after the search input).

Some hints on best practice:

  • To search for characters that have a special meaning in regular expressions such as brackets or ^,$,.,*,? etc. use the escape character \ (e.g. the search input ab\[ matches ab[)
  • There are special “character classes” that allow to search for any digit \d or alphanumeric characters \w etc.

This is very likely related to the interpretation of search patterns as regular expressions. Please see “Invalid Regex error” for more details.

Please also note that your search is case-insensitive.

After installation my DBMS fails to start #

In case you experience any problems when using SemSpect with your DBMS please check for error messages in the Neo4j log as follows: click on the three dots ... of the respective graph and select Logs... DBMS fails to start

There are potentially many reasons for an abort of a DBMS. The following lists some errors and their causes:

Multiple plugins installed

In case you have installed multiple plugins – typically caused by a manual server installation of the SemSpect plugin – you will see the following error message (example for Neo4j 4.2.3): multiple plugins Neo4j v4.x

In such a case please remove all obsolete plugins from the plugin folder of your DBMS installation. If this happens in a local Neo4j Desktop environment open ... then select Open folder with sub-item Plugins to check for the plugins of your DBMS.

Yes, SemSpect is listed in the Neo4j Graph Apps Gallery (https://install.graphapp.io/). You can install SemSpect either with a click on the “Install” button (1) or by pasting the install link (2) into the installation form field of the Graph App sidebar of Neo4j Desktop. SemSpect at the Neo4j Graph App Gallery

Do you offer academic licenses? #

Yes, we do! We provide licenses free of charge for academic and open data projects. Get in touch with us at licensing@semspect.de.

Can I install SemSpect on Neo4j Aura? #

No, unfortunately not. The Neo4j Aura cloud platform is currently not open for third-party plugins. If you have already deployed your graph data to Aura and would like to use SemSpect, please either get in touch with your Neo4j sales contact or mail us to find a solution.