Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Граф в Microsoft Fabric имеет определённые функциональные ограничения. В этой статье рассматриваются некоторые ключевые ограничения, но не является исчерпывающим списком. Регулярно проверяйте наличие обновлений.
Сведения о распространенных проблемах см. в графе "Устранение неполадок".
Создание моделей графов
Источники данных
OneLake и зеркальные базы данных — поддерживаемые источники данных для графов.
Типы данных
Модели графов поддерживают следующие типы значений свойств.
| Тип значения GQL | Описание |
|---|---|
BOOLEAN |
Значения: true и false. |
INT (или INT64) |
Значения — это 64-битные знаковые целые числа. |
DOUBLE (или FLOAT64) |
Значения — это 64-битные числа IEEE-754 с плавающей запятой. |
FLOAT (или FLOAT32) |
Значения — это 32-битные числа с плавающей запятой. |
STRING |
Значения — это строки символов Unicode, закодированные в UTF-8. Максимальный размер свойства — 65 535 байт. |
ZONED DATETIME |
Значения — это временные метки вместе со смещением по часовым поясам с точностью в миллисекундах. |
Следующие типы столбцов OneLake и Delta Lake поддерживаются для внесения в графики.
| Тип OneLake | Отображения в тип значения свойств GQL |
|---|---|
BooleanType |
BOOLEAN |
ByteType |
INT (или INT64) |
IntegerType |
INT (или INT64) |
LongType |
INT (или INT64) |
FloatType |
DOUBLE (или FLOAT64) |
DoubleType |
DOUBLE (или FLOAT64) |
StringType |
STRING |
DateType |
ZONED DATETIME |
TimestampType |
ZONED DATETIME |
TimestampNtzType |
ZONED DATETIME |
Note
Сложные или вложенные типы Дельта-Лейк (MapType и StructType) не поддерживаются. Вы можете парсировать столбцы строк, закодированные в JSON, во время запроса, используя PARSE_JSON_STRING.
Обработка и масштабирование графов
Операции загрузки и обновления графов могут требовать увеличенного времени обработки в зависимости от размера графа, количества элементов графа (узлов и рёбер), а также размера полезных нагрузок свойств, связанных с этими элементами. Большие графики могут занимать несколько часов на обработку. Если загрузка или обновление графика не завершена в течение 24 часов, подайте запрос в поддержку для дальнейшего расследования.
Текущие возможности обработки графов поддерживают графы, содержащие до примерно 2 миллиардов элементов графа (узлов и рёбер). Эффективная ёмкость может варьироваться в зависимости от структуры графа и размера полезной нагрузки свойства. Если ожидается, что ваша нагрузка превысит эти ограничения, обратитесь в служба поддержки Майкрософт за советом.
Столбцы секционирования
Столбцы разделения Дельта-Лейк имеют ограниченную поддержку как графовые свойства:
- Столбцы разделов, используемые как единственный первичный ключ, всегда отклоняются.
- Сгенерированные столбцы разделов не поддерживаются.
- Сложные и десятичные типы столбцов (
Decimal,Binary,ArrayMap, , иStruct) отбрасываются с предупреждением.
Изменения схемы
Изменения схемы запускают перезагрузку графика.
Запрос данных
Пути переменной длины
Конструктор путей Explore UI поддерживает до восьми переходов для паттернов переменной длины. Это ограничение пользовательского интерфейса не применяется к запросам GQL, введённым в редакторе кода.
Graph поддерживает ALL префиксы поиска и ANY SHORTEST по путям.
ALL SHORTEST и ANY не поддерживаются.
Следующая таблица обобщает поддержку GQL с переменной длиной:
| Поиск по пути и режим пути | Фиксированный или ограниченный квантор | Неограниченный квантор |
|---|---|---|
ALL WALK (по умолчанию) |
Поддерживается | Не поддерживается, потому что повторяющиеся элементы могут создавать бесконечное количество путей. |
ALL TRAIL, ALL SIMPLE или ALL ACYCLIC |
Поддерживается | Поддерживается, но количество путей всё равно может быть большим. |
ANY SHORTEST WALK |
Поддерживается | Поддерживается для простой доступности конечных точек с одним анонимным количественным краем между двумя узлами. Путь, ограниченный этой неограниченной формой, может использоваться только с PATH_LENGTH(path) и, рядом с ним, path IS NULL; полный путь не материализуется. См. Неограниченные узоры переменной длины. |
ANY SHORTEST TRAIL, ANY SHORTEST SIMPLE или ANY SHORTEST ACYCLIC |
Поддерживается | Supported. |
Фиксированные и ограниченные кванторы — это {n}, {m,n}и {,n}. Неограниченные кванторы — это {m,}, *и +. Для получения дополнительной информации см. графовые паттерны GQL.
Расположение предиката пути
GQL отличает предикаты, ограничивающие подходящие пути, от предикатов, фильтрующих пути после того, как префикс поиска по пути выбрал их. Для некоторых ANY SHORTEST форм запроса Graph в настоящее время может применять условие на уровне MATCH ... WHERE оператора перед выбором пути.
Чтобы сделать задуманную стадию явной, размещайте предикаты правомочности по линии в узорах узлов или рёбер. Для фильтрации после выбора используйте отдельный FILTER оператор после MATCH. Например, см. Место предикатов до или после выбора пути.
Список фильтров предикатов
Фильтры предикатов списков в настоящее время не поддерживают:
-
EXISTSподзапросы. - Агрегатные функции над локально связанным элементом. Поддерживается горизонтальная агрегация по объединяющему списку групп.
Для поддерживаемого синтаксиса и семантики результатов см. Функции предиката списка.
Размер результатов
Граф обрезает ответ запроса, когда его внутреннее бинарное представление превышает 64 МБ. Graph возвращает подходящие строки и сообщает дополнительное предупреждение с публичным статусным кодом 01000 и каноничным GQLSTATUS 01M11. Промежуточные результаты ограничены 128 МБ.
В ответе нет токена продолжения для строк, пропущенных при усечении. Сузьте результат с помощью фильтров, конкретных проекций или LIMIT, а затем запустите запрос снова.
Таймаут
Выполнение API запросов имеет общий тайм-аут 20 минут, включая запросы на продолжение. Если выполнение превышает этот лимит, API возвращает HTTP 408 с кодом QueryTimeoutошибки .
Subqueries
CALL, OPTIONAL CALL, и подзапросы к процедурной форме EXISTS поддерживаются.
Встроенные CALL подзапросы могут быть вложены и неявно импортировать переменные из окружающих областей. Именованные вызовы процедур, явные списки импорта переменных, такие CALL (p) { ... }как , только EXISTSпо шаблону графа, и скалярные подзапросы (VALUE { ... }) не поддерживаются.
Функции агрегирования
Поддерживаются следующие функции агрегирования:
-
COUNT,COUNT(*),SUM,AVG,MINиMAX -
COLLECT_LIST,COLLECT_ONEиCOLLECT_ELEMENTS -
DISTINCTварианты всех предыдущих функций - Горизонтальные (по строкам, над групповыми переменными/списками) варианты всех вышеуказанных
Следующие функции агрегации пока не поддерживаются:
-
PERCENTILE_CONTиPERCENTILE_DISC. -
STDDEV_POPиSTDDEV_SAMP. PRODUCT
Установка операций
UNION ALL и UNION DISTINCT поддерживаются.
INTERSECT, EXCEPT, и OTHERWISE пока не поддерживаются.
Поддерживаемые операторы и положения GQL
Поддерживаются следующие основные GQL-операторы и оговорки:
-
MATCHиOPTIONAL MATCH. -
WHEREФильтры -
LETПеременные привязки -
FOR ... INРазворачивание списка с необязательнымORDINALITYиндексированием -
NEXT, включая этапы запроса, содержащиеUNION,UNION DISTINCT, илиUNION ALL -
RETURNиRETURN DISTINCT. GROUP BY-
ORDER BYсNULLS FIRSTилиNULLS LAST -
LIMITиOFFSET. -
UNION ALLиUNION DISTINCT. -
CALL,OPTIONAL CALLиEXISTS -
CASTс широкой матрицей преобразования типов - Поддерживаемые скалярные и агрегатные функции , перечисленные в выражениях, предикатах и функциях GQL
Операции DML и DDL
Операции с использованием языка обработки данных (DML), таких INSERTкак , UPDATE, и DELETE не поддерживаются через GQL. Операции на языке определения данных (Data Definition Language (DDL) для мутаций схемы не поддерживаются.
Экспорт и визуализация данных
Экспорт результатов запроса графа или структур графа в настоящее время не поддерживается.
Подключение Power BI непосредственно к графу для сценариев визуализации в настоящее время не поддерживается.
Соответствие GQL
Подробное сопоставление поддерживаемых функций GQL с стандартом ISO/IEC 39075:2024, включая минимальное соответствие, необязательные функции по группам и функциям, которые еще не поддерживаются, см. в разделе GQL standard соответствия.
Соответствие стандартам GQL для следующих функций всё ещё находится в стадии.
Управление потоками и операциями множества
- Выражения
EXCEPT ALLиEXCEPT DISTINCT - Выражения
INTERSECT ALLиINTERSECT DISTINCT - заявление
OTHERWISE
Поиск по путям и сопоставление шаблонов
-
ALL SHORTESTПоиск по пути (не поддерживается) -
ANYПоиск по пути - Предикаты нелокальных шаблонов
- Расслабленная топологическая согласованность
- Подстановочные знаки
Predicates
- Предикат теста метки (
IS LABELED) - предикат
IS DIRECTED - Нормализованный предикат
- Предикат источника и назначения
- предикат
ALL_DIFFERENT - предикат
IS DISTINCT - предикат
SAME - предикат
REGEXP_CONTAINS
Поддерживаемые типы значений во время выполнения
| Тип значения во время выполнения | Представление/ареал | Limit |
|---|---|---|
BOOLEAN |
true и false. |
|
INT (или INT64) |
64-разрядное целое число со знаком | |
UINT (или UINT64) |
Целое число без знака 64-битное | |
DOUBLE (или FLOAT64) |
IEEE-754 binary64 |
Проверки только конечных данных нет; принимаются неконечные значения |
STRING |
Строка Юникода | 65 534 байта (длина uint16 на диске) |
ZONED DATETIME |
Миллисекунды с эпохи Unix плюс смещение int32 UTC | Миллисекундный диапазон int64 |
DURATION(DAY TO SECOND) |
Миллисекундная точность | |
NODE |
uint64 raw | |
EDGE |
uint64 raw | |
LIST |
Однородный типизированный список | 65 534 элемента (длина на диске uint16) |
RECORD |
Структура типизированных полей | |
PATH |
Чередующийся список узлов и рёбер, который всегда начинается и заканчивается узлом | 65 534 элемента (длина на диске uint16) |
Типы значений во время выполнения пока не поддерживаются
-
INT8,INT16, иINT32типы значений (INT64поддерживаются) -
FLOAT16иFLOAT32типы значений (FLOAT64поддерживаются) -
UINT8,UINT16, иUINT32типы значений (UINT64поддерживаются) -
ZONED TIMEТип стоимости -
DATEValue type как самостоятельный тип. Даты поглощения отображаются с Zoned DateTime. -
LOCAL DATETIMEТип стоимости -
LOCAL TIMEТип стоимости -
DURATION(YEAR TO MONTH)Тип стоимости -
BYTESТип ценности. Поддержка входящей системы, но тип не подлежит запросу как сохранённое свойство. -
VECTORТип стоимости
Функции и выражения
-
PROPERTIESфункция -
NORMALIZEсNFKCформами иNFKD -
DURATION_BETWEENфункция - Поисковые
CASE WHENвыражения - Скалярные вложенные запросы
- Объединение значений пути
- Конкатенация строк байтов
TRIMи функции длины - Простая
TRIMфункция соTRIMспецификацией - Функция многосимволов
TRIM CARDINALITY
Aggregation
-
PERCENTILE_CONTАгрегатная функция -
PERCENTILE_DISCАгрегатная функция -
PRODUCTАгрегатная функция -
STDDEV_POPАгрегатная функция -
STDDEV_SAMPАгрегатная функция
Other
- Передача параметров (
$paramспецификация динамических параметров) - Пользователь сессии (
SESSION_USER) -
CALLОператор назначенной процедуры -
CALLподзапросы с явными списками импорта переменных - Управление каталогом. Имена графов и ограничений генерируются автоматически.
Catalog
Note
Имена графов и имена ограничений генерируются автоматически и не могут быть указаны в интерфейсе или в JSON-схеме.
| Область каталога | Предел тока / поведение | Recommendation |
|---|---|---|
| Схема графа | Один тип графа на каждый каталог. | |
| Название графа | Должно быть непустым; нет явной максимальной длины. | 127 символов |
| Типы узлов | Максимум примерно 2 миллиарда (int32 ID пространство). | 64K |
| Типы ребер | Максимум примерно 2 миллиарда (int32 ID пространство). | 64K |
| Уникальные метки узлов | Максимум примерно 2 миллиарда; дубликаты внутри одного типа отклоняются. | Выводится из типов узлов |
| Уникальные метки ребер | Максимум примерно 2 миллиарда; дубликаты внутри одного типа отклоняются. | Выводится из типов ребр |
| Уникальные названия объектов | Максимум примерно 2 миллиарда; пустые имена и дубликаты в одном типе отклоняются. | 64K x 10 |
| Свойства по типу узла | Нет явного максимума; дублирующиеся имена свойств отклоняются. | 256 |
| Свойства по типам рёбер | Нет явного максимума; дублирующиеся имена свойств отклоняются. | 256 |
| Метки по типу узла | Явного максимума нет; дублирующиеся метки отклоняются. | 64 |
| Метки по типу рёбра | Явного максимума нет; дублирующиеся метки отклоняются. | 64 |
| Ключевые свойства по ограничению | Нет явного максимума; имена свойств должны быть непустыми. | 16 |
| Длина названия объекта | Не навязываются явно, кроме как непусто. | 127 символов |
| Длина имени метки | Не навязываются явно, кроме как непусто. | 127 символов |
| Ограничения ключей по рёбрам | Отключён по умолчанию (allow_edge_key_constraints флаг). |
≤ количество типов рёбер |