Практическое руководство: Добавьте несколько типов узлов и типов ребер из одной таблицы сопоставления

Замечание

Эта функция сейчас доступна в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания и не следует использовать для производственных нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в разделе Supplemental Terms of Use for Microsoft Azure Previews.

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

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

  • Country Тип узла (new)
  • Тип livesIn, соединяющий с Employee (новое)
  • Изменения существующего Employeeтипа узла для удаления избыточных свойств

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 тип узла, выполните следующие действия.

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

  2. В диалоговом окне "Добавление узла в граф " введите следующие значения:

    • Метка: Country
    • Таблица сопоставления: adventureworks_employees
    • Идентификатор столбца сопоставления: Country
  3. Нажмите кнопку "Подтвердить" , чтобы добавить тип узла в граф.

  4. Дважды щелкните Country тип узла, чтобы просмотреть его свойства.

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

  5. Все 10 столбцов из таблицы Employees становятся свойствами по умолчанию. Удалите те, которые не относятся к стране. В частности, удалите EmployeeID_K, ManagerIDEmployeeFullNameJobTitleOrganizationLevelMaritalStatus, Genderи . TerritoryGroup Должно остаться только свойство Country.

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

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

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

  1. Дважды щелкните Employee тип узла, чтобы просмотреть его свойства.
  2. Удалите Territory, Country, и Group, если вам не нужны для ваших запросов или анализов.

Подсказка

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

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

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

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

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

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

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

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

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

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

Обзор

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

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

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

Подсказка

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

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