맨위로가기

질의 언어

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

질의 언어는 데이터베이스 질의 언어와 정보 검색 질의 언어로 분류할 수 있다. 데이터베이스 질의 언어는 사실에 대한 질문에 사실 기반의 답을 제공하며, 정보 검색 질의 언어는 질의와 관련된 정보를 포함하는 문서를 검색한다. 질의 언어에는 전체 텍스트, 부울, 구조적, 자연어 등이 있으며, .QL, Cypher, Gremlin, GraphQL, SQL, SPARQL, XQuery, XPath, LINQ 등 다양한 예시가 존재한다.

더 읽어볼만한 페이지

  • 컴퓨터 언어 - 데이터베이스 언어
    데이터베이스 언어는 데이터베이스를 조작하고 관리하기 위한 언어로서 데이터 조작 언어(DML), 데이터 정의 언어(DDL), 데이터 제어 언어(DCL)로 나뉘며, SQL은 이 모든 요소를 통합하고 질의어와는 구별된다.
  • 컴퓨터 언어 - 명세 언어
    명세 언어는 프로그램의 작동 방식 대신 수행할 기능에 집중하여 데이터와 함수들의 모음으로 시스템을 표현하는 언어이며, 프로그램 정확성 검증에 활용되지만, 형식적이지 않은 명세는 논리적 гарантии 부족으로 오해의 소지가 있다.
  • 프로그래밍 언어 분류 - 하드웨어 기술 언어
    하드웨어 기술 언어(HDL)는 전자 시스템의 구조와 동작을 텍스트 기반으로 표현하는 언어로, 디지털 회로 설계의 핵심 도구로 사용되며, 시뮬레이션 및 디버깅을 통해 설계 검증을 수행한다.
  • 프로그래밍 언어 분류 - 고급 프로그래밍 언어
    고급 프로그래밍 언어는 기계어보다 높은 수준의 추상화를 제공하며, 변수, 객체, 함수 등의 개념을 사용하여 프로그래머가 기계의 세부 사항에서 분리되어 편리하게 프로그래밍할 수 있도록 하는 언어이다.
  • 질의 언어 - 임베디드 SQL
    임베디드 SQL은 호스트 프로그래밍 언어 내에 SQL 문을 삽입하여 데이터베이스와 상호 작용하는 기술로, 데이터베이스 액세스를 표준화하지만 보안 취약점과 이식성 저하의 단점도 가진다.
  • 질의 언어 - XQuery
    XQuery는 함수형 프로그래밍 패러다임을 지원하며 XPath 식 구문의 상위 집합을 포함하는 XML 데이터 추출 및 조작을 위한 쿼리 언어로서, FLWOR 식을 통해 XML 데이터 조작 및 새로운 XML 문서 구성을 지원하고 XQuery 및 XPath 데이터 모델(XDM)을 기반으로 한다.
질의 언어

2. 종류

질의 언어는 크게 데이터베이스 질의 언어와 정보 검색 질의 언어로 나눌 수 있다. 데이터베이스 질의 언어는 사실에 대한 질문에 사실로 답변하는 반면, 정보 검색 질의 언어는 질의와 관련된 정보를 포함하는 문서를 검색한다.

질의 언어의 종류는 다음과 같다.


  • SQL
  • 예시를 통한 질의 (QBE)
  • QUEL
  • Tutorial D
  • XQuery
  • SPARQL - RDF 형식의 데이터에 대한 질의 언어
  • LINQ - C#나 VB.NET 등의 언어 내 확장

2. 1. 질의 언어의 유형

질의 언어는 크게 데이터베이스 질의 언어와 정보 검색 질의 언어로 나눌 수 있다. 데이터베이스 질의 언어는 사실에 대한 질문에 사실로 답변하는 반면, 정보 검색 질의 언어는 질의와 관련된 정보를 포함하는 문서를 검색한다.

질의 언어의 유형은 다음과 같다.

  • '''전체 텍스트''': 가장 간단한 질의어는 모든 용어를 역 인덱스의 게시물과 일치하는 단어 묶음으로 취급하고, 순위 모델을 적용하여 관련성이 높은 문서를 검색한다. 웹 검색 엔진은 종종 이 방식을 사용한다.
  • '''부울''': 부울 연산자 AND, OR, NOT의 사용을 지원하는 질의어이다.
  • '''구조적''': 문서가 구조화되어 있고 문서 구조를 사용하여 인덱싱된 경우, (조합된) 필드 내에서 검색을 지원하는 언어이다.
  • '''자연어''': 질의 응답 시스템 또는 대화형 검색과 같이 관련 문서를 검색하는 데 가장 잘 사용할 수 있는 형태로 자연어 질의를 구문 분석하여 자연어를 지원하는 질의어이다.
  • SQL
  • 예시를 통한 질의 (QBE)
  • QUEL
  • Tutorial D
  • XQuery
  • SPARQL - RDF 형식의 데이터에 대한 질의 언어
  • LINQ - C#나 VB.NET 등의 언어 내 확장

