Huidige beperkingen van grafiek in Microsoft Fabric

Graph in Microsoft Fabric heeft bepaalde functionele beperkingen. In dit artikel worden enkele belangrijke beperkingen gemarkeerd, maar is geen volledige lijst. Kom regelmatig terug voor updates.

Zie De grafiek Probleemoplossing voor hulp bij veelvoorkomende problemen.

Grafiekmodellen maken

Gegevensbronnen

OneLake en Mirrored Databases zijn de ondersteunde databronnen voor grafieken.

Gegevenstypen

Grafmodellen ondersteunen de volgende eigenschappen-waardetypen.

GQL-waardetype Beschrijving
BOOLEAN Waarden zijn true en false.
INT (of INT64) Waarden zijn 64-bits gesigneerde gehele getallen.
DOUBLE (of FLOAT64) De waarden zijn 64-bits IEEE-754 floating point getallen.
FLOAT (of FLOAT32) Waarden zijn 32-bits floating-point getallen.
STRING Waarden zijn UTF-8 gecodeerde Unicode-tekenreeksen. De maximale eigenschapsgrootte is 65.535 bytes.
ZONED DATETIME Waarden zijn tijdstempels samen met een tijdzone-verschuiving, met millisecondenprecisie.

De volgende kolomtypen OneLake en Delta Lake worden ondersteund voor opname in grafieken.

OneLake-type Afbeeldingen naar het GQL-eigenschapswaardetype
BooleanType BOOLEAN
ByteType INT (of INT64)
IntegerType INT (of INT64)
LongType INT (of INT64)
FloatType DOUBLE (of FLOAT64)
DoubleType DOUBLE (of FLOAT64)
StringType STRING
DateType ZONED DATETIME
TimestampType ZONED DATETIME
TimestampNtzType ZONED DATETIME

Note

Complexe of geneste Delta Lake-types (MapType en StructType) worden niet ondersteund. Je kunt JSON-gecodeerde stringkolommen tijdens het querytijdperk parsen door gebruik te maken van PARSE_JSON_STRING.

Grafiekverwerking en schaal

Graflaad- en verversoperaties kunnen een verlengde verwerkingstijd vereisen, afhankelijk van de grootte van de graaf, het aantal grafelementen (knooppunten en randen) en de grootte van de eigenschapspayloads die aan die elementen horen. Grote grafieken kunnen enkele uren duren om te verwerken. Als een grafieklaad- of verversoperatie na 24 uur niet is voltooid, dien dan een ondersteuningsverzoek in voor verder onderzoek.

De huidige grafverwerkingsmogelijkheden ondersteunen grafen die tot ongeveer 2 miljard grafelementen (knopen en ribben) bevatten. De effectieve capaciteit kan variëren op basis van de grafiekstructuur en de grootte van de payload. Als je werklast naar verwachting deze limieten zal overschrijden, neem dan contact op met Microsoft Ondersteuning voor advies.

Partitiekolommen

Delta Lake-partitiekolommen hebben beperkte ondersteuning als graafeigenschappen:

  • Partitiekolommen die als enige primaire sleutel worden gebruikt, worden altijd afgewezen.
  • Gegenereerde partitiekolommen worden niet ondersteund.
  • Complexe en decimale partitieskolomtypes (Decimal, Binary, Array, , Map, en Struct) worden met een waarschuwing weggelaten.

Schemawijzigingen

Schemawijzigingen triggeren een herlaad van de grafiek.

Querying

Paden met variabele lengte

De Explore UI-padbuilder ondersteunt tot acht hops voor patronen met variabele lengte. Deze limiet op de gebruikersinterface geldt niet voor GQL-queries die in de code-editor zijn ingevoerd.

Graph ondersteunt de voorvoegsels voor en ALLANY SHORTEST padzoek. ALL SHORTEST en ANY worden niet ondersteund.

De volgende tabel vat de ondersteuning voor variabele lengte GQL samen:

Padzoekfunctie en padmodus Vaste of begrensde kwantor Onbegrensde kwantor
ALL WALK (standaard) Supported Niet ondersteund omdat herhaalde elementen oneindig veel paden kunnen opleveren.
ALL TRAIL, of ALL SIMPLEALL ACYCLIC Supported Ondersteund, maar het aantal paden kan nog steeds groot zijn.
ANY SHORTEST WALK Supported Ondersteund voor eenvoudige bereikbaarheid van eindpunten met één anonieme gekwantificeerde rand tussen twee knooppunten. Een pad dat door deze onbegrensde vorm wordt begrensd, path IS NULLkan alleen worden gebruikt met PATH_LENGTH(path) en, naast deze ; het volledige pad wordt niet gematerialiseerd. Zie Onbegrensde patronen met variabele lengte.
ANY SHORTEST TRAIL, of ANY SHORTEST SIMPLEANY SHORTEST ACYCLIC Supported Supported.

Vaste en begrensde kwantoren zijn {n}, {m,n}, en {,n}. Onbegrensde kwantoren zijn {m,}, *, en +. Voor meer informatie, zie GQL-grafiekpatronen.

Plaatsing van padpredicaat

