Neo4J-具有多个标签的节点是一个好习惯吗?

时间:2019-07-09 16:27:58

标签: neo4j graph-databases

我是图形数据库的新手,并使用Neo4j来存储数据。 在我的用例中,我计划为节点添加多个标签,以便于获取。 例如。

[MANUFACTURER, MANUFACTURER_CAR] -- MANUFACTURES --> [CAR {name:BWM}, MANUFACTURER_CAR] 
[MANUFACTURER, MANUFACTURER_CAR] -- MANUFACTURES --> [CAR {name:AUDI}, MANUFACTURER_CAR]
[MANUFACTURER, MANUFACTURER_BIKE] -- MANUFACTURES --> [BIKE {name:YAMAHA}, MANUFACTURER_BIKE]
[MANUFACTURER, MANUFACTURER_BIKE] -- MANUFACTURES --> [BIKE {name:BMW}, MANUFACTURER_BIKE]

对于MANUFACTURER节点,我放置了两个分别名为MANUFACTURERMANUFACTURER_CAR的标签,以及类似的MANUFACTURER_BIKE的标签,依此类推...
另一方面,对于BMW汽车实例,我想同时使用标签BMWMANUFACTURE_CAR,以便在任何时间点都可以追溯。

当我要获取BMW自行车时,此功能非常有用,因此我可以将查询写为match (n:BMW:MANUFACTURER_BIKE) return n而不是编写冗长的集群查询。

  1. 这种做法是使用多个标签的正确方法吗?
  2. 当我在浏览器中使用call db.schema()时,我也会变得笨拙 模型,因为MANUFACTURERMANUFACTURER_BIKEMANUFACTURER_CAR被认为是独立的 我猜是节点。

0 个答案:

没有答案