Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Funkcja grafu all() ocenia warunek dla każdej krawędzi lub węzła wewnętrznego wzdłuż ścieżki o zmiennej długości.
Nuta
Ta funkcja jest używana z dopasowania grafu i najkrótszych ścieżek grafów operatorów.
Składnia
all(brzegowej
all(inner_nodes(brzegowej
Parametry
| Nazwa | Typ | Wymagane | Opis |
|---|---|---|---|
| krawędzi | string |
✔️ | Krawędź zmiennej długości od operatora dopasowania grafu lub wzorca operatorów grafów najkrótszych ścieżek. Aby uzyskać więcej informacji, zobacz notacja wzorców Graph. |
| warunku | string |
✔️ | Wyrażenie logiczne składające się z właściwości krawędzi lub węzła wewnętrznego, gdy jest używana inner_nodes, w krawędzi zmiennej długości. Właściwość jest odwołuje się bezpośrednio przy użyciu nazwy właściwości. Wyrażenie jest obliczane dla każdej krawędzi lub węzła wewnętrznego w zmiennej długości krawędzi. |
Zwraca
Zwraca true, jeśli warunek oblicza true dla każdej krawędzi lub węźle wewnętrznym, gdy inner_nodes jest używany, w krawędzi zmiennej długości. W przeciwnym razie zwraca false.
W przypadku ścieżek o zerowej długości warunek oblicza wartość true.
Przykłady
W poniższym przykładzie pokazano, jak używać operatora graph-match z funkcją all(), aby znaleźć wszystkie ścieżki dwukierunkowe między dwoma stacjami w sieci transportowej. Używa innej linii dla każdego kierunku. Zapytanie konstruuje wykres z danych connections, wyszukując wszystkie ścieżki o długości do pięciu połączeń, które używają linii "red" dla trasy zewnętrznej oraz linii "blue" dla trasy zwracanej. Funkcja all() gwarantuje, że wszystkie krawędzie w krawędzi zmiennej długości są częścią tego samego wiersza, "red" lub "blue".
Uruchom zapytania
let connections = datatable(from_station:string, to_station:string, line:string)
[
"Central", "North", "red",
"North", "Central", "red",
"Central", "South", "red",
"South", "Central", "red",
"South", "South-West", "red",
"South-West", "South", "red",
"South-West", "West", "red",
"West", "South-West", "red",
"Central", "East", "blue",
"East", "Central", "blue",
"Central", "West", "blue",
"West", "Central", "blue",
];
connections
| make-graph from_station --> to_station with_node_id=station
| graph-match (start)-[outward*1..5]->(destination)-[return*1..5]->(start)
where start.station != destination.station and
all(outward, line == "red") and
all(return, line == "blue")
project from = start.station,
outward_stations = strcat_array(map(inner_nodes(outward), station), "->"),
to = destination.station,
return_stations = strcat_array(map(inner_nodes(return), station), "->"),
back=start.station
wyjściowe
| z | outward_stations | do | return_stations | Wstecz |
|---|---|---|---|---|
| Centralny | Północno->środkowa>Południowa>South-West | Zachód | Centralny | |
| Zachód | Południowo-zachodni ->Południowe->Środkowe>Północ | Centralny | Zachód | |
| Centralny | Południowo->South-West | Zachód | Centralny | |
| Zachód | Południowo-zachodni ->Południe | Centralny | Zachód | |
| Centralny | Północno->środkowa>Południowa>South-West | Zachód | Środkowy—>Wschód | Centralny |
| Zachód | Południowo-zachodni ->Południowe->Środkowe>Północ | Centralny | Wschodnie>Środkowe | Zachód |
| Centralny | Południowo->South-West | Zachód | Środkowy—>Wschód | Centralny |
| Zachód | Południowo-zachodni ->Południe | Centralny | Wschodnie>Środkowe | Zachód |
W poniższym przykładzie pokazano, jak używać operatora graph-shortest-paths z funkcjami all() i inner_nodes, aby znaleźć ścieżkę między dwiema stacjami w sieci transportowej. Zapytanie tworzy graf z danych connections i znajduje najkrótszą ścieżkę ze stacji "South-West" do stacji "North", przechodząc przez stacje, w których jest dostępna Wi-Fi.
Uruchom zapytania
let connections = datatable(from_station:string, to_station:string, line:string)
[
"Central", "North", "red",
"North", "Central", "red",
"Central", "South", "red",
"South", "Central", "red",
"South", "South-West", "red",
"South-West", "South", "red",
"South-West", "West", "red",
"West", "South-West", "red",
"Central", "East", "blue",
"East", "Central", "blue",
"Central", "West", "blue",
"West", "Central", "blue",
];
let stations = datatable(station:string, wifi: bool)
[
"Central", true,
"North", false,
"South", false,
"South-West", true,
"West", true,
"East", false
];
connections
| make-graph from_station --> to_station with stations on station
| graph-shortest-paths (start)-[connections*2..5]->(destination)
where start.station == "South-West" and
destination.station == "North" and
all(inner_nodes(connections), wifi)
project from = start.station,
stations = strcat_array(map(inner_nodes(connections), station), "->"),
to = destination.station
wyjściowe
| z | Stacje | do |
|---|---|---|
| South-West (Południowy zachód) | Zachodnia>Środkowa | Północ |
Powiązana zawartość
- operatory programu Graph
- operator dopasowania grafu
- operator grafów najkrótszych ścieżek
- inner_nodes()