Aktuelle Einschränkungen von Diagrammen in Microsoft Fabric

Graphen in Microsoft Fabric haben bestimmte funktionale Einschränkungen. In diesem Artikel werden einige wichtige Einschränkungen beschrieben, es handelt sich jedoch nicht um eine vollständige Liste. Überprüfen Sie regelmäßig nach Updates.

Hilfe zu häufig auftretenden Problemen finden Sie im Diagramm zur Problembehandlung.

Erstellen von Diagrammmodellen

Datenquellen

OneLake und Mirrored Databases sind die unterstützten Datenquellen für Graphen.

Datentypen

Graphenmodelle unterstützen folgende Eigenschaftswerttypen.

GQL-Werttyp Beschreibung
BOOLEAN Werte sind true und false.
INT (oder INT64) Die Werte sind 64-Bit-Ganzzahlen mit Vorzeichen.
DOUBLE (oder FLOAT64) Die Werte sind 64-Bit-IEEE-754-Gleitkommazahlen.
FLOAT (oder FLOAT32) Die Werte sind 32-Bit-Gleitkommazahlen.
STRING Die Werte sind UTF-8-codierte Unicode-Zeichenzeichenketten. Die maximale Eigenschaftsgröße beträgt 65.535 Bytes.
ZONED DATETIME Werte sind Zeitstempel zusammen mit einem Zeitzonen-Offset, mit Millisekundengenauigkeit.

Die folgenden Spaltentypen von OneLake und Delta Lake werden für die Aufnahme in Graphen unterstützt.

OneLake-Typ Abbildung auf den GQL-Eigenschaftswerttyp
BooleanType BOOLEAN
ByteType INT (oder INT64)
IntegerType INT (oder INT64)
LongType INT (oder INT64)
FloatType DOUBLE (oder FLOAT64)
DoubleType DOUBLE (oder FLOAT64)
StringType STRING
DateType ZONED DATETIME
TimestampType ZONED DATETIME
TimestampNtzType ZONED DATETIME

Note

Komplexe oder verschachtelte Delta-Lake-Typen (MapType und StructType) werden nicht unterstützt. Sie können JSON-kodierte String-Spalten zur Abfragezeit mit .PARSE_JSON_STRING

Graphenverarbeitung und Skalierung

Graphenlade- und Aktualisierungsoperationen können je nach Graphgröße, Anzahl der Graphelemente (Knoten und Kanten) und Größe der mit diesen Elementen verbundenen Eigenschaftsnutzlasten eine längere Verarbeitungszeit erfordern. Große Diagramme können mehrere Stunden zur Verarbeitung benötigen. Wenn eine Graphen-Lade- oder Aktualisierungsoperation nach 24 Stunden nicht abgeschlossen wurde, reichen Sie eine Support-Anfrage zur weiteren Untersuchung ein.

Aktuelle Graphverarbeitungsfähigkeiten unterstützen Graphen mit bis zu etwa 2 Milliarden Graphelementen (Knoten und Kanten). Die effektive Kapazität kann je nach Diagrammstruktur und Nutzlastgröße variieren. Wenn Ihre Arbeitsbelastung voraussichtlich diese Grenzen überschreitet, wenden Sie sich für Beratung an Microsoft-Support.

Partitionsspalten

Delta-Lake-Partitionsspalten haben nur begrenzte Unterstützung als Grapheigenschaften:

  • Partitionsspalten, die als alleiniger Primärschlüssel verwendet werden, werden immer abgelehnt.
  • Generierte Partitionsspalten werden nicht unterstützt.
  • Komplexe und dezimale Spaltentypen (Decimal, Binary, Array, Map, und Struct) werden mit einer Warnung weggelassen.

Schema-Änderungen

Schemaänderungen lösen eine Graph-Neuladung aus.

Querying

Pfade mit variabler Länge

Der Explore-UI-Pfad-Builder unterstützt bis zu acht Sprünge für Muster mit variabler Länge. Diese Benutzeroberflächenbeschränkung gilt nicht für GQL-Abfragen, die im Code-Editor eingegeben werden.

Graph unterstützt die und ANY SHORTEST Pfadsuch-PräfixeALL. ALL SHORTEST und ANY werden nicht unterstützt.

