- 嵌入式
- 嵌入式列表
- 嵌入式集
- 嵌入式地图
- 链接
- 链接列表
- 链路组
- 链接地图
可以使用这些数据类型在图中d东方之子?在orientDB的图形数据库中可以使用以下数据类型还是只能在orientDb的文件数据库中使用?
可以使用这些数据类型在图中d东方之子?在orientDB的图形数据库中可以使用以下数据类型还是只能在orientDb的文件数据库中使用?
它们可以用于两者。正如在OrientDB docs(下面引用的一些段落)中指出的那样,Graph DB API建立在Document DB API之上。
当您在Graph DB中创建边时,Graph API将创建一个边缘文档,其中包含指向顶点文档的输入和输出链接,以及指向边的顶点文档中的输入和输出链接(没有轻量级的边缘)。
通过比较,当您在文档之间创建链接时,它只是从一个文档到另一个文档的“单向指针”,因此第二个不知道它已链接。您还可以在不需要完整图形样式指针的情况下使用顶点/边缘文档以这种方式手动创建链接。
在OrientDB中,我们创建了2个不同的API:文档API和图形API。 Graph API在Document API之上工作。文档API包含文档,键/值和面向对象模型。
图形API
{剪断}
- 关系被建模为双向边缘。如果轻量级边缘设置处于活动状态,则OrientDB在边缘没有属性的情况下使用轻量级边缘,因此它对速度和空间的影响与文档LINK相同,但是具有双向连接的额外好处。这意味着你可以使用MOVE VERTEX命令来重构你的图形而不会破坏LINK。有关边缘管理的更多信息,请参阅轻量级边缘。
文献API
{剪断}
- 关系是唯一的单声道方向性。如果您需要双向关系,则您有责任维护两个LINK。
- 文档是一个原子单元,而图形中的所有东西都连接为& Out。出于这个原因,图表操作必须在事务内完成。相反,当您使用LINK在文档之间创建关系时,目标链接文档不参与此操作。这会产生更好的多线程支持,特别是在插入,删除和更新操作时。
内嵌文件有不同的使用情况下,虽然,与普通文件和基于图形的文档。如各个地方所示in the docs,The Records are contained inside the owner. The contained records have no RecordIds and are reachable only by navigating the owner record
。
举一个实际的例子,假设您有个人和电子邮件文档,那么您将一封电子邮件嵌入到一个人 - 当您select from Email
时,该电子邮件将不会存在。如果您创建从人员到电子邮件的链接,则会有独立的电子邮件记录,但您不知道 *谁在查询电子邮件时使用过每封电子邮件。然而,如果您使用了边缘(即使用图形db api,它将为您创建和维护链接),那么您将能够在查询电子邮件时查找哪个人使用了电子邮件。
* 您可以随时查询每个人以查找哪些记录链接到特定的电子邮件,但这样做首先会错过使用图形数据库的要点。