Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parameter select does not show labels and properties for big database #50

Closed
dschmitz89 opened this issue Dec 22, 2021 · 7 comments
Closed

Comments

@dschmitz89
Copy link
Contributor

dschmitz89 commented Dec 22, 2021

Hello,

thank you for this awesome dashboard functionality.

When I run a dedicated cypher query, I get nice chart (see image on left). However Parameter select does not show any options. I assume you are fetching them from a function like 'call apoc.meta.data()'. Unfortunately, that call also does not finish within a minute when I run it in neo4j browser. A simple call to find all node labels ("MATCH (n) RETURN distinct labels(n)") already takes half a minute for my case. Our DB contains 55 Mio. nodes and 100 Mio. relationships. Am I correct that slow query time is the problem here? And if, is there a way around maybe?

Thanks in advance!

Dashboard_Selection_Problem

@nielsdejong
Copy link
Collaborator

Hi @dschmitz89 , thank you for reporting this issue!
Does the Node label box also not show any suggestions after you start typing in it? It is by default waiting for you to specify some characters as to not create slow queries. Do you know how many distinct node labels you have in the graph, and how many different properties per node label?

In the case of this report, I'm calling CALL db.schema.nodeTypeProperties() via Cypher, which should be the most optimized way of reading the schema from the graph. Could you check now long that query takes for you in the Neo4j browser?

@dschmitz89
Copy link
Contributor Author

dschmitz89 commented Dec 23, 2021

Hi @nielsdejong ,

thanks for the quick reply!
CALL db.schema.nodeTypeProperties() did not finish within two minutes, then aborted it.
At the moment we have 35 node types which often have 50 or more properties. Exact number of properties is difficult to get quickly unfortunately.

When I type the complete node label into the box, I cannot proceed. Any way around this? I guess this will be a common issue for DBs with many properties/node types.

image

Probably does not make a difference: I was using the online demo from http://neodash.graphapp.io/ .

@nielsdejong
Copy link
Collaborator

Hi @dschmitz89 ,

I've just pushed a solution for this in the 2.0.4 release.
Under 'show advanced settings' on the property select report, there's a new setting called "Enable Manual Label/Property Name Specification". Toggling this switch will allow you to specify your node label and property name manually (without the autocomplete functionality). Keep in mind this is case sensitive, and will require you to specify the exact name of the node and property yourself.

Let me know if this solves the issue for you,
Niels

@dschmitz89
Copy link
Contributor Author

Hi @nielsdejong ,

thank you so much, works like a charm now :)!

Would it maybe be possible to implement the same functionality for relationship attributes in future?

@nielsdejong
Copy link
Collaborator

Great! Have added the relationship property selector to the feature list. Thank you.

@emigre459
Copy link

@nielsdejong Along a similar line, is there a way to force manual control of the parameter value in the Selection tile (e.g. when using it regularly)? In my use case, I have a publication authorship and citation graph and I've built a workflow out of multiple Neodash tiles that lets a user find an author's name, returns a Table tile of possible name matches and their node IDs, then allows the user to type the node ID into another Parameter Select tile that will ultimately feed into a query in a Graph tile. I'm finding that I can't enter a node ID that is being returned by my Table tile, as the dropdown never populates with it.

Related question: is there a limit being applied to the result set used for populating that dropdown, such that my Author node isn't getting queried to find the id property I specified before the dropdown results stop returning?

@emigre459
Copy link

Actually nevermind, it looks like it's just really slow to pull the matched n.id value for the node. Not sure why it returns slowly for some and not others though?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants