antvis / G6VP

G6VP is an online visual analysis tool for graphs and a low-code platform for building graph applications.
https://insight.antv.antgroup.com
Apache License 2.0
797 stars 109 forks source link

🐛bug: render issue of neo4j schema #558

Closed nylqd closed 9 months ago

nylqd commented 9 months ago

current schema canvas do not have edges, maybe another data process problem?

image

expected as follow

image
pomelo-nwu commented 9 months ago

@nylqd t seems to be an issue with the EngineServer component:https://github.com/antvis/G6VP/blob/master/packages/gi-assets-neo4j/src/services/Engine.tsx#L1

pomelo-nwu commented 9 months ago

https://github.com/antvis/G6VP/blob/master/packages/gi-sdk/src/components/EngineServer/LoadGraph.tsx#L148 because I have switched to the pref/sdk-valtio branch for the upgrade of G6 5.0, which involves a lot of changes, I haven't switched to the master branch to investigate the issue for now. If possible, I would appreciate your help in resolving it.

nylqd commented 9 months ago

master/packages/gi-sdk/src/components/EngineServer/LoadGraph.tsx#L148 because I have switched to the pref/sdk-valtio branch for the upgrade of G6 5.0, which involves a lot of changes, I haven't switched to the master branch to investigate the issue for now. If possible, I would appreciate your help in resolving it.

@pomelo-nwu it seems indeed have bug in getSchemaGraph, i will do some digging around.

image
nylqd commented 9 months ago
image

Adjusting the ID retrieval sequence to include source and target node types sounds like a reasonable approach to address the issue stemming from the lack of sourceNodeType and targetNodeType in the Neo4j schema information during parsing.

image

An alternative solution is adding sourceNodeType and targetNodeType attributes during the parsing of Neo4j schema information seems like a promising approach to address the root cause of the rendering issue.

image

@pomelo-nwu I'd like some inputs from you to choose one solution over the other

pomelo-nwu commented 9 months ago

@nylqd Considering that different graph database will use the same EngineServer component, I am more inclined towards the second solution.