概念
Nodes 节点
节点经常代表实体。
比如猫节点,人节点,是两个不同的节点,猫节点下有cat1,cat2,
人下面有person1,person2。
暂且把节点理解成表,节点下面有很多条数据,但是他们以图的方式被
组织起来。
Labels 标签
标签用于把节点实例分成不同的领域。
一个标签下有一组节点数据。
Relationships 关系
一个关系连接两个节点。
关系把节点组织成结构,可以是列表,散列表,树,或者其他更复杂的结构。
Relationship types 关系类型
一个关系必须有一种确切的关系类型。
关系一定要有方向。
几个概念:
1、source node 源节点
2、target node 目标节点
3、incoming relationship 进来的关联
目标节点有一个向内的关联
4、outgoing relationship 向外的关联
源节点有一个向外的关联
注意一个节点可以跟自己有关联,比如一个人认识自己。
举例:周星驰饰演了黄渤虎点秋香,饰演就是一个关系
Properties 属性
属性是名称值组成的对。
用来给节点和关系添加特性。
值可以是string,nubmer,boolean类型。
Traversals and paths 遍历和路径
一个遍历是如何在图中查找问题答案。
例如:周星驰扮演了哪些电影?
遍历的结果可以用长度为N的路径返回。
路径表示遍历的长度,可以为0。
Schema 模式
Neo4j中的模式指的是索引和约束。
Neo4j的schema是可选的。
索引和约束可以不在schema下创建。
Indexes and Constraints
索引用来提高性能。
约束用来数据适应领域的规则。
推荐的命名规则
neo4j大写小敏感。
节点、标签:驼峰式,大写字母开头。例,:VehicleOwner
关系类型: 大写字母,用下划线分隔。例,:OWNS_VEHICLE
属性:小写驼峰,以小写字母开头。 例: firstName
数据结构
参考
[Graph database concepts](https://neo4j.com/docs/getting-started/current/graphdb-concepts/#graphdb-nodes)
发表回复