Tag: flwor

Zorba “Eros” 2.6: The JSONiq Release

Tim pengembang Zorba dengan bangga mengumumkan perilisan Zorba 2.6, codename Eros. Pelepasan tersedia di bagian terlarang kami. Eros berisi beberapa fitur baru, peningkatan kinerja, dan perbaikan bug yang tersedia di ChangeLog kami.

Selama beberapa bulan, kami telah mengerjakan sebuah proyek bernama JSONiq, yang memperluas model data XQuery dengan objek dan array JSON.

Spesifikasi JSONiq sekarang telah mencapai keadaan matang dan Zorba 2.6 dikirim dengan implementasi JSONiq. Dengan kata lain, Zorba sekarang mendukung JSON secara native. XML dan JSON telah menjadi format dominan untuk pertukaran data di Internet, dan aplikasi sering kali perlu mengirim dan menerima data dalam berbagai format berbasis JSON atau XML.

Untuk data XML, bahasa query seperti XQuery dapat digunakan untuk query data, membuat atau memperbarui data, mengubahnya dari satu format ke format lain, atau data rute. Menambahkan dukungan JSON ke XQuery memungkinkannya melakukan tugas ini untuk XML dan JSON, menggabungkan data dari berbagai sumber sesuai kebutuhan.

Selain itu, dukungan JSON memberi XQuery struktur data yang ringan, sederhana, dan berguna yang seringkali dapat menyederhanakan permintaan. JSONiq adalah bahasa query untuk JSON, berdasarkan XQuery. Ini dirancang untuk memungkinkan prosesor XQuery yang ada ditulis ulang untuk mendukung JSON dengan usaha

moderat. Salah satu profil JSONiq menghapus segala sesuatu yang berhubungan langsung dengan XML, menambahkan konstruktor JSON dan navigasi. Profil JSONiq lainnya mencakup bahasa XQuery penuh, dengan menambahkan dukungan JSON, yang memungkinkan kueri untuk mengkonsumsi atau menghasilkan JSON, XML, atau HTML.

Zorba Example Screen 1 Res calculatorJSONiq adalah bahasa query untuk JSON, dikembangkan untuk memenuhi kebutuhan yang jelas akan query data JSON dan kurangnya sesuatu seperti bahasa query standar. Kami memulai dengan ide sederhana: XQuery memiliki lebih dari satu dekade desain dan pengembangan.

Ini kuat dan fleksibel, dan ada banyak implementasi yang ada. Bisakah kita memanfaatkan sejarah itu dan – yang lebih penting – implementasi untuk menghasilkan bahasa query JSON berkualitas tinggi dengan cepat? Kami berhasil. Setelah proses perancangan bahasa, tim yang sangat kecil mampu memperluas mesin Zorba XQuery sumber terbuka untuk mendukung JSON dalam dua bulan. Karya ini siap digunakan saat ini. Hal yang sama bisa dilakukan untuk mesin XQuery lainnya.

 

 

Apa Itu Zorba? Mengenal Lebih Dekat

 

Zorba adalah sebuah program query open source prosesor yang ditulis dalam C ++, implementasinya:

  • Beberapa W3C XQuery dan spesifikasi XML dan
  • Bahasa JSONiq untuk memproses data JSON.

Zorba didistribusikan di bawah Lisensi Apache, Versi 2.0. Proyek ini terutama didukung oleh FLWOR Foundation, Oracle, dan 28msec.

Fasilitas Definisi Data

Data Definition Facility menyediakan semantik untuk artefak yang gigih seperti koleksi dan indeks dalam program XQuery atau JSONiq. Misalnya, cuplikan kode berikut ini menyatakan koleksi yang bernama entri dan indeks pada koleksi yang diberi nama entri.

ruang nama modul g = “http://www.zorba-xquery.com/guestbook”;

import module namespace db = “http://www.zorba-xquery.com/modules/store/static/collections/dml”;

mendeklarasikan namespace an = “http://www.zorba-xquery.com/annotations”;

