Aktuelle begrænsninger af grafen i Microsoft Fabric

Graf i Microsoft Fabric har visse funktionelle begrænsninger. Denne artikel fremhæver nogle vigtige begrænsninger, men er ikke en udtømmende liste. Vend regelmæssigt tilbage for at få opdateringer.

Du kan finde hjælp til almindelige problemer under Fejlfinding af graf.

Oprettelse af grafmodeller

Datakilder

OneLake og Mirrored Databases er de understøttede datakilder til grafer.

Datatyper

Grafmodeller understøtter følgende egenskaber og værdityper.

GQL-værditype Beskrivelse
BOOLEAN Værdierne er true og false.
INT (eller INT64) Værdierne er 64-bit signerede heltal.
DOUBLE (eller FLOAT64) Værdierne er 64-bit IEEE-754 flydende kommatal.
FLOAT (eller FLOAT32) Værdierne er 32-bit flydende kommatal.
STRING Værdierne er UTF-8-kodede Unicode-tegnstrenge. Den maksimale egenskabsstørrelse er 65.535 bytes.
ZONED DATETIME Værdier er tidsstempler sammen med en tidszoneforskydning, med millisekundpræcision.

Følgende OneLake- og Delta Lake-kolonnetyper understøttes til indlæsning i grafer.

OneLake-typen Kort til GQL egenskabsværditype
BooleanType BOOLEAN
ByteType INT (eller INT64)
IntegerType INT (eller INT64)
LongType INT (eller INT64)
FloatType DOUBLE (eller FLOAT64)
DoubleType DOUBLE (eller FLOAT64)
StringType STRING
DateType ZONED DATETIME
TimestampType ZONED DATETIME
TimestampNtzType ZONED DATETIME

Bemærkning

Komplekse eller indlejrede Delta Lake-typer (MapType og StructType) understøttes ikke. Du kan parse JSON-kodede strengkolonner ved forespørgselstid ved at bruge PARSE_JSON_STRING.

Grafbehandling og skalering

Grafindlæsning og opdateringsoperationer kan kræve forlænget behandlingstid afhængigt af grafstørrelse, antallet af grafelementer (noder og kanter) og størrelsen af egenskabspayloads forbundet med disse elementer. Store grafer kan tage flere timer at behandle. Hvis en grafindlæsning eller opdatering ikke er afsluttet efter 24 timer, indsend en supportanmodning for yderligere undersøgelse.

Nuværende grafbehandlingsmuligheder understøtter grafer, der indeholder op til cirka 2 milliarder grafelementer (noder og kanter). Effektiv kapacitet kan variere afhængigt af grafstruktur og egenskabens nyttelaststørrelse. Hvis din arbejdsbyrde forventes at overstige disse grænser, så kontakt Microsoft Support for vejledning.

Partitionskolonner

Delta Lake-partitionskolonner har begrænset støtte som grafegenskaber:

  • Partitionskolonner, der bruges som den eneste primærnøgle, afvises altid.
  • Genererede partitionskolonner understøttes ikke.
  • Komplekse og decimale partitionskolonnetyper (Decimal, Binary, , MapArray, og Struct) droppes med en advarsel.

Skemaændringer

Skemaændringer udløser en graf-genindlæsning.

Forespørge

Variable længdestier

Explore UI-sti-builderen understøtter op til otte hop for mønstre med variabel længde. Denne brugergrænsefladebegrænsning gælder ikke for GQL-forespørgsler, der indtastes i kodeeditoren.

Graph understøtter ALL og ANY SHORTEST sti-søgepræfikserne. ALL SHORTEST og ANY ikke understøttes.

Følgende tabel opsummerer variabel længde GQL-understøttelse:

Sti-søgning og sti-tilstand Fast eller begrænset kvantor. Ubegrænset kvantor.
ALL WALK (standard) Understøttet Ikke understøttet, fordi gentagne elementer kan producere uendeligt mange stier.
ALL TRAIL, ALL SIMPLEeller ALL ACYCLIC Understøttet Understøttet, men antallet af stier kan stadig være stort.
ANY SHORTEST WALK Understøttet Understøttet for simpel endepunktstilgængelighed med én anonym kvantificeret kant mellem to noder. En sti bundet af denne ubegrænsede form kan kun bruges med PATH_LENGTH(path) og ved siden af den, path IS NULL; den komplette sti materialiseres ikke. Se ubegrænsede mønstre med variabel længde.
ANY SHORTEST TRAIL, ANY SHORTEST SIMPLEeller ANY SHORTEST ACYCLIC Understøttet Understøttes.

Faste og begrænsede kvantorer er {n}, {m,n}, og {,n}. Ubegrænsede kvantorer er {m,}, *, og +. For mere information, se GQL-grafmønstre.

Sti-predikatplacering

GQL skelner mellem prædikater, der begrænser berettigede stier, fra prædikater, der filtrerer stier efter at et stisøgningspræfiks har udvalgt dem. For nogle ANY SHORTEST forespørgselsformer kan Graph i øjeblikket anvende en sætnings-niveau MATCH ... WHERE betingelse før stivalg.

