Руководство: добавление нескольких типов узлов и рёбер из одной исходной таблицы

В предыдущих шагах руководства каждая исходная таблица точно соответствовала одному типу узла или одному типу ребра. Однако реляционные таблицы часто содержат внедренные сущности. Например, таблица Employees содержит Country столбец. Вместо того чтобы хранить страну как только свойство на Employee узлах, вы можете извлечь её в собственный тип узла Country и соединить с помощью ребра livesIn. Этот подход создает более богатую модель графа, которая позволяет напрямую запрашивать связи между сотрудниками и странами.

На этом шаге руководства вы создадите следующие сущности графа из исходной таблицы Employees :

  • Тип узла Country (новый)
  • Тип ребра livesIn, соединяющего Employee с Country (новый). Эта граница означает, что Employee livesIn Country.

Таблица сотрудников Adventure Works

В модели данных Adventure Works таблица источника данных Employees содержит следующие столбцы:

  • EmployeeID_K
  • ManagerID
  • EmployeeFullName
  • JobTitle
  • OrganizationLevel
  • MaritalStatus
  • Gender
  • Territory
  • Country
  • Group

В следующей таблице показано, как эти столбцы сопоставляются с сущностями графа:

Сущность Graph Тип Ключевой столбец
Employee Узел (уже существует) EmployeeID_K
Country Node (новый) Country
livesIn Edge (новый), от Employee до Country EmployeeID_KCountry

Замечание

В приведенной выше таблице Country относится как к исходному столбцу в таблице Employees, так и к новому типу узла в графе. Они используют то же имя, но столбец является необработанными данными в таблице, а тип узла — сущность в модели графа.

При создании типа узла из исходной таблицы необходимо вручную добавить соответствующие столбцы из таблицы в качестве свойств этого типа узла. Поскольку таблица Employees содержит 10 столбцов, для типов узлов Employee и Country все 10 этих столбцов доступны для добавления в качестве свойств. В этой статье вы добавляете только свойства Country , относящиеся к типу узла.

Создайте тип узла Country

Чтобы создать Country тип узла, выполните следующие действия.

  1. На верхней ленте модели графа выберите "Добавить узел".

  2. В поле "Создание узла" введите следующие значения:

    • Метка узла: Country
    • Исходная таблица: adventureworks_employees
    • Ключ: Country. Выбор Country в качестве ключевого столбца добавляет его как свойство типа узла.
  3. Не добавляйте другие свойства.

  4. Нажмите кнопку "Создать", чтобы добавить тип узла в граф.

    Снимок экрана: тип узла Country с одним свойством.

Вы увидите, что тип узла Country добавлен в ваш граф.

livesIn Создание края

Тип узла Employee уже есть в вашем графе из предыдущего шага руководства. Подключите новый Country узел к узлу Employee с помощью нового livesIn ребра.

Чтобы создать livesIn тип края, выполните следующие действия.

  1. На верхней ленте выберите "Добавить край".
  2. В диалоговом окне "Создание края" введите следующие значения:
    • Метка Edge: livesIn
    • Исходная таблица: adventureworks_employees
    • Узел источника: Employee
    • Ключ источника: EmployeeID_K
    • Целевой узел: Country
    • Целевой ключ: Country
  3. Нажмите кнопку "Создать", чтобы добавить край в граф.

Вы увидите тип ребра livesIn, добавленный в ваш граф между узлами Employee и Country.

Employee Изменение типа узла

Теперь, когда Country представляет собой отдельный тип узла, соединённый с Employee ребром livesIn, столбец Country является избыточным в качестве свойства Employee. Измените Employee тип узла, чтобы удалить Country свойство.

  1. Дважды щелкните Employee тип узла, чтобы просмотреть его свойства.
  2. Выберите "Изменить определение".
  3. Снимите флажок у свойства Country, чтобы удалить его из узла.
  4. Нажмите Сохранить.

Подсказка

Чрезмерные свойства делают граф более сложным для поддержания и использования. Для всех типов узлов избегайте наличия свойств:

  • Не требуется для уникальности узлов
  • Не требуется для запросов или анализа

Загрузка графа

После настройки всех типов узлов и пограничных типов перезагрузите граф. Перезагрузка требуется после внесения структурных изменений в граф.

На верхней ленте нажмите кнопку "Сохранить". Это действие проверяет модель графа, загружает данные из OneLake, создает граф и делает его готовым к запросу. Будьте терпеливы, так как этот процесс может занять некоторое время в зависимости от размера данных.

Снимок экрана: граф с узлами Employee и Country, подключенными к ребрам livesIn.

Теперь граф включает новый Country тип узла и livesIn граничный тип. Эта структура позволяет напрямую запрашивать отношения между сотрудниками и их странами.

Review

На этом шаге руководства вы работали с двумя типами узлов и одним граничным типом из одной исходной таблицы Employees :

  • Employee узел (созданный на предыдущем шаге, уточненный здесь)
  • Country узел (новый, извлеченный из столбца Country )
  • livesIn edge (новое, подключение Employee к Country)

Этот шаблон полезен всякий раз, когда реляционная таблица содержит внедренные сущности, которые вы хотите представить как отдельные узлы в графе. Найдите столбцы, представляющие отдельные сущности из реального мира, такие как страны, города или отделы, и рассмотрите их как кандидатов для извлечения в отдельные типы узлов.

Подсказка

Дополнительные шаблоны моделирования и рекомендации по принятию решений см. в разделе "Проектирование схемы графа".

Следующий шаг