如何设计图来处理 neo4j 中的多向关系
How to design the graph to handle multi directional relationships in neo4j
我想了解在 neo4j 中基于多重关系处理图形的方法。
例如:
让我们假设有一个图包含三个节点 Customer、Store 和 Brands,并且这些节点之间存在以下关系:
Customer--Goesto-->Store
Store--Sells-->Brand
"Customer"节点是"bharath","Store"节点是s1,s2,"Brand"节点b1,b2,b3。 s1 卖 b1,b2,s2 卖 b1,b3。我想知道我们是否可以以这种方式设计图形以根据条件查询结果到 return 从客户到品牌的路径。在我的案例中,客户想要的品牌是 b2。
所需图表:
Let the nodes be (:Customer) = c, (:Store) = s, (:Brand) = b
(c{name:"Blah"})
|
[:Goesto]
/ \
(s:{sname"s1") (s{sname:{"s2"})
/ \
[:Sells] [:Sells]
/ \ /
(b{bname:"b1}) (b{bname:"b2"})
我只是想知道我们是否可以按照上述方式设计图形并妥善处理。
你只是表达你的模式
您可以在任何元素上添加条件,也可以在关系上添加条件,例如时间戳或偏好或相关性。
然后return任何节点、关系或整个路径。
MATCH path = (c:Customer {name:"Blah"})-[goes:GoesTo]->(s:Store)-[sells:Sells]-(b:Brand {name:"b2})
WHERE condition
RETURN path
我想了解在 neo4j 中基于多重关系处理图形的方法。
例如:
让我们假设有一个图包含三个节点 Customer、Store 和 Brands,并且这些节点之间存在以下关系:
Customer--Goesto-->Store
Store--Sells-->Brand
"Customer"节点是"bharath","Store"节点是s1,s2,"Brand"节点b1,b2,b3。 s1 卖 b1,b2,s2 卖 b1,b3。我想知道我们是否可以以这种方式设计图形以根据条件查询结果到 return 从客户到品牌的路径。在我的案例中,客户想要的品牌是 b2。
所需图表:
Let the nodes be (:Customer) = c, (:Store) = s, (:Brand) = b
(c{name:"Blah"})
|
[:Goesto]
/ \
(s:{sname"s1") (s{sname:{"s2"})
/ \
[:Sells] [:Sells]
/ \ /
(b{bname:"b1}) (b{bname:"b2"})
我只是想知道我们是否可以按照上述方式设计图形并妥善处理。
你只是表达你的模式
您可以在任何元素上添加条件,也可以在关系上添加条件,例如时间戳或偏好或相关性。
然后return任何节点、关系或整个路径。
MATCH path = (c:Customer {name:"Blah"})-[goes:GoesTo]->(s:Store)-[sells:Sells]-(b:Brand {name:"b2})
WHERE condition
RETURN path