For at gøre det tilsigtede trin tydeligt, placer berettigelsespredikater i linje i node- eller kantmønstre. Til filtrering efter udvælgelse bruges en separat FILTER sætning efter MATCH. For eksempler, se Place-prædikater før eller efter stivalg.

Liste prædikatfiltre

Listeprædikatfiltre understøtter i øjeblikket ikke:

  • EXISTS underforespørgsler.
  • Aggregerede funktioner over det lokalt bundne element. Horisontal aggregering over en omsluttende gruppeliste understøttes.

For understøttet syntaks og resultatsemantik, se Liste prædikatfunktioner.

Størrelse af resultater

Grafen afkorter et forespørgselssvar, når dens interne binære repræsentation overstiger 64 MB. Grafen returnerer de rækker, der passer, og rapporterer en yderligere advarsel med offentlig statuskode 01000 og kanonisk GQLSTATUS 01M11. Mellemniveauer er begrænset til 128 MB.

Svaret inkluderer ikke en fortsættelsestoken for rækker, der udelades ved trunkering. Indsnævre resultatet med filtre, specifikke projektioner eller LIMIT, og kør derefter forespørgslen igen.

Timeout

Query-API-udførelsen har en samlet timeout på 20 minutter, inklusive fortsættelsesanmodninger. Hvis udførelsen overstiger denne grænse, returnerer API'en HTTP 408 med fejlkode QueryTimeout.

Underforespørgsler

CALL, OPTIONAL CALL, og procedureform-underforespørgsler EXISTS understøttes. Inline CALL subforespørgsler kan indlejres og implicit importere variabler fra omsluttende scopes. Navngivne procedurekald, eksplicitte variabelimportlister såsom CALL (p) { ... }, grafmønster-only EXISTS, og skalar-underforespørgsler (VALUE { ... }) understøttes ikke.

Aggregeringsfunktioner

Følgende aggregeringsfunktioner understøttes:

  • COUNT, COUNT(*), SUM, AVG, , MIN, og MAX
  • COLLECT_LIST, COLLECT_ONEog COLLECT_ELEMENTS
  • DISTINCT varianter af alle de foregående funktioner
  • Horisontale (rækkevis, over gruppevariabler/lister) varianter af alle ovenstående

Følgende aggregeringsfunktioner understøttes endnu ikke:

  • PERCENTILE_CONT Og PERCENTILE_DISC
  • STDDEV_POP Og STDDEV_SAMP
  • PRODUCT

Angiv handlinger

UNION ALL og UNION DISTINCT understøttes. INTERSECT, EXCEPT, og OTHERWISE understøttes endnu ikke.

Understøttede GQL-udsagn og -klausuler

Følgende kerneudsagn og klausuler i GQL understøttes:

  • MATCH Og OPTIONAL MATCH
  • WHERE Filtre
  • LET Variable bindinger
  • FOR ... IN listeudrullning med valgfri ORDINALITY indeksering
  • NEXT, inklusive forespørgselsstadier, der indeholder UNION, UNION DISTINCT, eller UNION ALL
  • RETURN Og RETURN DISTINCT
  • GROUP BY
  • ORDER BY med NULLS FIRST eller NULLS LAST
  • LIMIT Og OFFSET
  • UNION ALL Og UNION DISTINCT
  • CALL, OPTIONAL CALLog EXISTS
  • CAST med en bred type-konverteringsmatrix
  • Understøttede skalar- og aggregatfunktioner opført i GQL-udtryk, prædikater og funktioner

DML- og DDL-operationer

Data Manipulation Language (DML)-operationer som INSERT, UPDATE, og DELETE understøttes ikke af GQL. Data Definition Language (DDL)-operationer for skemamutation understøttes ikke.

Dataeksport og -visualisering

Eksport af grafforespørgselsresultater eller grafstrukturer understøttes ikke i øjeblikket.

Oprettelse af forbindelse Power BI direkte til en graf til visualiseringsscenarier understøttes ikke i øjeblikket.

GQL-overensstemmelse

Du kan finde en detaljeret tilknytning af understøttede GQL-funktioner i forhold til ISO/IEC 39075:2024-standarden, herunder minimumoverensstemmelse, valgfrie funktioner efter gruppe og funktioner, der endnu ikke understøttes, under GQL-standardoverensstemmelse.

Overholdelse af GQL-standarder er stadig i gang for følgende funktioner.

Kontrolflow og sætoperationer

  • EXCEPT ALL og EXCEPT DISTINCT -sætninger
  • INTERSECT ALL og INTERSECT DISTINCT -sætninger
  • OTHERWISE erklæring

Stisøgning og mønstergenkendelse

  • ALL SHORTEST Sti-søgning (ikke understøttet)
  • ANY Stisøgning
  • Prædikater for ikke-lokalt mønster
  • Afslappet topologisk konsistens
  • Jokertegn

