.QL
.QL이 기사의 주제는 위키피디아의 일반적인 공신력 가이드라인을 충족하지 못할 수 있다.– · · · 학자· (2012년 12월)(이 템플릿 학습 |
| 패러다임 | 다중 중심, 논리 중심, 객체 지향적 |
|---|---|
| 개발자 | 셈글 |
| 첫 등장 | 2007 |
| 타이핑 규율 | 정적인 |
| 주요 구현 | |
| SemmleCode | |
| 영향을 받은 | |
| 데이터로그 | |
.QL("dot-cue-el"로 발음됨)은 관계형 데이터베이스 관리 시스템에서 데이터를 검색하는 데 사용되는 객체 지향 쿼리 언어다.표준 쿼리 언어 SQL과 객체 지향 프로그래밍 언어 자바를 연상시킨다.QL은 데이터로그(Datalog)라는 논리 쿼리 언어의 객체 지향 변종이다.따라서 계층적 데이터는 에서 자연스럽게 쿼리할 수 있다.QL을 반복해서 말한다.null
에 기록된 쿼리.QL은 최적화되어 SQL로 컴파일되며, 이후 모든 주요 관계형 데이터베이스 관리 시스템에서 실행될 수 있다.QL 쿼리 언어는 Java 프로그램의 관계적 표현을 쿼리하기 위해 SemmleCode에서 사용되고 있다.null
.QL은 Semmle Limited에서 개발되었으며 이 회사의 독점 기술을 기반으로 한다.null
언어 기능
.QL에는 다음과 같은 몇 가지 언어 특징이 있어 쿼리를 간결하고 직관적이며 재사용할 수 있다.
- 확장형 계층 구조
- 방법 및 술어
- 사용 전 정의
쿼리 예
아래의 샘플 쿼리는 의 사용을 예시한다.QL: Java 프로그램 쿼리10개 이상의 공개 방법을 포함하는 모든 클래스를 선택하는 방법은 다음과 같다.
로부터 클래스 c, 인트로 NumofMethods 어디에 NumofMethods = 수를 세다(방법 m m.getDeclaringType()=c 그리고 m.hasModifier("공용")) 그리고 NumofMethods > 10 선발하다 c.getPackage(), c, NumofMethods 실제로 이 쿼리는 10개 이상의 공개 방법을 가진 모든 클래스는 물론 해당 패키지와 각 클래스가 보유한 방법의 개수를 선택한다.null
참고 항목
- SQL - 구조화된 쿼리 언어
- OQL - 개체 쿼리 언어
- 데이터로그 - 로직 프로그래밍 언어
- SemmleCode - 를 사용하는 소프트웨어 테스트 도구.QL 언어
참조
- 헤르베 갈레르와 잭 밍커.논리 및 데이터베이스.1978년 뉴욕의 플레넘 프레스
- 세르게이 아비테불과 파리 C.카넬라키스.쿼리 언어 원시로서의 개체 ID.SGIMOD Rec에서, ACM Press, 1989년 159–173페이지.
- 외게 드 무어, 엘나르 하지예프, 마티외 베르베레.소프트웨어 시스템에 대한 개체 지향 쿼리.2007년 ACM SIG플랜 심포지엄 부분평가 및 의미기반 프로그램 조작에 관한 절차(PEPM), 91페이지 ACM Press, 2007.
외부 링크
- 의 Semmle Limited 크리에이터.QL