SDN 6 - projecting Map<String, ClassNode> to Map<String, Long>

Hi I'm trying to come up with some declarative (with projections) idea to not load entire graph, when accessing only one node. Basically I want to project node's properties, its relationships and connected (depth = 1) neighbour nodes, so that instead of all data of neighbour node I have just its id.

class in question

@Node("Resource")
@Getter
public class ClassNode
{
    @Id
    @GeneratedValue
    private long id;

    @DynamicLabels
    private List<String> classLabels;
    @Relationship
    private Map<String, ClassNode> neighbours;

    private String uri;
}

I've seen doc about multi-level projection, but I can't wrap my head around it in this case.
Any tips.