Introducing the Neo4j Knowledge Base

The current content covers a wide range of areas from Cypher tuning to import issues or network and hardware setups. You can view entries by area by following the tag listings.

Our plan is for the Knowledge Base to not just be a supplement to the Neo4j documentation, but for it to be a place where we can provide permanent and up-to-date links from our website, StackOverflow, our Slack group, and any other place where people find help and resources for Neo4j.

In order to make the Knowledge Base easy for us to update, we’ve used AsciiDoc with AsciiDoctor, our favorite markup language and toolchain for documentation, GraphGists, and in-browser guides.

To ensure that we can easily and quickly update pages we’ve built the ascii_press Ruby gem which allows us to automatically synchronize articles to our website via WordPress, but also to our ZenDesk help center for our enterprise customers.

Contributing to the Neo4j Knowledge Base

If you don’t find an answer, please make a suggestion by raising an issue on our
GitHub repository or sending an email to
feedback@neo4j.com, best of course with a draft of the content you think makes sense for that topic. If you are answering questions about Neo4j, keep the answer short and to the point and add a link to the canonical Knowledge Base entry. If there is none, please help us create one, so we can prevent outdated content being highly ranked in search engines causing confusion for our users.

Thanks a lot to Dave Gordon and Dana Canzano for providing most of the helpful content.

If you want to contribute to our Knowledge Base, the basic AsciiDoc source structure for a Knowledge Base article looks like this:

= How do I display the nodes with the most properties
:slug: how-do-i-display-the-nodes-with-the-most-properties
:zendesk-id: 214935268
:author: Dana Canzano
:neo4j-versions: 2.3, 3.0
:tags: cypher
:public:
To display the nodes with the most properties defined, run the following Cypher:
[source,cypher]
----
MATCH (n)
RETURN labels(n), keys(n), size(keys(n)), count(*)
ORDER BY size(keys(n)) DESC
----
Representative output is similar to:
[opts="header"]
|===
|labels(n)|keys(n)|size(keys(n))|count(*)
|[Movie]|[TotalRevenue, year_of_release, name, id]|4|1
...
|===
The first row of output indicates that there is a Label named Movie, which has 4
properties (TotalRevenue, year_of_release, name, id) and there is 1 node defined with
that Label and those properties.
...