Я новичок в граф БД и использую 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
вместо написания длинного и кластерного запроса.
- Является ли эта практика хорошим и правильным подходом для использования нескольких меток?
- Также, когда я использую
call db.schema()
в браузере, я получаю очень неуклюжую модель, потому что MANUFACTURER
, MANUFACTURER_BIKE
и MANUFACTURER_CAR
рассматриваются как отдельный узел, я думаю.