Die folgende Tabelle fasst die Unterstützung für variable GQL-Längen zusammen:

Pfadsuche und Pfadmodus Fester oder beschränkter Quantor Unbeschränkter Quantor
ALL WALK (Standardwert) Unterstützt Nicht unterstützt, weil wiederholte Elemente unendlich viele Wege erzeugen können.
ALL TRAIL, ALL SIMPLE oder ALL ACYCLIC Unterstützt Unterstützt, aber die Anzahl der Wege kann trotzdem groß sein.
ANY SHORTEST WALK Unterstützt Unterstützt für einfache Endpunkt-Erreichbarkeit mit einer anonymen quantifizierten Kante zwischen zwei Knoten. Ein durch diese unbeschränkte Form begrenzte Pfad kann nur mit PATH_LENGTH(path) und neben ihr verwendet werden; path IS NULLder vollständige Pfad wird nicht materialisiert. Siehe Unbeschränkte Muster mit variabler Länge.
ANY SHORTEST TRAIL, ANY SHORTEST SIMPLE oder ANY SHORTEST ACYCLIC Unterstützt Unterstützt.

Feste und beschränkte Quantoren sind {n}, {m,n}, und {,n}. Unbeschränkte Quantoren sind {m,}, *, und +. Weitere Informationen finden Sie unter GQL-Diagrammmuster.

Pfadprädikatenplatzierung

GQL unterscheidet Prädikate, die zulässige Pfade einschränken, von Prädikaten, die Pfade filtern, nachdem ein Pfadsuchpräfix sie ausgewählt hat. Für einige ANY SHORTEST Abfrageformen kann Graph derzeit vor der Pfadauswahl eine Bedingung auf Anweisungsebene MATCH ... WHERE anwenden.

Um die beabsichtigte Stufe explizit zu machen, platzieren Sie Eignungsprädikate in Knoten- oder Kantenmuster. Für das Filtern nach der Auswahl verwenden Sie eine separate FILTER Anweisung nach MATCH. Beispiele finden sich unter Platzprädikate vor oder nach der Pfadauswahl.

Prädikatenfilter für Listenprädikaten

Listenprädikatenfilter unterstützen derzeit nicht:

  • EXISTS Unteranfragen.
  • Aggregierte Funktionen über das lokal gebundene Element. Horizontale Aggregation über eine umschließende Gruppenliste wird unterstützt.

Für unterstützte Syntax und Ergebnissemantik siehe Prädikatenfunktionen listen.

Größe der Ergebnisse

Der Graph trunkiert eine Anfrageantwort, wenn seine interne Binärdarstellung 64 MB überschreitet. Graph liefert die passenden Zeilen zurück und meldet eine zusätzliche Warnung mit öffentlichem Statuscode 01000 und kanonischem GQLSTATUS 01M11. Die Zwischenwerte sind auf 128 MB begrenzt.

Die Antwort enthält kein Fortsetzungstoken für Zeilen, die durch Trunkierung ausgelassen werden. Begrenzt das Ergebnis mit Filtern, spezifischen Projektionen oder LIMIT, und führe dann die Abfrage erneut aus.

Zeitlimit

Die Abfrage-API-Ausführung hat insgesamt 20 Minuten Timeout, einschließlich Fortsetzungsanfragen. Überschreitet die Ausführung dieses Limit, gibt die API HTTP 408 mit Fehlercode QueryTimeoutzurück.

Unterabfragen

CALL, OPTIONAL CALL, und Prozedurform-Unterabfragen EXISTS werden unterstützt. Inline-Unterabfragen CALL können verschachtelt sein und implizit Variablen aus umschließenden Scopes importieren. Benannte Prozeduraufrufe, explizite Variablenimportlisten wie CALL (p) { ... }, nur für Graphenmuster EXISTSund skalare Unterabfragen (VALUE { ... }) werden nicht unterstützt.

Aggregationsfunktionen

Die folgenden Aggregationsfunktionen werden unterstützt:

  • COUNT, COUNT(*), SUM, AVG, MINund MAX
  • COLLECT_LIST, COLLECT_ONE und COLLECT_ELEMENTS
  • DISTINCT Varianten aller vorangegangenen Funktionen
  • Horizontale (zeilenweise über Gruppenvariablen/Listen) Varianten aller oben genannten

