다음을 통해 공유


graph-mark-components 연산자(미리 보기)

적용 대상: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

연산자는 graph-mark-components 그래프의 연결된 모든 구성 요소를 찾아 각 노드에 구성 요소 식별자를 표시합니다.

참고 항목

이 연산자는 make-graph 연산와 함께 사용됩니다.

구문

G graph-mark-components | [kind = Kind] [with_component_id = ComponentId]

매개 변수

이름 Type 필수 설명
G string ✔️ 그래프 원본입니다.
종류 string 연결된 구성 요소 종류 weak (기본값) 또는 strong. 약한 구성 요소는 가장자리의 방향을 무시하고 경로로 연결된 노드 집합입니다. 강력한 구성 요소는 가장자리의 방향을 고려하여 양방향으로 연결된 노드 집합입니다.
ComponentId string 구성 요소 식별자를 나타내는 속성 이름입니다. 기본 속성 이름은 .입니다 ComponentId.

반품

연산자는 graph-mark-components 각 노드에 ComponentId 속성의 구성 요소 식별자가 있는 그래프 결과를 반환합니다. 식별자는 구성 요소의 0부터 시작하는 연속 인덱스입니다. 각 구성 요소 인덱스는 임의로 선택되며 실행 간에 일관되지 않을 수 있습니다.

예제

관계를 통해 가족 찾기

다음 예제에서는 자식-부모 쌍 집합에서 그래프를 만들고 식별자를 사용하여 family 연결된 구성 요소를 식별합니다.

let ChildOf = datatable(child:string, parent:string) 
[ 
  "Alice", "Bob",  
  "Carol", "Alice",  
  "Carol", "Dave",  
  "Greg", "Alice",  
  "Greg", "Dave",  
  "Howard", "Alice",  
  "Howard", "Dave",  
  "Eve", "Frank",  
  "Frank", "Mallory",
  "Eve", "Kirk",
]; 
ChildOf 
| make-graph child --> parent with_node_id=name
| graph-mark-components with_component_id = family
| graph-to-table nodes

출력

name 제품군
Alice 0
Bob 0
Carol 0
Dave 0
그렉 0
Howard 0
Eve 1
솔직하다 1
Mallory 1
커크 1

각 가족에 대한 가장 큰 공통 상위 항목 찾기

다음 예제에서는 연결된 구성 요소 family 식별자 및 graph-match 연산자를 사용하여 자식-부모 데이터 집합에서 각 패밀리의 상위 상위를 식별합니다.

let ChildOf = datatable(child:string, parent:string) 
[ 
  "Alice", "Bob",  
  "Carol", "Alice",  
  "Carol", "Dave",  
  "Greg", "Alice",  
  "Greg", "Dave",  
  "Howard", "Alice",  
  "Howard", "Dave",  
  "Eve", "Frank",  
  "Frank", "Mallory",
  "Eve", "Kirk",
]; 
ChildOf 
| make-graph child --> parent with_node_id=name
| graph-mark-components with_component_id = family
| graph-match (descendant)-[childOf*1..5]->(ancestor)
  project name = ancestor.name, lineage = childOf.child, family = ancestor.family
| summarize (generations, name) = argmax(array_length(lineage),name) by family

출력

제품군 세대 name
1 2 Mallory
0 2 Bob