我是图表数据库的新手,目前正在试验neo4j。有人可以帮我理解:
1)什么是标签? 2)如何/在何处使用它们? 3)为什么我们需要它们?没有他们我们可以工作吗?
我读过有关标签但我无法理解这个概念。
感谢。
答案 0 :(得分:3)
正如您在official doc中所读到的,标签代表了一种类,或更好:类型,节点。
标签是一个命名的图构造,用于将节点分组 套;标有相同标签的所有节点属于同一组。 许多数据库查询可以使用这些集合而不是整体 图表,使查询更容易编写,执行效率更高。一个 节点可以用任意数量的标签标记,包括无标签 标记图表的可选添加项。
在定义约束和添加索引时使用标签 属性(见Schema)。
一个示例是名为User的标签,您可以标记所有节点 代表用户。有了这个,你可以问Neo4j 仅在您的用户节点上执行操作,例如查找所有用户 具有给定名称。
但是,您可以使用更多标签。例如,自标签 可以在运行时添加和删除它们,它们可用于标记 节点的临时状态。您可以为其创建脱机标签 离线的手机,快乐宠物的快乐标签,等等。
说一个节点可以有多个标签很重要。例如,代表Benedict Cumberbatch的node
可以标记为:Person
,Man
,Actor
和British
。
您可以按标签查询节点。这意味着Benedict Cumberbatch的node
属于这些集合中的每一个,它将在以下查询的每个结果集中返回:
MATCH (p:Person) return p
MATCH (p:Man) return p
MATCH (p:Actor) return p
MATCH (p:British) return p
标签不是强制性的,但使用它们被认为是对数据进行分类并按类型获取的最佳做法。
答案 1 :(得分:0)