Hi,
I have a graph containin Work
nodes connected by CITES
relationships. Each Work
has a decade
property which contains the decade in which it was published.
I want to group the citation patterns over the decades and use the following cypher query. In it, I change the label of the virtual Work
nodes to Works
(note the additional "s"). The reason is that in Bloom I want to be able to style the virtual nodes and virtual relations in the group graph differently from the original nodes and relationships.
CALL apoc.nodes.group(['Work','Work'],['decade'])
YIELD nodes, relationships
UNWIND nodes as n
CALL apoc.create.setLabels(n, ['Works']) YIELD node
UNWIND relationships as rel
RETURN node, rel order by node.decade
In Neo4J Browser, everything works as intended:
If I put this in a Scene Action in Bloom, I get the message
Sorry, we couldn't find any results for this action., Scene Action could not be completed due to an error.
I know that scene actions are supposed to work on selected nodes only. However, this is not the cause of the error, because if I remove the apoc.create.setLabels
call, the Scene Action works without problems - showing virtual Work
nodes (here styled in the desired way):
CALL apoc.nodes.group(['Work','Work'],['decade'])
YIELD nodes, relationships
UNWIND nodes as node
UNWIND relationships as rel
RETURN node, rel order by node.decade
This, however, doesn't solve my problem because then I have to manually change the styling according to whether I display the original non-virtual Work
nodes or the grouped virtual Work
nodes. Otherwise, my Work
graph looks like this:
instead of this:
On the other hand, working in Neo4j Browser doesn't help me either because there I cannot style nodes and relationships dynamically based on property values.
Once displaying the changed label in Bloom works, I want to move to changing the relationship type as well, but that would be the next question.
Thank you for any pointers...