Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Graph w Microsoft Fabric ma pewne ograniczenia funkcjonalne. W tym artykule wyróżniono niektóre kluczowe ograniczenia, ale nie jest wyczerpującą listą. Regularnie sprawdzaj aktualizacje.
Aby uzyskać pomoc dotyczącą typowych problemów, zobacz Rozwiązywanie problemów z grafem.
Tworzenie modeli grafów
Źródła danych
OneLake i Mirrored Databases są obsługiwanymi źródłami danych dla graph.
Typy danych
Modele grafów wspierają następujące typy wartości nieruchomości.
| Typ wartości GQL | Opis |
|---|---|
BOOLEAN |
Wartości to true i false. |
INT (lub INT64) |
Wartości to 64-bitowe liczby całkowite ze znakiem. |
DOUBLE (lub FLOAT64) |
Wartości to 64-bitowe liczby zmiennoprzecinkowe IEEE-754. |
FLOAT (lub FLOAT32) |
Wartości to 32-bitowe liczby zmiennoprzecinkowe. |
STRING |
Wartości to ciągi znaków Unicode zakodowane w UTF-8. Maksymalny rozmiar właściwości wynosi 65 535 bajtów. |
ZONED DATETIME |
Wartości to znaczniki czasowe wraz z przesunięciem strefy czasowej, z precyzją milisekundową. |
Obsługiwane są następujące typy kolumn OneLake i Delta Lake do wprowadzania do grafów.
| Typ OneLake | Odwzorowania na typ wartości nieruchomości GQL |
|---|---|
BooleanType |
BOOLEAN |
ByteType |
INT (lub INT64) |
IntegerType |
INT (lub INT64) |
LongType |
INT (lub INT64) |
FloatType |
DOUBLE (lub FLOAT64) |
DoubleType |
DOUBLE (lub FLOAT64) |
StringType |
STRING |
DateType |
ZONED DATETIME |
TimestampType |
ZONED DATETIME |
TimestampNtzType |
ZONED DATETIME |
Note
Kompleksowe lub zagnieżdżone typy jezior Delta (MapType i StructType) nie są obsługiwane. Możesz parsować kolumny łańcuchów znaków zakodowanych w JSON podczas zapytania, używając .PARSE_JSON_STRING
Przetwarzanie grafów i skala
Operacje ładowania i odświeżania grafów mogą wymagać wydłużonego czasu przetwarzania, w zależności od rozmiaru grafu, liczby elementów grafu (węzłów i krawędzi) oraz rozmiaru ładunków właściwości powiązanych z tymi elementami. Duże wykresy mogą wymagać kilku godzin na przetworzenie. Jeśli operacja ładowania lub odświeżania grafu nie została zakończona po 24 godzinach, złóż wniosek o wsparcie do dalszego badania.
Obecne możliwości przetwarzania grafów obsługują grafy zawierające do około 2 miliardów elementów grafu (węzłów i krawędzi). Efektywna pojemność może się różnić w zależności od struktury grafu i wielkości ładunku nieruchomości. Jeśli oczekuje się, że Twoje obciążenie przekroczy te limity, skontaktuj się z pomoc techniczna firmy Microsoft po wskazówki.
Partycjonowanie kolumn
Kolumny podziału Delta Lake mają ograniczone wsparcie jako właściwości grafu:
- Kolumny partycji używane jako jedyny klucz główny są zawsze odrzucane.
- Generowane kolumny partycji nie są obsługiwane.
- Kolumny podziałów złożonych i dziesiętnych (
Decimal,Binary,Array,Map, iStruct) są usuwane z ostrzeżeniem.
Zmiany schematu
Zmiany schematu wywołują przeładowanie grafu.
Wykonywanie zapytania
Ścieżki o zmiennej długości
Kreator ścieżek UI Explore obsługuje do ośmiu skoków dla wzorców o zmiennej długości. To ograniczenie interfejsu użytkownika nie dotyczy zapytań GQL wprowadzonych w edytorze kodu.
Graph obsługuje ALLANY SHORTEST prefiksy i path search.
ALL SHORTEST i ANY nie są obsługiwane.
Poniższa tabela podsumowuje wsparcie GQL o zmiennej długości:
| Wyszukiwanie ścieżek i tryb ścieżki | Kwantyfikator stały lub ograniczony | Kwantyfikator nieograniczony |
|---|---|---|
ALL WALK (ustawienie domyślne) |
Supported | Nie jest obsługiwany, ponieważ powtarzające się elementy mogą generować nieskończenie wiele ścieżek. |
ALL TRAIL, ALL SIMPLE lub ALL ACYCLIC |
Supported | Wspierane, ale liczba ścieżek nadal może być duża. |
ANY SHORTEST WALK |
Supported | Obsługiwane dla prostej dostępności do punktów końcowych z jedną anonimową, ilościową krawędzią między dwoma węzłami. Ścieżka ograniczona przez tę nieograniczoną formę może być używana tylko z i PATH_LENGTH(path) obok niej, path IS NULL; pełna ścieżka nie jest materializowana. Zobacz wzorce o nieograniczonej zmiennej długości. |
ANY SHORTEST TRAIL, ANY SHORTEST SIMPLE lub ANY SHORTEST ACYCLIC |
Supported | Supported. |
Stałe i ograniczone kwantyfikatory to {n}, {m,n}, oraz {,n}. Nieograniczenie kwantyfikatory to {m,}, *, oraz +. Więcej informacji można znaleźć w artykule o wzorcach grafów GQL.
Umieszczenie predykatów ścieżek
GQL rozróżnia predykaty, które ograniczają odpowiednie ścieżki, od predykatów, które filtrują ścieżki po wybraniu ich przez prefiks wyszukiwania ścieżek. Dla niektórych ANY SHORTEST kształtów zapytań Graph może obecnie zastosować warunek na poziomie MATCH ... WHERE instrukcji przed wyborem ścieżki.
Aby wyraźnie wyróżnić zamierzony etap, należy umieścić odpowiedniość predykatów w linii w wzorcach węzłów lub krawędzi. Dla filtrowania po wyborze użyj osobnego FILTER zapytania po MATCH. Przykłady można znaleźć w artykule Place predykaty przed lub po wyborze ścieżki.
Filtry predykatów z listy
Filtry predykatów listy obecnie nie obsługują:
-
EXISTSSubqueries. - Funkcje agregujące nad elementem lokalnie związanym. Wspierana jest pozioma agregacja na otoczonej liście grupowej.
Aby poznać wspieraną składnię i semantykę wyników, zobacz Lista funkcji predykatów.
Rozmiar wyników
Graph skraca odpowiedź zapytania, gdy jego wewnętrzna reprezentacja binarna przekracza 64 MB. Graph zwraca wiersze, które pasują, i raportuje dodatkowe ostrzeżenie z publicznym kodem 01000 statusu oraz kanonicznym GQLSTATUS 01M11. Wyniki pośrednie są ograniczone do 128 MB.
Odpowiedź nie zawiera tokena kontynuacji dla wierszy pominiętych przez obcięcie. Zawęź wynik za pomocą filtrów, konkretnych projekcji lub LIMIT, a następnie uruchom zapytanie ponownie.
Przerwa czasowa
Wykonanie API zapytań ma łączny czas przejścia 20 minut, wliczając żądania kontynuacyjne. Jeśli wykonanie przekroczy ten limit, API zwraca HTTP 408 z kodem QueryTimeoutbłędu .
Subqueries
CALL, OPTIONAL CALL, oraz podzapytań w formie EXISTS procedury.
Podzapytania inline CALL mogą być zagnieżdżone i niejawnie importować zmienne z zakresów otaczających. Nie obsługiwane są wywołania procedur nazwane, jawne listy importu zmiennych, takie jak CALL (p) { ... }, tylko EXISTSwzorce grafu , oraz podzapytania skalarne (VALUE { ... }) nie są obsługiwane.
Funkcje agregacji
Obsługiwane są następujące funkcje agregacji:
-
COUNT,COUNT(*),SUM,AVG,MINiMAX -
COLLECT_LIST,COLLECT_ONEiCOLLECT_ELEMENTS -
DISTINCTwarianty wszystkich poprzednich funkcji - Poziome (wierszowe, nad zmiennymi/listami grupowymi) warianty wszystkich powyższych
Następujące funkcje agregacji nie są jeszcze obsługiwane:
-
PERCENTILE_CONTiPERCENTILE_DISC -
STDDEV_POPiSTDDEV_SAMP PRODUCT
Ustawianie operacji
UNION ALL i UNION DISTINCT są obsługiwane.
INTERSECT, EXCEPT, i OTHERWISE nie są jeszcze wspierane.
Wspierane oświadczenia i klauzule GQL
Obsługiwane są następujące podstawowe instrukcje i klauzule GQL:
-
MATCHiOPTIONAL MATCH -
WHEREFiltry -
LETWiązania zmiennych -
FOR ... INRozwijanie listy z opcjonalnymORDINALITYindeksowaniem -
NEXT, w tym etapy zapytań zawierająceUNION,UNION DISTINCT, lubUNION ALL -
RETURNiRETURN DISTINCT GROUP BY-
ORDER BYzNULLS FIRSTlubNULLS LAST -
LIMITiOFFSET -
UNION ALLiUNION DISTINCT -
CALL,OPTIONAL CALLiEXISTS -
CASTz szeroką macierzą konwersji typów - Obsługiwane funkcje skalarne i agregacyjne wymienione w wyrażeniach, predykatach i funkcjach GQL
Operacje DML i DDL
Operacje w języku manipulacji danymi (DML), takie jak INSERT, UPDATE, i DELETE nie są obsługiwane przez GQL. Operacje Data Definition Language (DDL) dla mutacji schematu nie są obsługiwane.
Eksportowanie i wizualizacja danych
Eksportowanie wyników zapytania grafu lub struktur grafu nie jest obecnie obsługiwane.
Łączenie Power BI bezpośrednio z grafem dla scenariuszy wizualizacji nie jest obecnie obsługiwane.
Zgodność Z GQL
Aby uzyskać szczegółowe mapowanie obsługiwanych funkcji GQL względem standardu ISO/IEC 39075:2024, w tym minimalnej zgodności, opcjonalnych funkcji według grupy i funkcji, które nie są jeszcze obsługiwane, zobacz Zgodność ze standardami GQL.
Zgodność ze standardami GQL jest nadal w toku dla następujących cech.
Sterowanie przepływem i operacjami zbioru
-
EXCEPT ALLiEXCEPT DISTINCTinstrukcje -
INTERSECT ALLiINTERSECT DISTINCTinstrukcje -
OTHERWISE, oświadczenie
Wyszukiwanie ścieżek i dopasowywanie wzorców
-
ALL SHORTESTPath Search (nie obsługiwane) -
ANYWyszukiwanie ścieżki - Predykaty nielokalnego wzorca
- Złagodzona spójność topologiczna
- Symbole wieloznaczne
Predicates
- Predykat testu etykiety (
IS LABELED) - predykat
IS DIRECTED - Znormalizowany predykat
- Predykat źródłowy/docelowy
- predykat
ALL_DIFFERENT - predykat
IS DISTINCT - predykat
SAME - predykat
REGEXP_CONTAINS
Obsługiwane typy wartości w czasie wykonywania
| Typ wartości w czasie wykonywania | Reprezentacja/zasięg | Limit |
|---|---|---|
BOOLEAN |
true i false |
|
INT (lub INT64) |
Podpisana 64-bitowa liczba całkowita | |
UINT (lub UINT64) |
64-bitowa liczba całkowita bez znaku | |
DOUBLE (lub FLOAT64) |
IEEE-754 binary64 |
Brak sprawdzania tylko skończonych; akceptowane są wartości nieskończone |
STRING |
Ciąg Unicode | 65 534 bajtów (długość uint16 na dysku) |
ZONED DATETIME |
Milisekundy od epoki Uniksa plus przesunięcie int32 UTC | zakres int64 milisekund |
DURATION(DAY TO SECOND) |
Precyzja milisekundowa | |
NODE |
uint64 raw | |
EDGE |
uint64 raw | |
LIST |
Jednorodna lista typowana | 65 534 elementów (długość uint16 na dysku) |
RECORD |
Struktura typowanych pól | |
PATH |
Naprzemienna lista węzłów i krawędzi, która zawsze zaczyna się i kończy na węzłu | 65 534 elementów (długość uint16 na dysku) |
Typy wartości w czasie wykonywania nie są jeszcze obsługiwane
-
INT8,INT16, orazINT32typy wartości (INT64jest obsługiwane) -
FLOAT16orazFLOAT32typy wartości (FLOAT64obsługiwane) -
UINT8,UINT16, orazUINT32typy wartości (UINT64jest obsługiwane) -
ZONED TIMETyp wartości -
DATETyp wartości jako samodzielny typ. Daty wejścia odwzorowują się na Strefowany DateTime. -
LOCAL DATETIMETyp wartości -
LOCAL TIMETyp wartości -
DURATION(YEAR TO MONTH)Typ wartości -
BYTESTyp wartości. Obsługiwane jest pobieranie, ale typ nie jest zapytywalny jako przechowywana właściwość. -
VECTORTyp wartości
Funkcje i wyrażenia
-
PROPERTIESfunkcja -
NORMALIZEz formamiNFKCiNFKD -
DURATION_BETWEENfunkcja - Przeszukiwane
CASE WHENwyrażenia - Podzapytania skalarne
- Łączenie wartości ścieżki
- Konkatenacja ciągów bajtowych,
TRIM, oraz funkcje długości - Prosta
TRIMfunkcja ze specyfikacjąTRIM - Funkcja wieloznakowa
TRIM CARDINALITY
Aggregation
-
PERCENTILE_CONTfunkcja agregacji -
PERCENTILE_DISCfunkcja agregacji -
PRODUCTfunkcja agregacji -
STDDEV_POPfunkcja agregacji -
STDDEV_SAMPfunkcja agregacji
Other
- Przekazywanie parametrów (
$paramspecyfikacja parametrów dynamicznych) - Użytkownik sesji (
SESSION_USER) -
CALLNazwane oświadczenie procedury -
CALLPodzapytania z jawnymi listami importu zmiennych - Zarządzanie katalogiem. Nazwy grafów i ograniczeń są generowane automatycznie.
Catalog
Note
Nazwy grafów i ograniczeń są generowane automatycznie i nie można ich określić w interfejsie użytkownika ani w schemacie JSON.
| Obszar katalogu | Limit prądu / zachowanie | Zalecenie |
|---|---|---|
| Schemat grafu | Jeden typ wykresu na katalog. | |
| Nazwa grafu | Musi być niepusty; nie ma wyraźnej maksymalnej długości. | 127 postaci |
| Typy węzłów | Maksymalnie około 2 miliardów (przestrzeń wewnątrz 32 ID). | 64 kilobajtów |
| Typy krawędzi | Maksymalnie około 2 miliardów (przestrzeń wewnątrz 32 ID). | 64 kilobajtów |
| Unikalne etykiety węzłów | Maksymalnie około 2 miliardów; duplikaty w obrębie jednego typu są odrzucane. | Wyprowadzone z typów węzłów |
| Unikalne etykiety krawędzi | Maksymalnie około 2 miliardów; duplikaty w obrębie jednego typu są odrzucane. | Wywodzące się z typów krawędzi |
| Unikalne nazwy nieruchomości | Maksymalnie około 2 miliardów; puste nazwy i duplikaty w obrębie jednego typu są odrzucane. | 64K x 10 |
| Właściwości dla typu węzła | Brak wyraźnego maksimum; nazwy zduplikowanych właściwości są odrzucane. | 256 |
| Właściwości dla każdego typu krawędzi | Brak wyraźnego maksimum; nazwy zduplikowanych właściwości są odrzucane. | 256 |
| Etykiety według typu węzła | Brak wyraźnej maksymalnej liczby; odrzucane są zduplikowane etykiety. | 64 |
| Etykiety dla typu krawędzi | Brak wyraźnej maksymalnej liczby; odrzucane są zduplikowane etykiety. | 64 |
| Kluczowe właściwości dla każdego ograniczenia | Brak jawnego maksimum; nazwy właściwości muszą być niepuste. | 16 |
| Długość nazwy nieruchomości | Nie jest wyraźnie egzekwowane poza niepustością. | 127 postaci |
| Długość nazwy etykiety | Nie jest wyraźnie egzekwowane poza niepustością. | 127 postaci |
| Ograniczenia klucza krawędziowego | Domyślnie wyłączone (allow_edge_key_constraints flaga). |
≤ liczba typów krawędzi |