Prædikater

  • Etikettestprædikat (IS LABELED)
  • IS DIRECTED Prædikat
  • Normaliseret prædikat
  • Prædikat for kilde/destination
  • ALL_DIFFERENT Prædikat
  • IS DISTINCT Prædikat
  • SAME Prædikat
  • REGEXP_CONTAINS Prædikat

Understøttede runtime-værdityper

Runtime-værditype Repræsentation/Omfang Grænse
BOOLEAN true Og false
INT (eller INT64) Signeret 64-bit heltal
UINT (eller UINT64) Usigneret 64-bit heltal
DOUBLE (eller FLOAT64) IEEE-754 binary64 Ingen kun endelig kontrol; ikke-endelige værdier accepteres
STRING Unicode-streng 65.534 bytes (uint16 on-disk længde)
ZONED DATETIME Millisekunder siden Unix-epoken plus int32 UTC-offset int64 millisekund rækkevidde
DURATION(DAY TO SECOND) Millisekundpræcision
NODE uint64 raw
EDGE uint64 raw
LIST Homogen typet liste 65.534 elementer (uint16 on-disk længde)
RECORD Struct af typede felter
PATH Skiftende liste af noder og kanter, der altid starter og slutter med en node 65.534 elementer (uint16 on-disk længde)

Runtime-værdityper endnu ikke understøttet

  • INT8, INT16, og INT32 værdityper (INT64 understøttes)
  • FLOAT16 og FLOAT32 værdityper (FLOAT64 understøttes)
  • UINT8, UINT16, og UINT32 værdityper (UINT64 understøttes)
  • ZONED TIME Værditype
  • DATE Værditype som en selvstændig type. Indtastede datoer kortlægges til ZoneDatoTid.
  • LOCAL DATETIME Værditype
  • LOCAL TIME Værditype
  • DURATION(YEAR TO MONTH) Værditype
  • BYTES Værditype. Indtagelse understøttes, men typen kan ikke forespørges som en lagret egenskab.
  • VECTOR Værditype

Funktioner og udtryk

  • funktionen PROPERTIES
  • NORMALIZEmed og NFKD danner NFKC
  • funktionen DURATION_BETWEEN
  • Søgte CASE WHEN udtryk
  • Skalarunderforespørgsler
  • Sammenkædning af stiværdi
  • Byte-strengs sammenkædning, TRIM, og længdefunktioner
  • Simpel TRIM funktion med en TRIM specifikation
  • Multi-tegnsfunktion TRIM
  • CARDINALITY

Aggregering

  • PERCENTILE_CONT Aggregeret funktion
  • PERCENTILE_DISC Aggregeret funktion
  • PRODUCT Aggregeret funktion
  • STDDEV_POP Aggregeret funktion
  • STDDEV_SAMP Aggregeret funktion

Andet

  • Parameteroverførsel ($param dynamisk parameterspecifikation)
  • Sessionsbruger (SESSION_USER)
  • CALL Navngivet procedureudsagn
  • CALL Underforespørgsler med eksplicitte variabelimportlister
  • Katalogstyring. Graf- og begrænsningsnavne genereres automatisk.

Katalog

Bemærkning

Grafnavne og constraint-navne genereres automatisk og kan ikke specificeres i UI'en eller i JSON-skemaet.

Katalogområde Strømgrænse / adfærd Anbefaling
Grafskema Én graftype pr. katalog.
Grafens navn Skal være ikke-tom; ingen eksplicit maksimal længde. 127 karakterer
Nodetyper Maksimum på cirka 2 milliarder (int32 ID-plads). 64K
Kanttyper Maksimum på cirka 2 milliarder (int32 ID-plads). 64K
Unikke nodeetiketter Maksimalt cirka 2 milliarder; dubletter inden for én type afvises. Afledt af nodetyper
Unikke kantetiketter Maksimalt cirka 2 milliarder; dubletter inden for én type afvises. Afledt af kanttyper
Unikke ejendomsnavne Maksimalt cirka 2 milliarder; tomme navne og dubletter inden for én type afvises. 64K x 10
Egenskaber pr. nodetype Ingen eksplicit maksimum; dublerede ejendomsnavne afvises. 256
Egenskaber pr. kanttype Ingen eksplicit maksimum; dublerede ejendomsnavne afvises. 256
Labels pr. nodetype Ingen eksplicit maksimum; duplikerede etiketter afvises. 64
Etiketter pr. kanttype Ingen eksplicit maksimum; duplikerede etiketter afvises. 64
Nøgleegenskaber pr. begrænsning Ingen eksplicit maksimum; egenskabsnavne skal være ikke-tomme. 16
Ejendomsnavnets længde Ikke eksplicit håndhævet ud over ikke-tom. 127 karakterer
Etikettens navnelængde Ikke eksplicit håndhævet ud over ikke-tom. 127 karakterer
Kantnøglebegrænsninger Deaktiveret som standard (allow_edge_key_constraints flag). ≤ antallet af kanttyper