我对Neo4j还是个新手,但在RDBMS设计和开发方面非常有经验。我试图理解Neo4j中标签和属性之间的区别。我读过的书似乎都没有区分这两个术语,事实上,我发现这两个术语经常互换使用。我想肯定有区别,否则Neo4j的智者们不会同时创造这两个术语...谢谢你的帮忙!
rsaldnfx1#
属性是作为关系或节点一部分的键值对。标签是分配给一个或多个节点的名称/标记/类别。请注意,具有相似标签的节点不一定共享同一组属性键和/或属性值类型。约束和索引是针对标签定义的。(尽管旧的索引API-它们是v2之前的版本,即标签之前的版本-仅适用于属性)。从文件系统的Angular 来看,常规标签查找通常比常规属性查找更快,因为标签在其自己的文件(即,“标签存储”)内被存储和规范化,而不是在属性的所有对应节点上扩展和重复。
1条答案
按热度按时间rsaldnfx1#
属性是作为关系或节点一部分的键值对。
标签是分配给一个或多个节点的名称/标记/类别。请注意,具有相似标签的节点不一定共享同一组属性键和/或属性值类型。
约束和索引是针对标签定义的。(尽管旧的索引API-它们是v2之前的版本,即标签之前的版本-仅适用于属性)。
从文件系统的Angular 来看,常规标签查找通常比常规属性查找更快,因为标签在其自己的文件(即,“标签存储”)内被存储和规范化,而不是在属性的所有对应节点上扩展和重复。