(: Deklarasikan koleksi yang bernama entri 🙂
menyatakan koleksi g: entri sebagai elemen (entry);
(: Deklarasikan sebuah variabel yang mengarah ke g: entries collection 🙂
mendeklarasikan variabel $ g: entries: = xs: QName (‘g: entries’);

(: Deklarasikan sebuah indeks bernama entri di atas koleksi entri 🙂
mendeklarasikan% an: indeks nilai-kesetaraan otomatis g: entry
pada node db: collection (xs: QName (‘g: entries’))
dengan xs: string (@id) sebagai xs: string;

Penyimpanan

Zorba menyediakan toko pluggable sehingga bisa digunakan pada berbagai jenis lingkungan: disk, database, browser. Secara default, Zorba dibangun dengan toko memori utama. 28msec menerapkan sebuah toko di atas MongoDB. XQuery dalam proyek Browser telah membuat plugin browser untuk Zorba dan memanfaatkan DOM sebagai tokonya.

API

Zorba dapat digunakan melalui bahasa host yang berbeda: C ++, C, XQJ / Java, PHP, Python, C #, Ruby, dan bahkan XQuery / JSONiq.

Zorba juga tersedia sebagai tool command-line.

XQDT adalah plugin XQuery untuk Eclipse (IDE). Ini sepenuhnya mendukung Zorba API dan sintaksis.

Modul

Zorba menyediakan lebih dari 70 modul XQuery untuk aplikasi bangunan. Beberapa modul ini adalah:

  • Sistem file, Email, klien HTTP, klien OAuth
  • XQuery dan JSONiq Data Model Processing: mengetik, item atom, dan node.
  • Full-text: tokenizer, stemmer, thesaurus lookup.
  • Pembersihan Data: kesamaan fonetis, kemiripan, konversi.
  • Konversi Data: Base64, CSV, HTML, JSON, XML
  • Pemformatan Data: XSL-FO
  • Introspeksi dan Refleksi
  • Kriptografi
  • Pengolahan citra

Baca Juga : [ Menggunakan Zorba ]

 

Mengkonfigurasi Zorba Menggunakan CMake

Sekarang kita akan mengkonfigurasi Zorba build dengan menjalankan CMake. Kami berasumsi bahwa persiapan membangun yang tepat (dijelaskan dalam Persiapan Membangun Zorba) telah dilakukan.

Instruksi di bagian ini didasarkan pada perintah eksekusi pada baris perintah. Hal ini juga memungkinkan mengkonfigurasi Zorba menggunakan utilitas konfigurasi GUI CMake jika Anda mau. Pada distro Linux, ini sering merupakan paket terpisah yang bernama “cmake-gui”. Pada Windows, GUI terinstal secara default dan bisa dimulai melalui menu Start. Di MacOS, tersedia sebagai varian “gui” dari paket CMake. Parameter konfigurasi penting – source and build directory; Generator CMake; flag konfigurasi – adalah sama apakah Anda menggunakan command-line atau bentuk GUI CMake. Hanya metode yang Anda tentukan akan berubah.

Langkah dasar untuk mengkonfigurasi Zorba adalah:

Ubah direktori kerja menjadi direktori {ZORBABUILD}:

cd {ZORBABUILD}

Jalankan cmake:

cmake [-G generator] [-D option = value …] {ZORBASRC}

di mana {ZORBASRC} mungkin merupakan jalur absolut atau relatif ke direktori sumber Zorba Anda. Misalnya, jika Anda menggunakan konvensi pembuatan direktori build sebagai subdirektori dari direktori sumber, Anda bisa mengetiknya saja

cmake ..

bersama dengan opsi -G atau -D yang diperlukan.

Perintah ini harus mengkonfigurasi Zorba dan bersiap untuk build. CMake akan memberitahu Anda jika lingkungan Anda kehilangan beberapa perpustakaan atau header pengembangan yang dibutuhkan. Arti argumen -G dan -D dijelaskan di bawah ini. Jika Anda perlu mengkonfigurasi ulang proyek nanti, CMake akan mengingat parameter generator dan parameter konfigurasi yang Anda pilih; Tidak perlu menentukan -G / -D setiap waktu.

Generator CMake (argumen -G)

CMake adalah meta build system. Ini mampu menghasilkan makefiles asli (misalnya GNU Make or NMake) dan ruang kerja IDE (misalnya Visual Studio atau KDevelop Projects), bergantung pada generator CMake mana yang dipilih. Secara default, ini akan menghasilkan proyek berbasis-Makefile bergaya UNIX. Anda menentukan generator yang akan digunakan dengan argumen -G untuk membuat cmake. Sebagai contoh, pada Windows, Anda dapat membuat solusi Visual Studio 10 dengan menjalankan perintah berikut di direktori {ZORBASRC}:

cmake -G “Visual Studio 10” {ZORBASRC}

Daftar Generator yang tersedia untuk instalasi CMake Anda dapat dilihat dengan mengetik

cmake –help

Parameter Konfigurasi (argumen -D)

Dalam kebanyakan keadaan, perlu ditentukan beberapa parameter ke CMake, seperti berbagai parameter konfigurasi yang disebutkan di atas dalam Lampiran Perpustakaan. Anda melakukan ini dengan serangkaian argumen -D untuk CMake. Misalnya, untuk membangun dukungan Zorba tanpa ICU (Unicode):

cmake -D ZORBA_NO_ICU = ON {ZORBASRC}

Daftar lengkap parameter konfigurasi Zorba dapat ditemukan di sini: Parameter Konfigurasi Zorba. CMake sendiri juga memiliki beberapa parameter konfigurasi yang mungkin penting bagi Anda; berikut ini adalah tiga yang paling umum:

CMake akan mencari perpustakaan pihak ketiga di berbagai lokasi standar. Jika Anda memasangnya di lokasi yang tidak biasa, Anda harus menyediakan jalur tambahan untuk mencari. Anda melakukan ini dengan menentukan parameter CMAKE_PREFIX_PATH. Parameter ini adalah daftar direktori terpisah yang dipisahkan titik koma di mana CMake seharusnya terlihat. Misalnya, jika Anda menginstal Xerces-C di / opt, coba yang berikut ini:

cmake -D CMAKE_PREFIX_PATH = / opt {ZORBASRC}

Kembali

Di Linux dan MacOS: Di baris perintah, titik koma diinterpretasikan oleh shell sebagai pemisah perintah. Agar bisa melewati daftar path yang dipisahkan tanda koma untuk parameter ini, pastikan untuk memperbesar daftar dalam tanda kutip tunggal atau ganda.

Pada Windows: Zorba menggunakan mekanisme khusus untuk menentukan jalur ke dependensi pihak ketiga pada Windows, yang menangani beberapa fitur tambahan seperti mengumpulkan DLL runtime untuk instalasi. Anda harus menggunakan mekanisme ini daripada CMAKE_PREFIX_PATH di Windows. Lihat Mekanisme Deteksi DLL

Zorba untuk informasi lebih lanjut.

Setelah Anda membangun Zorba, Anda mungkin ingin menginstalnya ke lokasi akhir. Anda menentukan lokasi ini dengan parameter CMAKE_INSTALL_PREFIX. Secara default, direktori ini akan menjadi {ZORBABUILD} / dist, yang tidak mungkin menjadi lokasi yang berguna.

Catatan: Setelah instalasi, direktori yang ditentukan disini akan berisi subdirektori seperti bin /, lib /, dan share /. Pada instalasi Unix dan MacOS, nilai umum untuk CMAKE_INSTALL_PREFIX adalah / usr / local. Pada Windows, seperti C: \ Program Files \ Zorba disarankan.

Catatan untuk proyek berbasis Makefile: Makefile yang diproduksi oleh CMake mendukung variabel DESTDIR yang umum. Namun, menentukan variabel ini pada waktu kompilasi tidak akan bekerja dengan Zorba, karena jalur instalasi tertentu dikodekan dengan keras ke dalam binari Zorba. Pastikan hanya menggunakan CMAKE_INSTALL_PREFIX.
Saat membuat proyek berbasis Makefile, CMake mendukung beberapa konfigurasi bangunan. Secara default, Zorba dibangun di konfigurasi Release, yang memungkinkan pengoptimalan kompilator dan tidak membangun informasi debug ke produk yang dihasilkan. Untuk mengubah mode build menjadi Debug, Anda dapat menentukan parameter CMAKE_BUILD_TYPE sebagai berikut:

cmake -D CMAKE_BUILD_TYPE = Debug {ZORBASRC}

Ini tidak diperlukan untuk ruang kerja berbasis IDE; Dalam hal ini, Anda dapat memilih tipe build dari dalam IDE.

Menggunakan MXQuery Dengan XQDT 2.2

Dengan versi 2.2, XQDT telah memulihkan dukungan untuk implementasi XQuery berbasis Java, yang dijatuhkan dalam transisi dari XQDT 1 ke XQDT 2.0. Berikut adalah garis besar bagaimana menggunakan MXQuery 0.6.0 (atau yang lebih baru) di XQDT 2.2

Silahkan lakukan hal berikut:

  • Instal XQDT seperti yang dijelaskan di situs web XQDT.
  • XQDT 2.2 tidak melengkapi implementasi apapun, jadi silakan download dan ekstrak MXQuery secara normal.

Di Eclipse, masuk ke menu Window, pilih Preferences.
Xqdt-22-prefs

Dan n dialog preferensi, pilih XQuery, dan kemudian Interpreter.

Dalam daftar penerjemah, pilih Add …
Xqdt-22-mxquery1
Kemudian dialog untuk menambahkan juru bahasa, pilih yang berikut

Jenis Interpreter: Java XQuery Engine
Nama Interpreter: MXQuery0.6.0 (atau nama lain)
Juru JAR / PERATURAN: yourMXQueryPath \ mxquery.jar (misalnya D: \ mxquery.jar)
Kelas utama: ch.ethz.mxquery.cmdline.MXQuery
Argumen juru bahasa: -f $ {query_file}

Jika perlu, tambahkan lebih banyak baris perintah untuk mengaktifkan fitur tambahan, mis. -um untuk update, -x11 untuk XQuery 1.1 dll

Sekarang Anda dapat memilih MXQuery sebagai penerjemah untuk proyek XQuery Anda, untuk lebih lanjut silahkan konsultasi kesini.

Processor Zorba XQuery Aplikasi

Zorba adalah prosesor XQuery tujuan umum yang menerapkan di C ++ keluarga spesifikasi W3C.

Prosesor kueri telah dirancang untuk dapat ditanamkan di berbagai lingkungan seperti bahasa pemrograman lain yang dilengkapi dengan kemampuan pemrosesan XML, browser, server database, pengirim pesan XML, atau ponsel cerdas. Arsitekturnya menggunakan desain modular, yang memungkinkan penyesuaian prosesor query Zorba dengan kebutuhan lingkungan. Secara khusus arsitektur prosesor query memungkinkan penyimpanan XML pluggable (misalnya memori utama, toko DOM, toko berbasis disk yang gigih, toko S3). Zorba dapat diakses melalui API dari bahasa-bahasa berikut C, C ++, Ruby, Python, Java, dan PHP. Zorba berjalan pada kebanyakan platform dan tersedia di bawah lisensi Apache v2.

Kami dengan senang hati mengumumkan perilisan prosesor Zorba XQuery di versi 1.4. Selain perbaikan bug dan peningkatan kinerja, rilis ini dilengkapi dengan library fungsi dan dukungan untuk ekspresi switch XQuery 1.1. Silakan lihat di ChangeLog untuk lebih jelasnya.Anda dapat menemukan contoh untuk fitur baru yang siap dijalankan di demo live kami yang tersedia di http://try.zorba-xquery.com/. Selain itu, tutorial “Atom Processing with Zorba” menunjukkan betapa mudahnya mengembangkan mashup kecil seluruhnya di XQuery dengan Zorba dan EXPath http-client.