조르바(XQuery 프로세서)

Zorba (XQuery processor)

ZorbaC++로 작성된 오픈 소스 쿼리 프로세서로, 구현

Zorba는 Apache License 버전 2.0에 따라 배포된다.이 프로젝트는 주로 FLWOR Foundation, Oracle, 28msec가 지원한다.

사양

Zorba는 다음과 같은 W3C 규격의 구현을 제공한다.

또한 Zorba는 다음을 구현한다.

스크립팅

스크립팅 익스텐션은 XQuery 또는 JSONiq 프로그램에서 부작용에 대한 의미론을 제공하는 개방형 규격이다.그것은 또한 그러한 프로그램 내의 필수 프로그래밍을 위한 사용자 친화적인 구문을 제공한다.다음 코드 조각은 스크립팅 구문의 예다.100보다 작은 피보나치 숫자를 모두 포함하는 시퀀스를 계산한다.

(: 변수 선언문 :) 가변적 $a 로서 xs:message := 0; 가변적 $b 로서 xs:message := 1; 가변적 $c 로서 xs:message := $a + $b; 가변적 $섬유질 로서 xs:message* := ($a, $b);  하는 동안에 ($c lt 100) {    (: 변수 할당 문 :)    $섬유질 := ($섬유질, $c);    $a := $b;    $b := $c;    $c := $a + $b; } $섬유질 

다음은 스크립팅, XQuery 및 XQuery Update를 사용한 CRUD 작업의 예.

가변적 $상점들 := 의사 선생님("store.xml")/상점들; 
(: 생성 :) 삽입하다 마디를 짓다 <저장하다><점포번호>4</점포번호><>NY</></저장>$s store로. 
(: 업데이트 :) 대체하다 가치를 매기다  마디를 짓다 $상점들/저장하다[="NY"]/매장 번호 와 함께 "5"; 
(: 삭제 :) 삭제하다 마디를 짓다 $상점들/저장하다[ != "NY"]; 
(: 읽기 :) $상점들 

데이터 정의 기능

데이터 정의 기능(Data Definition Facility)은 XQuery 또는 JSONiq 프로그램의 컬렉션 및 인덱스 같은 영구 아티팩트에 대한 의미론을 제공한다.예를 들어, 다음 코드 스니펫은 명명된 항목 집합과 해당 명명된 항목의 색인을 선언한다.

모듈 네임스페이스 g = "http://www.zorba-xquery.com/guestbook";  수입하다 모듈 네임스페이스 db = "http://www.zorba-xquery.com/modules/store/static/collections/dml";  선언하다 네임스페이스 a의 = "http://www.zorba-xquery.com/annotations";  (: 명명된 항목 컬렉션 선언:) 선언하다 수집 g:출품작 로서 요소(입장권); (: g:entries 컬렉션을 가리키는 변수를 선언:) 선언하다 가변적 $g:message := xs:QName('g:entries');  (: 항목 모음 위에 인덱스 명명 항목 선언:) 선언하다 %an:자동 %value-properties 색인을 달다 g:entry   에 관하여 노드들 db:수집(xs:QName('g:entries'))   에 의해 xs:끈을 매다(@id) 로서 xs:string; 

저장

Zorba는 플러그형 저장소를 제공하여 디스크, 데이터베이스, 브라우저 등 다양한 환경에서 사용할 수 있다.기본적으로 조르바는 메인 메모리 저장소를 갖추고 있으며 28msec몽고DB 위에 저장소를 구현한다.브라우저 프로젝트의 XQuery는 조르바를 위한 브라우저 플러그인을 구축했으며 DOM을 저장소로 활용했다.

API

Zorba는 다양한 호스트 언어를 통해 사용 가능:C++, C, XQJ / 자바, PHP, Python, C#, Ruby, 심지어 XQuery/J까지소닉.

조르바는 명령줄 도구로도 사용할 수 있다.

XQDTEclipse(IDE)용 XQuery 플러그인이다.조르바 API와 구문을 완벽하게 지원한다.

모듈

Zorba는 70개 이상의 XQuery 모듈을 제공한다.이러한 모듈 중 일부는 다음과 같다.

  • 파일 시스템, 이메일, HTTP 클라이언트, OAuth 클라이언트
  • XQuery 및 JSONiq 데이터 모델 프로세싱: 입력, 원자성 항목 및 노드.
  • 전체 텍스트: 토큰라이저, 스템머, 사우루스 조회.
  • 데이터 클리닝: 음성 유사성, 설정 유사성, 변환.
  • 데이터 변환: Base64, CSV, HTML, JSON, XML
  • 데이터 형식: XSL-FO
  • 자기성찰과 성찰
  • 암호학
  • 이미지 처리

외부 링크