Die folgenden Aggregationsfunktionen werden noch nicht unterstützt:

  • PERCENTILE_CONT und PERCENTILE_DISC
  • STDDEV_POP und STDDEV_SAMP
  • PRODUCT

Festlegen von Vorgängen

UNION ALL und UNION DISTINCT werden unterstützt. INTERSECT, EXCEPT, und OTHERWISE werden noch nicht unterstützt.

Unterstützte GQL-Anweisungen und -Klauseln

Die folgenden Kern-GQL-Anweisungen und -Klauseln werden unterstützt:

  • MATCH und OPTIONAL MATCH
  • WHERE Filter
  • LET Variable Bindungen
  • FOR ... IN Listen-Ausrollung mit optionaler ORDINALITY Indexierung
  • NEXT, einschließlich Abfragestufen, die , UNION DISTINCT, oder enthalten UNIONUNION ALL
  • RETURN und RETURN DISTINCT
  • GROUP BY
  • ORDER BY mit NULLS FIRST oder NULLS LAST
  • LIMIT und OFFSET
  • UNION ALL und UNION DISTINCT
  • CALL, OPTIONAL CALL und EXISTS
  • CAST mit einer breiten Typ-Umwandlungsmatrix
  • Unterstützte skalare und aggregierte Funktionen, die in GQL-Ausdrücken, Prädikaten und Funktionen aufgeführt sind

DML- und DDL-Betrieb

Data Manipulation Language (DML)-Operationen wie INSERT, UPDATE, und DELETE werden von GQL nicht unterstützt. Data Definition Language (DDL)-Operationen für Schema-Mutationen werden nicht unterstützt.

Datenexport und -visualisierung

Das Exportieren von Diagrammabfrageergebnissen oder Diagrammstrukturen wird derzeit nicht unterstützt.

Das direkte Verbinden von Power BI mit einem Diagramm für Visualisierungsszenarien wird derzeit nicht unterstützt.

GQL-Konformität

Eine detaillierte Zuordnung der unterstützten GQL-Features mit dem ISO/IEC 39075:2024-Standard, einschließlich Mindestkonformität, optionalen Features nach Gruppe und features, die noch nicht unterstützt werden, finden Sie unter GQL-Standardkonformität.

Die Einhaltung der GQL-Standards ist für die folgenden Funktionen noch im Gange.

Steuerungsfluss und Set-Operationen

  • EXCEPT ALL- und EXCEPT DISTINCT-Anweisungen
  • INTERSECT ALL- und INTERSECT DISTINCT-Anweisungen
  • OTHERWISE-Anweisung

Pfadsuche und Mustererkennung

  • ALL SHORTEST Pfadsuche (nicht unterstützt)
  • ANY Pfadsuche
  • Nicht lokale Muster-Prädikate
  • Entspannte topologische Konsistenz
  • Platzhalter

Prädikate

  • Label-Test-Prädikat (IS LABELED)
  • IS DIRECTED Prädikat
  • Normalisiertes Prädikat
  • Quell-/Ziel-Prädikat
  • ALL_DIFFERENT Prädikat
  • IS DISTINCT Prädikat
  • SAME Prädikat
  • REGEXP_CONTAINS Prädikat

Unterstützte Laufzeit-Werttypen

Laufzeitwerttyp Repräsentation/Verbreitung Limit
BOOLEAN true und false
INT (oder INT64) 64-Bit-Ganzzahl
UINT (oder UINT64) Nicht signierte 64-Bit-Ganzzahl
DOUBLE (oder FLOAT64) IEEE-754 binary64 Keine reine Endlichkeitsprüfung; nichtendliche Werte werden akzeptiert
STRING Unicode-Zeichenfolge 65.534 Bytes (uint16 On-Disk-Länge)
ZONED DATETIME Millisekunden seit Unix-Epoche plus int32 UTC-Versatz int64 Millisekundenbereich
DURATION(DAY TO SECOND) Millisekundenpräzision
NODE uint64 RAW
EDGE uint64 RAW
LIST Homogene typisierte Liste 65.534 Elemente (uint16 On-Disc-Länge)
RECORD Struct der typisierten Felder
PATH Abwechselnde Liste von Knoten und Kanten, die immer mit einem Knoten beginnt und endet 65.534 Elemente (uint16 On-Disc-Länge)

