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.
How can I report bugs, request features, or provide general feedback? #
To report bugs, request features, or to provide general feedback, please open a new issue in our dedicated SemSpect Community GitHub repository.
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.

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.
Why does the plugin management interface not show up anymore? #
The plugin management interface was discontinued due to changes in the Neo4j Graph App policy. The SemSpect plugin must now be installed manually as described on the installation page
Why is the SemSpect plugin not listed in the plugins tab of Neo4j Desktop? #
This is because SemSpect is a third party plugin and therefore has to be installed manually as described on the installation page. Once installed, the plugin appears at the bottom of the plugin list and can be uninstalled, but be aware that this uninstallation only removes the jar file and does not remove the associated data. For a clean uninstallation, please see the uninstallation section of the installation page.
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.

Can I use SemSpect with a remote DBMS? #
Sure, as long as the plugin is installed on the remote DBMS (see the manual installation procedure). SemSpect is a Web App running in your web browser, the location of the DBMS is not relevant. If you are using the free version (no license file supplied), you have to be aware of its limitations
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.

Where is my plugins directory in Neo4j Desktop? #
In Neo4j Desktop, find the DBMS of interest and use the top right menu: ... -> Open > -> Instance Folder and then open the plugins directory.

What happened to the SemSpect Neo4j Desktop Graph App? #
The SemSpect Neo4j Graph App was discontinued. You can keep using SemSpect for Neo4j by using the SemSpect Neo4j Plugin .
(Background: Starting from version 1.6.0 Neo4j Desktop did not allow installation of third party Graph Apps anymore.)
How do I open my settings (neo4j.conf) in Neo4j Desktop #
In Neo4j Desktop, find the DBMS of interest and use the top right menu: ... -> Open > -> neo4j.conf

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.
I get an Invalid Regex error on node/relation table search #
You might have experienced a Bolt error 500 reporting about “Invalid Regex” similar to the following:

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 inputab\[matchesab[) - There are special “character classes” that allow to search for any digit
\dor alphanumeric characters\wetc.
I experience unexpected matches in the node/relation table search #
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.
In Neo4j Desktop, find the DBMS of interest and use the top right menu: ... -> Open > -> neo4j.log

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 SemSpect plugins you will see the following error message (example for Neo4j 4.2.3):

To fix this remove all obsolete plugins from the plugin directory of your DBMS installation. For Neo4j Desktop see this FAQ
Do you offer academic licenses? #
Yes, we do! We provide licenses free of charge for academic and open data projects. See details on the license page.
Can I install SemSpect on Neo4j Aura? #
Unfortunately no, as Neo4j AuraDB does not allow the installation of third-party plugins. But an auraDB-compatible Cypher SemSpect Server is under development. As a workaround, you can export your data to RDF with neo2rdf and explore it with RDF SemSpect.