将多个节点合并为一个节点,并将所有关系映射到该节点neo4j
我有一个业务名称相同的卖家节点和买家节点 当我尝试使用代码进行匹配时:将多个节点合并为一个节点,并将所有关系映射到该节点neo4j,neo4j,cypher,Neo4j,Cypher,我有一个业务名称相同的卖家节点和买家节点 当我尝试使用代码进行匹配时: MATCH (p:Sellers)-[rel:sells]->(o:Buyers) RETURN p, rel, o; 它返回图形: 和数据: p,rel,o {"Seller":01AAAC}","{""invoices":5}","{"Buyer":03AAAG} {"Seller&q
MATCH (p:Sellers)-[rel:sells]->(o:Buyers)
RETURN p, rel, o;
它返回图形:
和数据:
p,rel,o
{"Seller":01AAAC}","{""invoices":5}","{"Buyer":03AAAG}
{"Seller":01AAXP}","{"invoices":8}","{"Buyer":01AAAC}
{"Seller":27AAFF}","{"invoices":2}","{"Buyer":01AAAC}
但我试图创建一个类似这样的图形:
你能帮我用一个合适的密码查询来创建上面的可视化吗。
提前非常感谢。如果从节点中删除标签约束,则应该获得所有节点以及任何两个节点之间具有销售关系的关系
MATCH (a)-[:sells]-(b)
return *
我对此进行了更多的思考,理想情况下,您的模型不会区分:买方节点和:卖方节点,您只需要一个节点标签,比如:实体,它销售给同一标签的另一个节点 但是,我们生活在现实世界中,您可能需要将节点标记为:买方和:卖方,在这种情况下,您唯一的选择是将:卖方标签添加到任何:出售的买方,将:买方标签添加到任何:购买的卖方。这意味着您最终会看到一些节点有两个标签,每个标签对应它们可能处于的状态,但这将使您能够可视化您想要的: 如您所见,高亮显示的节点有两个标签
不幸的是,您将无法从现有模型生成此表示,因为:买方节点01AAAC与:卖方节点01AAAC完全不同,并且它们之间没有共享关系。是的,不要担心节点是“买方”或;卖家,就让这段关系去做吧。这种关系具有方向性,意味着哪一端是买方,哪一端是卖方。