Neo4J - Узел с несколькими метками - это хорошая практика? - PullRequest
0 голосов
/ 09 июля 2019

Я новичок в граф БД и использую 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 я поставил 2 метки с именами MANUFACTURER и MANUFACTURER_CAR и аналогично для MANUFACTURER_BIKE и т. Д. *
С другой стороны,для экземпляра автомобиля BMW я хочу использовать метки BMW, а также MANUFACTURE_CAR, чтобы в любой момент можно было отследить трассу.

Преимущество того, что я вижу, когда я хочу получить велосипед BMWтогда я могу написать запрос как match (n:BMW:MANUFACTURER_BIKE) return n вместо написания длинного и кластерного запроса.

  1. Является ли эта практика хорошим и правильным подходом для использования нескольких меток?
  2. Также, когда я использую call db.schema() в браузере, я получаю очень неуклюжую модель, потому что MANUFACTURER, MANUFACTURER_BIKE и MANUFACTURER_CAR рассматриваются как отдельный узел, я думаю.
...