Blank nodes show no icon on graph canvas but display default icon in details panel
- Dominant language
- TypeScript
- Stars
- 481
- Forks
- 108
- Avg merge
- 6d 8h
- Merged PRs (30d)
- 5
Description
## Description
When a blank node (bnode) with no type is rendered on the graph canvas, it has no icon. However, when the same node is selected, the details/properties panel shows the default icon. The icon display should be consistent between the two views.
The root cause is that the canvas icon rendering path (`useBackgroundImageMap`) only creates Cytoscape style selectors for vertex types that exist in the schema. Since `"«No Type»"` is a synthetic label assigned at runtime (`vertex.ts:80-83`) and isn't in the schema, no icon style is generated. The details panel uses `useVertexPreferences()` which always falls back to `DEFAULT_ICON_URL` regardless of schema presence.
### Relevant code paths
- Canvas: `useGraphStyles` → `useBackgroundImageMap` → `renderNode` (skips types not in schema)
- Panel: `VertexIcon` → `useVertexPreferences` → always returns `defaultVertexPreferences.iconUrl`
## Environment
- Graph Database & Version: Any SPARQL endpoint with blank nodes
## Steps to Reproduce
1. Load a graph containing a blank node (e.g., a bnode used as an address object)
2. Observe the bnode on the canvas — no icon, just the "«No Type»" label
3. Select the bnode and open the properties panel
4. The default icon appears in the panel header but not on the canvas node
## Expected Behavior
The blank node should display the same default icon on both the canvas and the details panel.
---
> [!IMPORTANT]
> If you are interested in working on this issue, please leave a comment.
> [!TIP]
> Please use a 👍 reaction to provide a +1/vote. This helps the community and maintainers prioritize this request.
Contributor guide
Assessment
This issue has not been assessed yet.