Laufzeit-Werttypen noch nicht unterstützt

  • INT8, INT16, und INT32 Werttypen (INT64 wird unterstützt)
  • FLOAT16 und FLOAT32 Werttypen (FLOAT64 wird unterstützt)
  • UINT8, UINT16, und UINT32 Werttypen (UINT64 wird unterstützt)
  • ZONED TIME Werttyp
  • DATE Value Type als eigenständiger Typ. Eingetragene Daten werden zu Zoned DateTime abgebildet.
  • LOCAL DATETIME Werttyp
  • LOCAL TIME Werttyp
  • DURATION(YEAR TO MONTH) Werttyp
  • BYTES Werttyp. Eingabe wird unterstützt, aber der Typ ist als gespeicherte Eigenschaft nicht abfragbar.
  • VECTOR Werttyp

Funktionen und Ausdrücke

  • PROPERTIES-Funktion
  • NORMALIZEwobei die und NFKD die NFKC formen
  • DURATION_BETWEEN-Funktion
  • Gesuchte CASE WHEN Ausdrücke
  • Skalare Unterabfragen
  • Pfadwertverkettung
  • Byte-String-Konkatenation, TRIM, und Längenfunktionen
  • Einfache Funktion mit einer TRIM Spezifikation TRIM
  • Mehrzeichenfunktion TRIM
  • CARDINALITY

Aggregation

  • PERCENTILE_CONT Aggregatfunktion
  • PERCENTILE_DISC Aggregatfunktion
  • PRODUCT Aggregatfunktion
  • STDDEV_POP Aggregatfunktion
  • STDDEV_SAMP Aggregatfunktion

Other

  • Parameterübergabe ($param dynamische Parameterspezifikation)
  • Sitzungsbenutzer (SESSION_USER)
  • CALL Benannte Prozedur-Anweisung
  • CALL Unterabfragen mit expliziten Variablenimportlisten
  • Katalogverwaltung. Graphen- und Constraint-Namen werden automatisch generiert.

Katalog

Note

Graphen- und Constraint-Namen werden automatisch generiert und können weder in der Benutzeroberfläche noch im JSON-Schema angegeben werden.

Katalogbereich Stromlimit / Verhalten Recommendation
Diagrammschema Ein Graphentyp pro Katalog.
Graphenname Muss nicht leer sein; keine explizite maximale Länge. 127 Charaktere
Knotentypen Maximal etwa 2 Milliarden (int32 ID-Platz). 64K
Edgetypen Maximal etwa 2 Milliarden (int32 ID-Platz). 64K
Eindeutige Knotenetiketten Maximal etwa 2 Milliarden; Duplikate innerhalb eines Typs werden abgelehnt. Abgeleitet von Knotentypen
Einzigartige Kantenetiketten Maximal etwa 2 Milliarden; Duplikate innerhalb eines Typs werden abgelehnt. Abgeleitet von Kantentypen
Einzigartige Immobiliennamen Maximal etwa 2 Milliarden; leere Namen und Duplikate innerhalb eines Typs werden abgelehnt. 64K x 10
Eigenschaften pro Knotentyp Kein explizites Maximum; doppelte Eigenschaftsnamen werden abgelehnt. 256
Eigenschaften pro Kantentyp Kein explizites Maximum; doppelte Eigenschaftsnamen werden abgelehnt. 256
Bezeichnungen pro Knotentyp Kein explizites Maximum; doppelte Labels werden abgelehnt. 64
Bezeichnungen pro Kantentyp Kein explizites Maximum; doppelte Labels werden abgelehnt. 64
Schlüsseleigenschaften pro Nebenbedingung Kein explizites Maximum; Eigenschaftsnamen müssen nicht leer sein. 16
Länge des Grundstücksnamens Nicht explizit über Nichtleere hinaus durchgesetzt. 127 Charaktere
Länge des Etikettnamens Nicht explizit über Nichtleere hinaus durchgesetzt. 127 Charaktere
Randschlüssel-Einschränkungen Standardmäßig deaktiviert (allow_edge_key_constraints Flag). ≤ die Anzahl der Kantentypen