我想知道Neo4j和SQL在关系方面有什么区别。
例如:
如果我使用`
1:N
`或n:1 Neo4j中的等价物是什么?
或者如果我使用
n:m(n有m)
我们在NEO4J中做了什么?
感谢。
答案 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处理所有这些差异。