GQL onderscheidt predicaten die geschikte paden beperken van predicaten die paden filteren nadat een padzoekprefix ze selecteert. Voor sommige ANY SHORTEST queryvormen kan Graph momenteel een statement-level MATCH ... WHERE voorwaarde toepassen vóór padselectie.

Om het beoogde stadium expliciet te maken, plaats je geschiktheidspredicaten in lijn in knoop- of randpatronen. Voor postselectie-filtering gebruik je een aparte FILTER instructie na MATCH. Voor voorbeelden, zie Plaats-predicaten vóór of na padselectie.

Lijst predicaatfilters

Lijstpredikaatfilters ondersteunen momenteel niet:

  • EXISTS subqueries.
  • Aggregate functies over het lokaal gebonden element. Horizontale aggregatie over een omsluitende groepslijst wordt ondersteund.

Voor ondersteunde syntaxis en resultaatsemantiek, zie Lijst met predicaatfuncties.

Grootte van resultaten

Graph kapt een query-antwoord af wanneer de interne binaire representatie meer dan 64 MB is. Graph geeft de rijen terug die passen en rapporteert een extra waarschuwing met publieke statuscode 01000 en canonieke GQLSTATUS 01M11. Intermediate resultaten zijn beperkt tot 128 MB.

De reactie bevat geen voortzettingstoken voor rijen die door afkapping zijn weggelaten. Beperk het resultaat met filters, specifieke projecties, of LIMIT, en voer vervolgens de query opnieuw uit.

Onderbreking

De uitvoering van de query API heeft een totale time-out van 20 minuten, inclusief voortzettingsverzoeken. Als de uitvoering deze limiet overschrijdt, geeft de API HTTP 408 terug met foutcode QueryTimeout.

Subqueries

CALL, OPTIONAL CALL, en procedure-vorm EXISTS subqueries worden ondersteund. Inline CALL subqueries kunnen genest worden en impliciet variabelen importeren uit omsluitende scopes. Benoemde procedure-aanroepen, expliciete variabelenimportlijsten zoals CALL (p) { ... }, grafpatroon-only EXISTS, en scalaire subqueries (VALUE { ... }) worden niet ondersteund.

Aggregatiefuncties

De volgende aggregatiefuncties worden ondersteund:

  • COUNT, COUNT(*), SUM, AVG, MINen MAX
  • COLLECT_LIST, COLLECT_ONE en COLLECT_ELEMENTS
  • DISTINCT varianten van alle voorgaande functies
  • Horizontale (rijgewijze, over groepvariabelen/lijsten) varianten van al het bovenstaande

De volgende aggregatiefuncties worden nog niet ondersteund:

  • PERCENTILE_CONT en PERCENTILE_DISC
  • STDDEV_POP en STDDEV_SAMP
  • PRODUCT

Bewerkingen instellen

UNION ALL en UNION DISTINCT worden ondersteund. INTERSECT, EXCEPT, en OTHERWISE worden nog niet ondersteund.

Ondersteunde GQL-statements en -clausules

De volgende kern GQL-statements en clausules worden ondersteund:

  • MATCH en OPTIONAL MATCH
  • WHERE Filters
  • LET variabele bindingen
  • FOR ... IN lijstuitrollen met optionele ORDINALITY indexering
  • NEXT, inclusief querystadia die , UNION DISTINCT, of bevatten UNIONUNION ALL
  • RETURN en RETURN DISTINCT
  • GROUP BY
  • ORDER BY met NULLS FIRST of NULLS LAST
  • LIMIT en OFFSET
  • UNION ALL en UNION DISTINCT
  • CALL, OPTIONAL CALL en EXISTS
  • CAST met een brede typeconversiematrix
  • Ondersteunde scalair- en aggregatefuncties vermeld in GQL-expressies, predicaten en functies

DML- en DDL-operaties

Data Manipulation Language (DML)-operaties zoals INSERT, UPDATE, en DELETE worden niet ondersteund door GQL. Data Definition Language (DDL)-operaties voor schemamutatie worden niet ondersteund.

Gegevensexport en visualisatie

Het exporteren van grafiekqueryresultaten of grafiekstructuren wordt momenteel niet ondersteund.

Het rechtstreeks verbinden van Power BI met een grafiek voor visualisatiescenario's wordt momenteel niet ondersteund.

GQL-conformiteit

Voor een gedetailleerde toewijzing van ondersteunde GQL-functies aan de ISO/IEC 39075:2024-standaard, inclusief minimale conformiteit, optionele functies per groep en functies die nog niet worden ondersteund, raadpleegt u GQL-standaardconformance.

De naleving van GQL-standaarden is nog in ontwikkeling voor de volgende functies.

Regelstroom- en setoperaties

  • EXCEPT ALL en EXCEPT DISTINCT uitspraken
  • INTERSECT ALL en INTERSECT DISTINCT uitspraken
  • OTHERWISE verklaring

Padzoektocht en patroonmatching

  • ALL SHORTEST Padzoektocht (niet ondersteund)
  • ANY Padzoektocht
  • Niet-lokale patroonpredicaten
  • Ontspannen topologische consistentie
  • Jokertekens

