如何在neo4j中设计图形以处理多向关系

如何在neo4j中设计图形以处理多向关系,neo4j,cypher,relationships,Neo4j,Cypher,Relationships,我试图理解在neo4j中基于多种关系处理图形的方法 例如: 假设有一个图有三个节点:客户、商店和品牌,这些节点之间存在以下关系: Customer--Goesto-->Store Store--Sells-->Brand “客户”节点是“bharath”,“商店”节点是s1、s2和“品牌”节点b1、b2和b3。s1销售b1、b2,s2销售b1、b3。我想知道我们是否可以设计这样的图形,以查询结果,根据条件返回从客户到品牌的路径。在我的例子中,客户想要的品牌是b2 所需的图形:

我试图理解在neo4j中基于多种关系处理图形的方法

例如:

假设有一个图有三个节点:客户、商店和品牌,这些节点之间存在以下关系:

Customer--Goesto-->Store  
Store--Sells-->Brand
“客户”节点是“bharath”,“商店”节点是s1、s2和“品牌”节点b1、b2和b3。s1销售b1、b2,s2销售b1、b3。我想知道我们是否可以设计这样的图形,以查询结果,根据条件返回从客户到品牌的路径。在我的例子中,客户想要的品牌是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"})     

我只是想知道我们是否可以用上面的方法设计图形并正确处理它。

您只需表达您的模式即可

您可以在任何元素上添加条件,也可以在关系上添加条件,如时间戳、首选项或相关性

然后返回任何节点、关系或整个路径

MATCH path = (c:Customer {name:"Blah"})-[goes:GoesTo]->(s:Store)-[sells:Sells]-(b:Brand {name:"b2})
WHERE condition
RETURN path 

用cypher做你想做的事情很简单。你试过什么?是的,你可以。虽然我想知道为什么你会需要一个图形数据库在这种情况下感谢你们的回应。我正在尝试使用供应链系统的graph db作为我研究的用例谢谢Michael。我会尽量这样做。