На самом деле вы не хотите этого делать, поскольку визуализация с N узлами будет иметь N посторонних связей со специальными узлами «метки», что затруднит (или даже сделает невозможным) просмотр реальных данных. Использование разных цветов для разных меток является хорошим компромиссом.
В любом случае, верхняя часть панели результатов (в браузере neo4j) показывает, какой цвет принадлежит какому метке, так что вы уже можете легко получить информацию Вы хотите.
[ОБНОВЛЕНИЕ]
Однако, если вам действительно нужно сделать что-то подобное, не существует "автоматизированного" способа. Но вы можете использовать некоторые процедуры APO C для создания виртуальных узлов и отношений , которые не хранятся в БД, но которые можно визуализировать.
Например, если ваш исходный запрос Cypher is:
MATCH path=(p:Person)-[r:RELTYPE]->(t:Thing)
RETURN *
Вы можете использовать этот запрос для генерации соответствующих виртуальных узлов и связей:
MATCH path=(p:Person)-[r:RELTYPE]->(t:Thing)
WITH COLLECT(path) AS paths, COLLECT(DISTINCT p) AS ps, COLLECT(DISTINCT t) AS ts
CALL apoc.create.vNode(['V_Label'], {label: 'Person'}) YIELD node AS pLabel
CALL apoc.create.vNode(['V_Label'], {label: 'Thing'}) YIELD node AS tLabel
UNWIND ps AS person
CALL apoc.create.vRelationship(person, 'IS', {}, pLabel) YIELD rel AS pRel
WITH paths, ts, pLabel, tLabel, COLLECT(pRel) AS pRels
UNWIND ts AS thing
CALL apoc.create.vRelationship(thing, 'IS', {}, tLabel) YIELD rel AS tRel
RETURN *
Образец результирующей визуализации: