연산자는 graph-mark-components 그래프의 연결된 모든 구성 요소를 찾아 각 노드에 구성 요소 식별자를 표시합니다.
참고 항목
이 연산자는 make-graph 연산자함께 사용됩니다.
구문
G|graph-mark-components [kind= Kind] [with_component_id=ComponentId]
매개 변수
| 이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
| G | 문자열 | ✔️ | 그래프 원본입니다. |
| 종류 | 문자열 | 연결된 구성 요소 종류 weak (기본값) 또는 strong. 약한 구성 요소는 가장자리의 방향을 무시하고 경로로 연결된 노드 집합입니다. 강력한 구성 요소는 가장자리의 방향을 고려하여 양방향으로 연결된 노드 집합입니다. |
|
| ComponentId | 문자열 | 구성 요소 식별자를 나타내는 속성 이름입니다. 기본 속성 이름은 .입니다 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
출력
| 이름 | 제품군 |
|---|---|
| 앨리스 | 0 |
| 밥 | 0 |
| 캐럴 | 0 |
| 데이브 | 0 |
| 그렉 | 0 |
| 워드 | 0 |
| 이브 | 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 = map(childOf, child), family = ancestor.family
| summarize (generations, name) = arg_max(array_length(lineage),name) by family
출력
| 제품군 | 세대 | 이름 |
|---|---|---|
| 1 | 2 | Mallory |
| 0 | 2 | 밥 |