ONTOLOGY Pinetree Partners · GT·WT 진단 온톨로지 프로젝트 착수 교육
CHAPTER C · 저장소와 활용

조회

GraphDB에 쌓인 트리플을 SPARQL로 꺼내는 방법을 봅니다.

GraphDB 조회는 출발점 찍기 → 이동 → 읽기 순서로 진행됩니다.

GraphDB에 질문을 던질 때 쓰는 문법은 SPARQL입니다.
RDF 트리플 패턴으로 무엇을 찾을지 적고, SELECT어떤 열을 받을지 고릅니다. 아래 데모에서 같은 흐름을 단계 순서대로 따라가 보세요.

GraphDB 조회 데모

(조회 실행을 누르세요 — 출발점 찍기부터 단계가 하나씩 켜집니다)
graph:data :진동알람 :영향 :영향 :정비이력 :정비이력 :측정출처 :근거 a

알람을 출발점으로 관계를 따라가면, 관련 부품의 정비 이력·측정 센서 데이터, 관련 매뉴얼까지 한 조회로 이어집니다.

📝 SPARQL로 표현하면
PREFIX : <http://pp.com/wtg/>
SELECT ?부품 ?발생일 ?진동값 ?매뉴얼주소 ?이력주소 ?센서태그 ?데이터경로
WHERE {
GRAPH <graph:data> {
BIND(:WTG03-0613 AS ?알람)
?알람 a :진동알람 .
?알람 :영향 ?부품 . # 기어박스03 · 베어링03
?부품 :정비이력 ?이력 .
?알람 :측정출처 ?센서 .
?알람 :근거 ?매뉴얼 .
?알람 :발생일 ?발생일 .
?매뉴얼 :문서주소 ?매뉴얼주소 .
?이력 :문서주소 ?이력주소 .
?센서 :진동값 ?진동값 ;
:센서태그 ?센서태그 ;
:데이터경로 ?데이터경로 .
}
}
Text-to-SPARQL — LLM에 넣는 컨텍스트

쿼리는 Text-to-SPARQL로 만들어도, LLM이 우리 그래프 구조를 알아야 맞는 SPARQL이 나옵니다.

  • 스키마 요약 — 클래스·관계·데이터 속성 이름 (:진동알람, :영향, :발생일 …)
  • Named Graph — 조회 대상 서랍 (graph:data 등)
  • 탐색 범위 — 출발 URI(앵커) + 인근에서 따라갈 수 있는 관계·k홉 상한

결과적으로 이 컨텍스트들은 LLM이 복잡한 지식 그래프 안에서 길을 잃지 않도록 돕는 나침반 역할을 합니다. 스키마와 탐색 범위를 명확히 제한할수록 자연어 질의를 고도로 정제된 SPARQL 쿼리로 변환하는 성공률이 비약적으로 상승합니다.