Neo4j和SQL关系有什么区别?

时间:2017-03-20 20:42:34

标签: mysql sql neo4j

我想知道Neo4j和SQL在关系方面有什么区别。

例如:

如果我使用`

  

1:N

`或n:1 Neo4j中的等价物是什么?

或者如果我使用

  

n:m(n有m)

我们在NEO4J中做了什么?

感谢。

2 个答案:

答案 0 :(得分:2)

我认为您应该查看有关Neo4j网站的更多信息,包括开发者文档,并在图形数据库的上下文中搜索“无索引邻接”。

此外,当您确定是否需要连接表时,您所指的内容更像是某种建模,因为您使用的示例从不直接用于任何SQL查询。

但是,一般情况下,Neo4j不使用表结构,因此不需要连接表。与节点之间的所有关系都可以从节点本身获得,而不需要某些中间结构。

Neo4j可以为每个节点提供尽可能多的关系,它们可以是不同类型或相同类型,也可以是任何方向。没有什么能够限制节点关系的基数,也不需要对关系的基数进行任何明确的建模。

如果你想将另一个相同类型的关系添加到另一个节点,没有什么能阻止你。

答案 1 :(得分:0)

Neo4j作为Graph数据库类型的NoSQL的强大之处在于它无模式,即您不需要尊重数据的预定义模式。

例如,您可以让多个节点具有相同的标签(a:Person),(b:Person),(c:Person),只有" a"节点与另一个节点有关系,这意味着相同标签的节点不会以相同的方式起作用。

假设我们有(m:电影),(n:电影)。在Neo4j中,我们可以有2个关系(a) - >(m)和(a) - >(u)。这意味着" a"与电影有关系的关系是1:2但是b和c并不与任何电影有关,而且" n"也与任何人没有关系,没关系,Neo4j处理所有这些差异。