Predicates

  • Labeltestpredicaat (IS LABELED)
  • predicaat IS DIRECTED
  • Genormaliseerd predicaat
  • Bron-/doelpredicaat
  • predicaat ALL_DIFFERENT
  • predicaat IS DISTINCT
  • predicaat SAME
  • predicaat REGEXP_CONTAINS

Ondersteunde runtime-waardetypes

Runtime value type Representatie/reeks Limit
BOOLEAN true en false
INT (of INT64) Ondertekend 64-bits geheel getal
UINT (of UINT64) Niet-ondertekend 64-bits geheel getal
DOUBLE (of FLOAT64) IEEE-754 binary64 Geen alleen eindige controle; niet-eindige waarden worden geaccepteerd
STRING Unicode-tekenreeks 65.534 bytes (uint16 on-disk lengte)
ZONED DATETIME Milliseconden sinds het Unix-tijdperk plus int32 UTC-offset int64 millisecondenbereik
DURATION(DAY TO SECOND) Millimeterseconde precisie
NODE uint64 raw
EDGE uint64 raw
LIST Homogene getypeerde lijst 65.534 elementen (uint16 on-disk lengte)
RECORD Struct van getypeerde velden
PATH Afwisselende lijst van knopen en randen die altijd begint en eindigt met een knoop 65.534 elementen (uint16 on-disk lengte)

Runtime-waardetypes die nog niet worden ondersteund

  • INT8, INT16, en INT32 waardetypes (INT64 wordt ondersteund)
  • FLOAT16 en FLOAT32 waardetypes (FLOAT64 wordt ondersteund)
  • UINT8, UINT16, en UINT32 waardetypes (UINT64 wordt ondersteund)
  • ZONED TIME Waardetype
  • DATE Value Type als een op zichzelf staand type. Ingevoerde data worden overeengebracht met Zoned DateTime.
  • LOCAL DATETIME Waardetype
  • LOCAL TIME Waardetype
  • DURATION(YEAR TO MONTH) Waardetype
  • BYTES Waardetype. Ingestion wordt ondersteund, maar het type is niet opzoekbaar als opgeslagen eigenschap.
  • VECTOR Waardetype

Functies en expressies

  • PROPERTIES functie
  • NORMALIZE waarbij de NFKC en NFKD vormen
  • DURATION_BETWEEN functie
  • Gezocht CASE WHEN uitdrukkingen
  • Scalaire subquery's
  • Samenvoeging van padwaarde
  • Bytestring-concatenatie, TRIM, en lengtefuncties
  • Eenvoudige TRIM functie met een TRIM specificatie
  • Multikarakterfunctie TRIM
  • CARDINALITY

Aggregation

  • PERCENTILE_CONT aggregerende functie
  • PERCENTILE_DISC aggregerende functie
  • PRODUCT aggregerende functie
  • STDDEV_POP aggregerende functie
  • STDDEV_SAMP aggregerende functie

Other

  • Parameteroverdracht ($param dynamische parameterspecificatie)
  • Sessiegebruiker (SESSION_USER)
  • CALL Named Procedure-verklaring
  • CALL Subqueries met expliciete variabelenimportlijsten
  • Catalogusbeheer. Graf- en constraintnamen worden automatisch gegenereerd.

Catalog

Note

Grafnamen en constraintnamen worden automatisch gegenereerd en kunnen niet worden gespecificeerd in de UI of in het JSON-schema.

Catalogusgebied Stroomlimiet / gedrag Aanbeveling
Grafiekschema Eén grafiektype per catalogus.
Graafnaam Moet niet-leeg zijn; geen expliciete maximale lengte. 127 personages
Knooppunttypen Maximaal ongeveer 2 miljard (int32 ID-ruimte). 64K
Randtypes Maximaal ongeveer 2 miljard (int32 ID-ruimte). 64K
Unieke knooplabels Maximaal ongeveer 2 miljard; duplicaten binnen één type worden afgewezen. Afgeleid van knooppunttypes
Unieke randlabels Maximaal ongeveer 2 miljard; duplicaten binnen één type worden afgewezen. Afgeleid van randtypes
Unieke eigendomsnamen Maximaal ongeveer 2 miljard; lege namen en duplicaten binnen één type worden afgewezen. 64K x 10
Eigenschappen per knooptype Er is geen expliciet maximum; dubbele eigenschapsnamen worden afgewezen. 256
Eigenschappen per randtype Er is geen expliciet maximum; dubbele eigenschapsnamen worden afgewezen. 256
Labels per knooptype Geen expliciet maximum; dubbele labels worden afgewezen. 64
Labels per randtype Geen expliciet maximum; dubbele labels worden afgewezen. 64
Belangrijke eigenschappen per beperking Geen expliciet maximum; eigendomsnamen moeten niet-leeg zijn. 16
Lengte van de eigendomsnaam Niet expliciet gehandhaafd voorbij non-empty. 127 personages
Lengte van labelnaam Niet expliciet gehandhaafd voorbij non-empty. 127 personages
Randsleutelbeperkingen Standaard uitgeschakeld (allow_edge_key_constraints vlag). ≤ het aantal randtypes