I'm wondering if the possibility to have a link pointing on a link will be implemented in the futur ?
This would allow request as :
Creating a link pointing on a link
CREATE (n)-[l:LINK]->(m) WITH l CREATE (o)-[:LINK_TO_LINK]->[l]
Matching a link pointing on a link
MATCH (o)-[:LINK_TO_LINK]->[l] RETURN o, l
Use case :
You have a product and a tag linked to this product, you can attach customers to this link. It says : "These customers have linked this product to this tag"
Current workaround :
Give a uuid to the link between the product and the tag, then connect each customer to a node where one of the property is the uuid of the link. Create an index on the link uuid property and you are good to go.
Another workaround (less good imo)
Instead of connecting directly the product to the tag, insert a middle, anonymous node between them and connect the customers to the anonymous middle node.
Is it really useful ?
Well I know some people who have left neo4j for https://grakn.ai/ because of this :/