3. 질의 언어 예시

질의 언어는 그 종류가 매우 다양하며, 특정한 목적이나 데이터 형식에 맞춰 사용된다. 대표적인 질의 언어는 다음과 같다.


  • 데이터베이스 질의 언어: 데이터베이스 관리 시스템(DBMS)에서 데이터를 검색, 삽입, 수정, 삭제하기 위해 사용되는 언어이다.
  • 정보 검색 질의 언어: 대규모 텍스트 데이터에서 원하는 정보를 찾기 위해 사용되는 언어이다.
  • 기타 질의 언어: 위에 언급된 두 가지 범주 외에 다양한 목적을 가진 질의 언어들이 존재한다.

3. 1. 데이터베이스 질의 언어

질의 언어설명
.QL관계형 데이터베이스를 질의하기 위한 독점적인 객체 지향 질의 언어이다. Datalog의 후속 언어이다.
AQLArangoDB 네이티브 다중 모델 데이터베이스 시스템을 위한 질의 언어이다.
Attempto Controlled English제어된 자연어이기도 한 질의 언어이다.[2]
CodeQL개발자가 보안 검사를 자동화하고 보안 연구자가 GitHub에서 변형 분석을 수행하는 데 사용하는 분석 엔진이다.
CQL웹 인덱스 또는 서지 카탈로그와 같은 정보 검색 시스템에 대한 질의를 표현하기 위한 공식 언어이다.
사이퍼Neo4j 그래프 데이터베이스를 위한 질의 언어이다.
Datalog연역적 데이터베이스를 위한 질의 언어이다.
DMX데이터 마이닝 모델을 위한 질의 언어이다.
F-logic연역적 데이터베이스 및 지식 표현을 위한 선언적 객체 지향 언어이다.
FQLSQL 스타일의 인터페이스를 사용하여 Graph API에서 노출된 데이터를 질의할 수 있다. Graph API에서 사용할 수 없는 고급 기능을 제공한다.[3]
Gellish EnglishGellish English 데이터베이스, 대화 (요청 및 응답)뿐만 아니라 정보 모델링 및 지식 모델링에서 질의에 사용할 수 있는 언어이다.[4]
그렘린OLTP 및 OLAP 그래프 시스템을 위한 Apache Software Foundation 그래프 트래버스 언어이다.
그래프QLREST 및 임시 웹 서비스 아키텍처를 대체하기 위해 Facebook에서 개발한 데이터 질의 언어이다.
HTSQLHTTP 질의를 SQL로 변환하는 질의 언어이다.
ISBL최초의 관계형 데이터베이스 관리 시스템 중 하나인 PRTV를 위한 질의 언어이다.
Jaql주로 JSON 질의 처리에 사용되는 기능적 데이터 처리 및 질의 언어이다.
jq하나 이상의 JSON 문서 (매우 큰 문서 포함)에 대한 질의를 처리하는 데 자주 사용되는 기능적 프로그래밍 언어이다.
JSONiqJSON 문서 모음을 위해 설계된 선언적 질의 언어이다.
LDAPTCP/IP를 통해 실행되는 디렉터리 서비스를 질의하고 수정하기 위한 응용 프로그램 프로토콜이다.
LogiQLDatalog의 변형이며 LogicBlox 시스템을 위한 질의 언어이다.
M Formula languageMicrosoft의 Power Query에서 사용되는 매시업 질의 언어이다.
MQL명목적 속성 외에도 수치적 속성을 허용하는 하부 구조 검색을 위한 화학 정보학 질의 언어이다.
MDXOLAP 데이터베이스를 위한 질의 언어이다.
N1QLCouchbase가 Couchbase Server에서 데이터를 찾는 질의 언어이다.
OQL객체 지향 데이터베이스를 위한 질의 언어이다.
OCL이름에도 불구하고 OCL은 객체 질의 언어이자 OMG 표준이기도 하다.
OPathWinFS Store를 질의하는 데 사용된다.
Poliqarp 쿼리 언어주석이 달린 텍스트를 분석하기 위해 설계된 특수 질의 언어이다. Poliqarp 검색 엔진에서 사용된다.
PQL이러한 모델이 설명하는 시나리오에 대한 정보를 기반으로 프로세스 모델을 관리하기 위한 특수 목적 프로그래밍 언어이다.
PRQL[https://prql-lang.org/ PRQL] (파이프라인 관계형 질의 언어)은 데이터를 변환하기 위한 현대적인 언어이다. 파이프라인을 형성하기 위해 함께 결합된 큐레이션된 직교 변환 집합으로 구성된다.
PTQL프로그램 추적에 대한 관계형 질의를 기반으로 하며, 프로그래머가 프로그램 동작에 대한 표현적이고 선언적인 질의를 작성할 수 있다.
QUELSQL과 대부분 유사한 관계형 데이터베이스 접근 언어이다.
RDQLRDF 질의 언어이다.
ReQLRethinkDB를 위한 질의 언어이다.
SMARTS하부 구조 검색을 위한 화학 정보학 표준이다.
SPARQLRDF 그래프를 위한 질의 언어이다.
SQL잘 알려진 관계형 데이터베이스를 위한 질의 언어이자 데이터 조작 언어이다.
TMQL토픽 맵 데이터에 대한 질의 언어이다.
XQueryXML 데이터 소스를 위한 질의 언어이다.
XPathXML 문서를 탐색하기 위한 선언적 언어이다.
XSPARQLSPARQL 및 XQuery를 통합하기 위한 언어이다.
YQLYahoo!에서 만든 SQL과 유사한 질의 언어이다.
검색 엔진 질의 언어예를 들어 구글[5] 또는 Bing에서 사용한다.[6]
예시를 통한 질의 (QBE, Query by Example)관계형 데이터베이스에서 데이터를 검색하기 위한 질의 언어이다.
Tutorial D관계형 모델에 기반한 데이터베이스 질의 언어이다.
LINQC#나 VB.NET 등의 언어 내 확장이다.


3. 2. 정보 검색 질의 언어

질의 언어는 데이터베이스 질의 언어와 정보 검색 질의 언어로 나눌 수 있다. 데이터베이스 질의 언어는 사실에 기반한 질문에 대한 사실적인 답변을 제공하는 반면, 정보 검색 질의 언어는 질의와 관련된 정보를 포함하는 문서를 찾는 것을 목표로 한다.

정보 검색 질의 언어의 유형은 다음과 같다.

  • '''전체 텍스트''': 역 인덱스를 활용하여 단어 묶음을 일치시키고, 순위 모델을 적용하여 관련성이 높은 문서를 검색한다. 웹 검색 엔진에서 주로 사용된다.
  • '''부울''': 부울 연산자 (AND, OR, NOT)를 사용하여 검색을 지원한다.
  • '''구조적''': 문서 구조를 활용하여 필드 내에서 검색을 지원한다.
  • '''자연어''': 자연어 질의를 분석하여 관련 문서를 검색한다. 질의 응답 시스템이나 대화형 검색에 유용하다.


이 외에도 다양한 정보 검색 질의 언어들이 존재한다.

  • Attempto Controlled English는 제어된 자연어이기도 한 질의 언어이다.[2]
  • CQL는 웹 인덱스나 서지 카탈로그와 같은 정보 검색 시스템에 대한 질의를 표현하기 위한 공식 언어이다.
  • Poliqarp 쿼리 언어는 주석이 달린 텍스트를 분석하기 위해 설계된 특수 질의 언어이며, Poliqarp 검색 엔진에서 사용된다.
  • 검색 엔진 질의 언어 (예: 구글[5], Bing[6])

3. 3. 기타 질의 언어


  • .QL
  • CQLF (CODYASYL Query Language, Flat)
  • 사이퍼
  • 그렘린
  • 그래프QL
  • HTSQL
  • ISBL
  • LINQ
  • LDAP
  • LogiQL
  • N1QL
  • WinFS
  • OttoQL
  • PQL
  • QUEL
  • RDQL
  • ReQL
  • SPARQL
  • SQL
  • TMQL
  • XQuery
  • XPath
  • XSPARQL
  • OQL
  • Attempto Controlled English는 제어된 자연어이기도 한 질의 언어이다.[2]
  • AQL은 ArangoDB 네이티브 다중 모델 데이터베이스 시스템을 위한 질의 언어이다.
  • .QL은 관계형 데이터베이스를 질의하기 위한 독점적인 객체 지향 질의 언어이며, Datalog의 후속 언어이다.
  • CodeQL은 개발자가 보안 검사를 자동화하고 보안 연구자가 GitHub에서 변형 분석을 수행하는 데 사용하는 분석 엔진이다.
  • CQL (Contextual Query Language)는 웹 인덱스 또는 서지 카탈로그와 같은 정보 검색 시스템에 대한 질의를 표현하기 위한 공식 언어이다.
  • Cypher는 Neo4j 그래프 데이터베이스를 위한 질의 언어이다.
  • DMX는 데이터 마이닝 모델을 위한 질의 언어이다.
  • Datalog는 연역적 데이터베이스를 위한 질의 언어이다.
  • F-logic는 연역적 데이터베이스 및 지식 표현을 위한 선언적 객체 지향 언어이다.
  • FQL을 사용하면 SQL 스타일의 인터페이스를 사용하여 Graph API에서 노출된 데이터를 질의할 수 있으며, Graph API에서 사용할 수 없는 고급 기능을 제공한다.[3]
  • Gellish English는 Gellish English 데이터베이스, 대화 (요청 및 응답)뿐만 아니라 정보 모델링 및 지식 모델링에서 질의에 사용할 수 있는 언어이다.[4]
  • Gremlin은 OLTP 및 OLAP 그래프 시스템을 위한 Apache Software Foundation 그래프 트래버스 언어이다.
  • GraphQLREST 및 임시 웹 서비스 아키텍처를 대체하기 위해 Facebook에서 개발한 데이터 질의 언어이다.
  • HTSQL은 HTTP 질의를 SQL로 변환하는 질의 언어이다.
  • ISBL은 최초의 관계형 데이터베이스 관리 시스템 중 하나인 PRTV를 위한 질의 언어이다.
  • Jaql은 주로 JSON 질의 처리에 사용되는 기능적 데이터 처리 및 질의 언어이다.
  • jq는 하나 이상의 JSON 문서 (매우 큰 문서 포함)에 대한 질의를 처리하는 데 자주 사용되는 기능적 프로그래밍 언어이다.
  • JSONiq는 JSON 문서 모음을 위해 설계된 선언적 질의 언어이다.
  • LDAP는 TCP/IP를 통해 실행되는 디렉터리 서비스를 질의하고 수정하기 위한 응용 프로그램 프로토콜이다.
  • LogiQL은 Datalog의 변형이며 LogicBlox 시스템을 위한 질의 언어이다.
  • M Formula language, Microsoft의 Power Query에서 사용되는 매시업 질의 언어
  • MQL은 명목적 속성 외에도 수치적 속성을 허용하는 하부 구조 검색을 위한 화학 정보학 질의 언어이다.
  • MDX는 OLAP 데이터베이스를 위한 질의 언어이다.
  • N1QL은 Couchbase가 Couchbase Server에서 데이터를 찾는 질의 언어이다.
  • 객체 질의 언어
  • OCL (Object Constraint Language). 이름에도 불구하고 OCL은 객체 질의 언어이자 OMG 표준이기도 하다.
  • OPath는 WinFS ''Store''를 질의하는 데 사용된다.
  • Poliqarp 쿼리 언어는 주석이 달린 텍스트를 분석하기 위해 설계된 특수 질의 언어이며, Poliqarp 검색 엔진에서 사용된다.
  • PQL은 이러한 모델이 설명하는 시나리오에 대한 정보를 기반으로 프로세스 모델을 관리하기 위한 특수 목적 프로그래밍 언어이다.
  • PRQL [https://prql-lang.org/ PRQL] (파이프라인 관계형 질의 언어)은 데이터를 변환하기 위한 현대적인 언어이며, 파이프라인을 형성하기 위해 함께 결합된 큐레이션된 직교 변환 집합으로 구성된다.
  • PTQL은 프로그램 추적에 대한 관계형 질의를 기반으로 하며, 프로그래머가 프로그램 동작에 대한 표현적이고 선언적인 질의를 작성할 수 있다.
  • QUEL은 SQL과 대부분 유사한 관계형 데이터베이스 접근 언어이다.
  • RDQL은 RDF 질의 언어이다.
  • SMARTS는 하부 구조 검색을 위한 화학 정보학 표준이다.
  • SPARQLRDF 그래프를 위한 질의 언어이다.
  • SQL은 잘 알려진 관계형 데이터베이스를 위한 질의 언어이자 데이터 조작 언어이다.
  • XQuery는 XML 데이터 소스를 위한 질의 언어이다.
  • XPath는 XML 문서를 탐색하기 위한 선언적 언어이다.
  • YQL은 Yahoo!에서 만든 SQL과 유사한 질의 언어이다.
  • 검색 엔진 질의 언어, 예를 들어 구글[5] 또는 Bing에서 사용한다.[6]
  • 예시를 통한 질의 (QBE, Query by Example)
  • QUEL
  • Tutorial D
  • XQuery
  • SPARQL - RDF 형식의 데이터에 대한 질의 언어
  • LINQ - C#나 VB.NET 등의 언어 내 확장

참조

[1] 논문 QQL: A DB&IR Query Language https://link.springe[...] 2008-01
[2] 간행물 Attempto Controlled English Meets the Challenges of Knowledge Representation, Reasoning, Interoperability and User Interfaces http://attempto.ifi.[...] 2006
[3] 웹사이트 FQL Overview https://developers.f[...] 2013-12-11
[4] 문서 http://gellish.wiki.[...]
[5] 웹사이트 Search operators https://support.goog[...] Google Inc. 2015-08-22
[6] 웹사이트 Bing Query Language https://msdn.microso[...] Microsoft 2010-06-22



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com