CQPweb is a web-based graphical user interface (GUI) for some elements of the CWB - and in particular, the CQP query processor. Thus the name.
CQPweb is designed to replicate the user-interface of the popular BNCweb tool, which also uses CQP as a back-end. Like BNCweb, CQPweb uses a database alongside the CWB to provide extra functions beyond those built into CWB/CQP. However, unlike BNCweb, CQPweb can be used with any corpus.
CQPweb is especially suitable for students, non-linguists, and others for whom a Unix-like command-line is a terrifying prospect.
CQPweb can be used in three ways.
Here is a quick summary of the extra functionality provided by CQPweb, beyond what you can do with CQP alone (and not mentioning, of course, the convenience of the web-GUI):
In addition, CQPweb offers the following extra tools for the system administrator:
CQPweb is still being extended and several new features are in the experimental stage. Expect the feature list to grow over time! The Roadmap page outlines our ongoing plans.
A bundle of screenshots of CQPweb can be downloaded from this link.
CQPweb is not very easy to install.
For that reason, we now supply CQPwebInABox: a Virtual Machine PC with CQPweb pre-installed.
What's a Virtual Machine?
Virtual Machine (VM) software does exactly what you'd think from the name: it is software that creates a virtual simulation of the hardware of a computer - chips, memory, hard drives, everything. If you have virtualisation software such as VMware or VirtualBox on your computer, then you can have multiple virtual machines running "inside" your real computer. Usually, what you see on the screen is simply a window displaying the contents of the VM's simulated monitor.
Because the VM runs on its own simulated hardware, it is totally separate from the real computer – it can even run a completely different operating system.
So what is CQPwebInABox then?
It's a VM we created on our own computer, with a lightweight version of Linux installed, plus CQPweb, and all the extra bits and pieces you need to make CQPweb work. We then exported this VM as a downloadable archive called an "image", so you can have an exact copy on your own computer, with everything already installed and set up.
If you install VirtualBox (the VM software we used to create CQPwebInABox), you can insert this image into VirtualBox, and then run the VM. You'll get a window containing a whole Linux machine – but it's set up so you can ignore the technical details of Linux, and just use CQPweb in the Firefox browser (which starts automatically for you).
How do I get CQPwebInABox? From this link. It's a BIG download (between 2 and 4 GB depending on the version); most of this is the VM's virtual hard drive (the hard drive of a VM is just a single really big file).
We produce a new VM image every now and again (basically, when the CQPweb code has changed enough to make it worth it!) If you're just starting out with CQPwebInABox, you should download the most recent. But once you have set it up, you don't really need to keep updating when new images are released. You can stick with a version as long as you like. VM image releases have codenames rather than numbers to avoid confusion with the CWB and CQPweb version numbers.
List of image releases:
There are two video tutorials on the CWB YouTube channel; plus, see below for some very brief instructions.
For users who are new to VMs, We recommend VirtualBox over VMware for running CQPwebInABox on your own computer for two reasons: (1) it's a less heavyweight program, so easier to use, (2) CQPwebInABox is created with VirtualBox to begin with.
However, if you're already a VMware user, you might quite reasonably want to stick with VMware for CQPwebInABox. This is possible, but requires you to make some tweaks: the format of the VM image is supposedly platform independent but in practice there are some incompatibilities.
First, download the image file.
Second, open the image file and extract the two files inside. Note that event though it has the extension
.ova it is actually just a normal TAR file.
So you can either change the extension to
.tar and let your OS work out what to open it with, or else use commandline
tar which does not care about the extension.
The two files you get are (1) the hard drive (the big one) and (2) the VM setup file (the small one). The latter has the extension
.ovf but, again, this is really just an XML file.
Third, rename the hard drive file if its filename contains a date. Remove the date. The filename should be
Fourth, adjust the XML. Below is a commandline-script in PHP that automates the corrections if run from the same directory as the OVF file. You can alternatively make the replacements manually:
<?php $data = file_get_contents ('CQPwebInABox.ovf'); // correct system type $data = str_replace('<vssd:VirtualSystemType>virtualbox-2.2</vssd:VirtualSystemType>', '<vssd:VirtualSystemType>vmx-07</vssd:VirtualSystemType>', $data); // correct specification of SATA controller // for the reason for what follows, please see: https://jekil.sexy/blog/this-ovf-package-requires-unsupported-hardware $data = str_replace('sataController0', 'SCSIController', $data); $data = str_replace('<rasd:Description>SATA Controller</rasd:Description>', '<rasd:Description>SCSI Controller</rasd:Description>', $data); $data = preg_replace('|<rasd:ResourceSubType>AHCI</rasd:ResourceSubType>(\s*)<rasd:ResourceType>20</rasd:ResourceType>|s', '<rasd:ResourceSubType>lsilogic</rasd:ResourceSubType>$1<rasd:ResourceType>6</rasd:ResourceType>', $data, 1); file_put_contents('CQPwebInABox.ovf', $data); echo "done\n";
You can now import the image into VMware (you don't have to roll the two files back together again, it will work quite happily if pointed at the OVF file, as long as the two files are in the same location).
µCQP (“micro CQP”) is a planned simplistic Web front-end for CQP, based on the CWB/Perl packages. It will support CQP queries as well as simplified CEQL syntax, and use a shared cache for the query results to optimise performance. While only elementary display and post-processing options will be available, it should be easy for experienced users to adapt the Perl code to their needs.