Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
A all() função gráfica avalia uma condição para cada aresta ou nó interno ao longo de um caminho de comprimento variável .
Observação
Esta função é usada com os operadores graph-match e graph-shortest-paths .
Sintaxe
all(
borda,condição)
all(inner_nodes(
borda),condição)
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| borda | string |
✔️ | Uma aresta de comprimento variável do operador de correspondência gráfica ou do padrão de operador de caminhos mais curtos do gráfico . Para obter mais informações, consulte Notação de padrão gráfico. |
| condição | string |
✔️ | Uma expressão booleana composta de propriedades da borda ou nó interno, quando inner_nodes é usado, na borda de comprimento variável. Uma propriedade é referenciada usando o nome da propriedade diretamente. A expressão é avaliada para cada aresta ou nó interno na borda de comprimento variável. |
Devoluções
Retorna true se a condição for avaliada para true cada borda ou nó interno, quando inner_nodes for usada, na borda de comprimento variável. Caso contrário, ele retorna false.
Para caminhos de comprimento zero, a condição é avaliada como true.
Exemplos
O exemplo a seguir mostra como usar o graph-match operador com a all() função para encontrar todos os caminhos de ida e volta entre duas estações em uma rede de transporte. Ele usa uma linha diferente para cada direção. A consulta constrói um gráfico a connections partir dos dados, localizando todos os caminhos de até cinco conexões que usam a "red" linha para a rota de saída e a "blue" linha para a rota de retorno. A all() função garante que todas as bordas na borda de comprimento variável façam parte da mesma linha, ou "red""blue".
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
Realização
| de | outward_stations | Para | return_stations | Voltar |
|---|---|---|---|---|
| Centro | Norte-Centro-Sul>>->South-West | Oeste | Centro | |
| Oeste | Sudoeste-Sul-Centro-Norte>>> | Centro | Oeste | |
| Centro | Sul->South-West | Oeste | Centro | |
| Oeste | Sudoeste-Sul> | Centro | Oeste | |
| Centro | Norte-Centro-Sul>>->South-West | Oeste | Centro-Leste> | Centro |
| Oeste | Sudoeste-Sul-Centro-Norte>>> | Centro | Centro-Leste> | Oeste |
| Centro | Sul->South-West | Oeste | Centro-Leste> | Centro |
| Oeste | Sudoeste-Sul> | Centro | Centro-Leste> | Oeste |
O exemplo a seguir mostra como usar o graph-shortest-paths operador com as all() funções e inner_nodes para encontrar um caminho entre duas estações em uma rede de transporte. A consulta constrói um gráfico a connections partir dos dados e encontra o caminho mais curto da "South-West" estação para a "North" estação, passando pelas estações onde Wi-Fi está disponível.
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
Realização
| de | estações | Para |
|---|---|---|
| South-West | Centro-Oeste> | Norte |