TLDR: поля выбора с одним и несколькими вариантами выбора: для универсального инструмента ETL я должен моделировать их как узлы, связанные с отношениями или прямыми метками
Деталь:
Я продумываю созданный мной инструмент / рабочий процесс ETL, который извлекается из исходного кода API для создания графиков на лету. API обычно возвращает данные, структурированные как отдельные записи, которые принадлежат «спискам», таким как Люди, Компания, Город и т. Д., Причем в записях также присутствуют отдельные атрибуты / свойства.
Я знаю, что хочу создать метки узлов для каждого «Списка», НО дело в том, что у нескольких типов списков есть отдельные и множественные поля выбора для отдельной записи (например, тип компании для списка компании. Тип компании). варианты могут включать учреждение, банк, школу, инвестора, компанию по недвижимости и т. д., и компания может иметь один или несколько типов ).
В идеале мне нужно общее правило, которое может обрабатывать все поля выбора во всех списках при записи в граф neo4j. (Другое поле выбора - «Уровень», например, с Уровнем 1, Уровнем 2, Уровнем 3 и Уровнем 4 в качестве потенциальных значений)
Будет ли лучшая практика для
- создать метку узла для каждой категории поля выбора (т. Е. Метку узла с именем «CompanyType» с X экземплярами этого узла по одному для каждого типа компании со свойством «name», равным типу компании), а затем связать компанию узел к его одному или нескольким узлам CompanyType через ребро "company_type"
или
- создайте метку узла для каждой опции поля выбора и примените эту метку к рассматриваемому узлу компании (таким образом, узел компании может иметь 5-6 меток, таких как Компания: Уровень 1: Уровень 2: Инвестор: Банк)