Filtered Schema in the Neo Browser

I have a relatively complex schema in my database, and it is nice to be able to create a "cut down" visualization of parts of the schema rather than the whole thing. I can treat db.schema() in much the same way as any procedure call if I want to filter out edges:

call db.schema()  YIELD nodes, relationships
RETURN nodes, [x IN relationships WHERE NOT type(x) CONTAINS "THING"]

When I try to do the same with the nodes, I cannot do anything however - unwinding the nodes and trying to access labels, properties, ids etc just returns null (I assume because these are virtual nodes? Not sure - some funny behavior though).

Is there any way to filter out node types from the schema visualization? I know that I can do that manually in the visualization itself, but it would be nice to send someone a query that they could pull up themselves.

2 Likes

I think this is very needed, in SQL Server, when you generate a DB Schema, you select the tables you wanna add to your schema. Displaying a full DB schema, is only useful for demos, not for real world scenarios, Neo4j, please add this feature. Maybe a parameter in the db.schema(labels) proc, to send the list of labels, or some other way to generate a schema with a Cypher Query.

I think I found a work around for this, using this other proc:

call apoc.meta.subGraph({ labels: ['Employee', 'Team', 'Role'] })

With this one, we can filter by Labels, or by Relationships

1 Like