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 any() 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
any(
borda,condição)
any(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 pelo menos uma borda ou nó interno, quando inner_nodes for usada, na borda de comprimento variável. Caso contrário, ele retornará false.
Para caminhos de comprimento zero, a condição é avaliada como false.
Exemplos
O exemplo a seguir usa as Locations tabelas e Routes data para construir um gráfico que localiza caminhos de um local de origem para um local de destino por meio de um routearquivo . Ele usa any() a função para encontrar caminhos que usam "Train" o método de transporte pelo menos uma vez. Ele retorna o nome do local de origem, o nome do local de destino e os métodos de transporte ao longo da rota.
// Locations table (nodes)
let Locations = datatable(LocationName: string, LocationType: string) [
"New York", "City",
"San Francisco", "City",
"Chicago", "City",
"Los Angeles", "City",
"Seattle", "Warehouse"
];
// Routes table (edges)
let Routes = datatable(OriginLocationID: string, DestinationLocationID: string, TransportMode: string) [
"New York", "San Francisco", "Truck",
"New York", "Chicago", "Train",
"San Francisco", "Los Angeles", "Truck",
"Chicago", "Seattle", "Train",
"Los Angeles", "New York", "Truck",
"Seattle", "San Francisco", "Train"
];
Routes
| make-graph OriginLocationID --> DestinationLocationID with Locations on LocationName
| graph-match (src)-[route*1..2]->(dest)
where any(route, TransportMode == "Train")
project src.LocationName,
dest.LocationName,
route_TransportModes = map(route, TransportMode)
Realização
| src_LocationName | dest_LocationName | route_TransportModes |
|---|---|---|
| Seattle | São Francisco | ["Comboio"] |
| São Paulo | Seattle | ["Comboio"] |
| Nova Iorque | São Paulo | ["Comboio"] |
| Seattle | Los Angeles | [ "Comboio", "Camião" ] |
| São Paulo | São Francisco | [ "Comboio", "Comboio" ] |
| Nova Iorque | Seattle | [ "Comboio", "Comboio" ] |
| Los Angeles | São Paulo | [ "Camião", "Comboio" ] |
O exemplo a seguir mostra como usar o graph-shortest-paths operador com as any() 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 por pelo menos uma estação 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-match cycles=none (start)-[connections*2..5]->(destination)
where start.station == "South-West" and
destination.station == "North" and
any(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-Sul> | Norte |
| South-West | Centro-Oeste> | Norte |