다음을 통해 공유


GQL(그래프 쿼리 언어)(미리 보기)

버전 드롭다운 목록을 사용하여 서비스를 전환합니다. 탐색에 대해 자세히 알아봅니다.
적용 대상: ✅ Microsoft Fabric ✅ Azure Data Explorer

GQL(그래프 쿼리 언어)을 사용하면 표준화된 그래프 패턴 일치를 사용할 수 있습니다. GQL은 그래프 데이터베이스 쿼리에 대한 ISO GQL 표준을 따릅니다.

비고

GQL 지원은 미리 보기로 제공됩니다. 기능 및 구문은 피드백 및 지속적인 개발에 따라 변경 될 수 있습니다.

소개

GQL(그래프 쿼리 언어)은 그래프 데이터베이스를 쿼리하기 위한 새로운 ISO 표준입니다. GQL을 사용하면 그래프 패턴 일치에 SQL과 유사한 구문을 사용할 수 있으므로 데이터의 관계를 보다 쉽게 분석할 수 있습니다. 이 문서에서는 GQL을 사용하는 방법, GQL의 이점 및 주요 기능을 설명합니다.

GQL은 ISO 표준 구문을 사용하여 데이터의 관계를 분석하기 위한 표준화된 그래프 패턴 일치 기능을 제공합니다.

시작하기

GQL을 사용하려면 다음이 필요합니다.

  • 그래프 모델 또는 make-graph 연산자로 끝나는 임시 그래프를 반환하는 함수인 그래프 데이터 원본입니다(1단계 참조).
  • 특정 클라이언트 요청 속성을 설정합니다(2단계 참조).

1단계: 그래프 참조 만들기

GQL을 사용하기 전에 그래프 데이터 원본을 만듭니다. 이 문서에서는 메모리 내 make-graph 연산자를 사용하지만 프로덕션 시나리오에 그래프 스냅샷을 사용하는 것이 좋습니다.

.create-or-alter function G_doc() {
    let nodes = datatable(id:string, lbl:string, name:string, properties:dynamic)
    [
        "p1","Person","Alice",dynamic({"age": 25}),
        "p2","Person","Bob",dynamic({"age": 30}),
        "p3","Person","Carol",dynamic({"age": 28}),
        "p4","Person","David",dynamic({"age": 35}),
        "p5","Person","Emma",dynamic({"age": 26}),
        "c1","Company","TechCorp",,
        "c2","Company","DataSoft",,
        "c3","Company","CloudInc",,
        "ct1","City","Seattle",,
        "ct2","City","Portland",,
        "ct3","City","San Francisco",
    ];
    let edges = datatable(source:string, target:string, lbl:string, since:int)
    [
        "p1","c1","works_at",2020,
        "p2","c1","works_at",2022,
        "p3","c2","works_at",2023,
        "p4","c3","works_at",2021,
        "p5","c1","works_at",2024,
        "p1","ct1","located_at",2019,
        "p2","ct1","located_at",2021,
        "p3","ct2","located_at",2022,
        "p4","ct3","located_at",2020,
        "p5","ct2","located_at",2023,
        "c1","ct1","located_at",2015,
        "c2","ct2","located_at",2018,
        "c3","ct3","located_at",2017,
        "p1","p2","knows",2019,
        "p2","p3","knows",2021,
        "p3","p4","knows",2022,
        "p4","p5","knows",2023,
        "p1","p4","likes",2020,
        "p4","p1","likes",2020,
        "p5","p2","likes",2022
    ];
    edges
    | make-graph source --> target with nodes on id
}

2단계: 클라이언트 요청 속성 구성

GQL 쿼리를 실행하려면 세 개의 클라이언트 요청 속성을 설정합니다. 지시문을 사용하여 SDK, API 또는 Kusto Explorer 또는 Azure Data Explorer 웹 UI 에서 직접 이러한 속성을 설정합니다.

GQL 쿼리를 실행하려면 세 개의 클라이언트 요청 속성을 설정합니다. 지시문을 사용하여 SDK, API 또는 Kusto Explorer 또는 KQL 쿼리 세트에서 직접 이러한 속성을 설정합니다.

클라이언트 요청 속성 설정

중요합니다

GQL 쿼리를 실행하기 전에 각 지시문을 개별적으로 실행합니다. 지시문은 GQL 실행을 위한 쿼리 환경을 설정합니다.

#crp query_language=gql
#crp query_graph_reference=G_doc()

GQL에서 레이블을 사용하려면 레이블 열 이름을 설정합니다.

#crp query_graph_label_name=lbl

팁 (조언)

레이블은 GQL에서 선택 사항이지만 형식별로 노드 및 가장자리를 필터링하는 데 자주 사용됩니다. GQL 쿼리에서 레이블을 사용하도록 레이블 열 이름을 설정합니다.

프로그래밍 방식으로 클라이언트 요청 속성 설정

프로그래밍 방식 액세스의 경우 다음 클라이언트 요청 속성을 설정합니다.

  • query_language: 로 "gql"설정합니다.
  • query_graph_reference: 그래프 함수 이름(예: "G_doc()")으로 설정합니다.
  • query_graph_label_name: 레이블 열 이름(예: "lbl")으로 설정합니다.

3단계: GQL 쿼리 실행

설치를 완료한 후 표준 GQL 구문을 사용하여 GQL 쿼리를 실행합니다. 아래 예제를 사용하여 기본 및 고급 GQL 기능을 탐색합니다.

예시

여기에서 패턴 일치 및 레이블에 대한 기본 예제를 찾습니다. 더 복잡한 예제는 GQL 쿼리 패턴, 예제 및 일반적인 시나리오를 참조하세요. 기본 사항 및 함수 세부 정보를 포함한 참조 설명서는 GQL(그래프 쿼리 언어) 참조를 참조하세요.

기본 패턴 일치에 대한 예제 GQL 쿼리

MATCH (n)-[e]->(n2)
RETURN COUNT(*) as CNT

출력

다음 표에서는 쿼리의 결과를 보여줍니다.

CNT
20

레이블이 있는 예제 GQL 쿼리

MATCH (p:Person)-[e]->(target)
RETURN p.name, target.name, e.lbl
ORDER BY p.name, target.name
LIMIT 2

출력

다음 표에서는 쿼리의 결과를 보여줍니다.

p.name target.name e.lbl
앨리스 알고
앨리스 다윗 좋아하는