I have been working with FastRP and have started to use the extended version of the algorithm which is able to handle node properties. However, the original paper for FastRP (https://arxiv.org/pdf/1908.11512.pdf) does not have this capability, and I am struggling to understand how this works from the documentation (Fast Random Projection - Neo4j Graph Data Science).

Does anyone have a source as to how this is implimented behind the scenes (including mathematical details), or if not can anyone explain how this works. I understand that the property portion of the fastrpextended embedding comes from a linear combination of randomly generated property vectors, but why would we expect this to work usefully theoretically? Furthermore, if an attribute of the nodes is a vector which encodes similarity between the nodes in a certain domain (e.g. text embedding associated with each node), is fastrpextended able to make use of this notion of similarity in the resulting embeddings? Essentially I would just like to understand how this algorithm works and what it achieves in greater detail.