-
Notifications
You must be signed in to change notification settings - Fork 324
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
No relationships are shown with NeoVis #367
Comments
Are you checking that your cypher returns the relationships? Neo4j desktop auto adds relationships even if the cypher doesn't returns it |
Yes I have checked and it is returning relationships using the cypher The results are: [
{
"keys": [
"s",
"r",
"d"
],
"length": 3,
"_fields": [
{
"identity": {
"low": 0,
"high": 0
},
"labels": [
"Site"
],
"properties": {
"Site ID": "1",
"Site Name": "Alberta SPOR SUPPORT Unit"
},
"elementId": "4:d1ea92e8-91b6-4bd0-a06b-8cb94c9d20a5:0"
},
{
"identity": {
"low": 0,
"high": 268435456
},
"start": {
"low": 0,
"high": 0
},
"end": {
"low": 10,
"high": 0
},
"type": "CONTAINS",
"properties": {},
"elementId": "5:d1ea92e8-91b6-4bd0-a06b-8cb94c9d20a5:1152921504606846976",
"startNodeElementId": "4:d1ea92e8-91b6-4bd0-a06b-8cb94c9d20a5:0",
"endNodeElementId": "4:d1ea92e8-91b6-4bd0-a06b-8cb94c9d20a5:10"
},
{
"identity": {
"low": 10,
"high": 0
},
"labels": [
"Dataset"
],
"properties": {
"Dataset Name": "Admission Discharge Transfer (ADT)",
"Dataset ID": "1"
},
"elementId": "4:d1ea92e8-91b6-4bd0-a06b-8cb94c9d20a5:10"
}
],
"_fieldLookup": {
"s": 0,
"r": 1,
"d": 2
}
},
{
"keys": [
"s",
"r",
"d"
],
"length": 3,
"_fields": [
{
"identity": {
"low": 0,
"high": 0
},
"labels": [
"Site"
],
"properties": {
"Site ID": "1",
"Site Name": "Alberta SPOR SUPPORT Unit"
},
"elementId": "4:d1ea92e8-91b6-4bd0-a06b-8cb94c9d20a5:0"
},
{
"identity": {
"low": 0,
"high": 268959744
},
"start": {
"low": 0,
"high": 0
},
"end": {
"low": 12,
"high": 0
},
"type": "CONTAINS",
"properties": {},
"elementId": "5:d1ea92e8-91b6-4bd0-a06b-8cb94c9d20a5:1155173304420532224",
"startNodeElementId": "4:d1ea92e8-91b6-4bd0-a06b-8cb94c9d20a5:0",
"endNodeElementId": "4:d1ea92e8-91b6-4bd0-a06b-8cb94c9d20a5:12"
},
{
"identity": {
"low": 12,
"high": 0
},
"labels": [
"Dataset"
],
"properties": {
"Dataset Name": "Alberta Ambulatory Care Reporting System (AACRS)",
"Dataset ID": "3"
},
"elementId": "4:d1ea92e8-91b6-4bd0-a06b-8cb94c9d20a5:12"
}
],
"_fieldLookup": {
"s": 0,
"r": 1,
"d": 2
}
},
{
"keys": [
"s",
"r",
"d"
],
"length": 3,
"_fields": [
{
"identity": {
"low": 0,
"high": 0
},
"labels": [
"Site"
],
"properties": {
"Site ID": "1",
"Site Name": "Alberta SPOR SUPPORT Unit"
},
"elementId": "4:d1ea92e8-91b6-4bd0-a06b-8cb94c9d20a5:0"
},
{
"identity": {
"low": 0,
"high": 269484032
},
"start": {
"low": 0,
"high": 0
},
"end": {
"low": 13,
"high": 0
},
"type": "CONTAINS",
"properties": {},
"elementId": "5:d1ea92e8-91b6-4bd0-a06b-8cb94c9d20a5:1157425104234217472",
"startNodeElementId": "4:d1ea92e8-91b6-4bd0-a06b-8cb94c9d20a5:0",
"endNodeElementId": "4:d1ea92e8-91b6-4bd0-a06b-8cb94c9d20a5:13"
},
{
"identity": {
"low": 13,
"high": 0
},
"labels": [
"Dataset"
],
"properties": {
"Dataset Name": "Alberta Cancer Registry",
"Dataset ID": "4"
},
"elementId": "4:d1ea92e8-91b6-4bd0-a06b-8cb94c9d20a5:13"
}
],
"_fieldLookup": {
"s": 0,
"r": 1,
"d": 2
}
}
] |
After looking into it, I realised the reason why my graph is only showing one edge is because in https://github.com/neo4j-contrib/neovis.js/blob/master/src/neovis.ts#L640
All the edge returned has the id: Infinity, and this causes the graph to only render one edge. I am not sure if this happens for others |
How... Are your ids are infinity?? |
I am not sure why it is infinity. I don't have id declared on relationships and I don't think we need to provide ids to relationships? My nodes do have ids. I attached a screenshot, as you can see the record contains the nodes and the relationships and the relationship id is Infinity which is very odd. |
Those ids should be generated bt neo4j, I don't think you can even disable it |
Maybe mismatch of neo4j and js neo4j driver? |
I am using neovis 2.1.0 and I am connecting directly to neo4j, maybe that could be the reason? |
Hi @darylfung96, I'm facing exactly the same problem. How did you manage to reassign the edge ids? |
@oibafs Hello Fabio, I added the length of the edge as the id to fix it. You can see the forked repo https://github.com/darylfung96/neovis.js at line |
Is there an update to it? Will this problem go away, if I downgrade to an earlier version. If so which version should I download to? |
I didn't had time to investigate, but it's a problem on neo4j side (though probably intended) need to check for a better id generation for the relationships |
Maybe by doing that the id is |
@thebestnom Not clear what you mean by _. How about the solution @darylfung96 proposed? Displaying one edge doesn't look well for rendering the graph. Is there an alternate solution? Or any hacks I could do to get this going. |
Ohhhh I read everything wrong, I fully understand the bug now my bad, I accidentally did toNumber on nimbers that are too big, for some reason I thought the bug was relationships without ids and I just misread, should be an easy fix, hope it will happen thus week |
Thank you. Is it possible to push a fix sooner? I am pulling together a demo early this week and without the fix, it will be hard to make a good impression. :-) |
Ill try my best, though if you have the time trying to fix it yourself would be way faster, it should be 2 line fixes, and I don't have a lot of time due to having work and a baby 😅 |
That's weird, it looks like I do try to handle this case, probably the driver decides to auto int it for some reason? |
@darylfung96 So, this error persists for me as well when I used AuraDB Free version. I believe the data transfer isn't being done properly. However, I do get the expected resulted when I use Neo4j Desktop version. In some other issue, it was also mentioned that Neovis works better with bolt:// schema than neo4j+s:// schema which might also be the reason. Use the same database on Neo4j desktop, remote/local connection and this shouldn't give any problems. |
I wish I had time to look at it, somthing about the driver just works wrong, it doesn't comes as Neo4j Int, for some reason it's number which is broken for those ids as they are big number |
@thebestnom, has this issue got resolved. I am encountering the similar problem. The size of relationship ID generated seems to in the order of 263 (Neo4j Aura). I suppose max integer size of JS seems to be 253. Due to this I guess the relationship ID match is not happening and links/relationship between nodes are not shown correctly. |
How to use the fix? I only quote. /static/neovis.js file<script type="text/javascript" src="../static/neovis.js"></script> |
Try importing "dist/neovis.js" in the forked repo instead of "../static/neovis/js" |
Hii @darylfung96 want to open a PR with that? |
For sure, #389 |
I tried this repo in AuraDB and it still fails due to infinity id. However, I try to use my local neo4j and it works with no infinity id. |
hi, when i try to build your code, i got this ...neovis.ts: Private name #dataInfo is not defined. (628:7) 626 |
missing dataInfo? what it use for? |
I missed declaring that. The code has been updated. When I was using neovis, I needed to get the record information, dataInfo were used to store the information to tinker it further at the other end. |
Expected Behavior (Mandatory)
Should have all the nodes connected with edges.
Actual Behavior (Mandatory)
Only one node is connected with another node.
How to Reproduce the Problem
Screenshots (where it's possibile)
Specifications (Mandatory)
Currently used versions
Versions
The text was updated successfully, but these errors were encountered: