图数据库中的标签是什么

时间:2016-07-20 10:57:34

标签: neo4j labels

我是图表数据库的新手,目前正在试验neo4j。有人可以帮我理解:

1)什么是标签? 2)如何/在何处使用它们? 3)为什么我们需要它们?没有他们我们可以工作吗?

我读过有关标签但我无法理解这个概念。

感谢。

2 个答案:

答案 0 :(得分:3)

正如您在official doc中所读到的,标签代表了一种类,或更好:类型,节点。

  

标签是一个命名的图构造,用于将节点分组   套;标有相同标签的所有节点属于同一组。   许多数据库查询可以使用这些集合而不是整体   图表,使查询更容易编写,执行效率更高。一个   节点可以用任意数量的标签标记,包括无标签   标记图表的可选添加项。

     

在定义约束和添加索引时使用标签   属性(见Schema)。

     

一个示例是名为User的标签,您可以标记所有节点   代表用户。有了这个,你可以问Neo4j   仅在您的用户节点上执行操作,例如查找所有用户   具有给定名称。

     

但是,您可以使用更多标签。例如,自标签   可以在运行时添加和删除它们,它们可用于标记   节点的临时状态。您可以为其创建脱机标签   离线的手机,快乐宠物的快乐标签,等等。

说一个节点可以有多个标签很重要。例如,代表Benedict Cumberbatch的node可以标记为:PersonManActorBritish

您可以按标签查询节点。这意味着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)

标签用于命名/分类/分类/输入图表中的节点和关系,它们不代表单一类型的实体。

如果所有节点都是例如人和你所有的人际关系代表两个人互相认识,你不需要标签。但是,如果您对更复杂的内容进行建模,则标签允许您直接键入节点和关系,而不必依赖节点或关系的一个或多个属性来描述它。它是描述实体性质的标准,可立即访问的方式。

或者,以更直观的方式,标签允许Neo4j浏览器使用不同的颜色显示不同性质的节点:)

Neo4j browser