aws / aws/graph-explorer

Blank nodes show no icon on graph canvas but display default icon in details panel

Open
#1,779 2 comments 0 reactions 1 assignee Claimed by @P-r-e-m-i-u-m View on GitHub
customization exploration good first issue help wanted sparql
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

Screenshot showing bnode with no icon on canvas but default icon in details panel

## 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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.