2.3.2 关系
关系(Relationship)同样是图数据库中的基本元素。节点需要连接起来才能构成图。关系就是用来连接两个节点的,关系又称为图论的边(Edge),其始端和末端都必须是节点,关系不能指向空也不能从空发起。关系和节点一样可以包含多个属性,但关系只能有一个类型(Type),如图2-43所示。一个节点可以被多个关系指向或作为关系的起始节点,图2-44展示了多个关系指向同一节点。
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P75_101305.jpg?sign=1739224529-MBMVw2PjCcBAk6PfYRWDEmd6gx6iXiaT-0-8bfc3902fbff8a4ec8fde28f1b69e43f)
图2-43 带有类型和属性的关系
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P75_101306.jpg?sign=1739224529-Pas3Q2uB5JgH0ubP2NQaCieRLmVK5Ye7-0-90b1f3ff71b8f6158316cc978e7d4254)
图2-44 多个关系指向同一节点
关系必须有起始节点(Start Node)和结束节点(End Node),两头都不能为空,如图2-45所示。
节点可以被关系串联或并联起来,如图2-46、图2-47所示。由于关系可以是有方向的,所以可在由节点、关系组成的图中进行遍历操作。
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P75_101308.jpg?sign=1739224529-yvZGszjAUxFzozu0Z4psEvyNh02QbBlF-0-304deae9baefad89eacc3315e034c002)
图2-45 关系的起始节点和结束节点
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P75_101309.jpg?sign=1739224529-QyDmGNGsU8c7oRQYcZD2TU98Se00LlJp-0-fa25fe7dabf600eee0eb4af35a6c3c42)
图2-46 关系串联节点
在图的遍历操作中,我们可以指定关系遍历的方向或者指定为无方向,因此在创建关系时不必为两个节点创建相互指向的关系,而是在遍历时不指定遍历方向即可。
特别注意一个节点可以存在指向自己的关系,如图2-48所示。
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P75_101315.jpg?sign=1739224529-RlXokhZ9LqQBhUs7lM0cjO8DfuZfRuPP-0-f30e48bee13505c77f3e84dab2f545b9)
图2-47 关系并联节点
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P75_101314.jpg?sign=1739224529-FHJa0mWQ3LO1kfXB8xHhj8EgrgDNRgwB-0-4094f8dd564dbdcb7d21ee3d9bb18ab1)
图2-48 关系的起始节点、结束节点为同一节点