[Query Language]

VisKo queries allow users to request for visualizations declaratively and without being fully aware of a wide range of visualization toolkit implementation details. This means that users specify what visualizations they want generated without specifying how the visualizations are generated, which are traditionally specified by pipelines. We hope that VisKo queries will spark a paradigm shift for how visualizations are specified and generated.

Requirements

To write VisKo queries, users will need to know the structure of the data they wish to visualize as well as some optional pieces of information such as the visualization they want their data represented as as well as any values they want to feed to tranformatoin services.


  1. The Type of Your Data: for example 1DArrays, Grids and Points. The types requried by VisKo queries will come from your domain ontologies that you use to encode your data in and specified by URIs. You can find a set of data types in our default set of ontologies found here
  2. The Format of Your Data: for example dataset formats such as netCDF, XML, and RDF or image formats such as PNG and JPEG. The formats must be specified by pmlp:Formats. For this project, we have crawled the Internet Asigned Number Authority (IANA) and converted the listing of registered MIME types to PMLP formats that can be found here.
  3. The Visualization Abstraction you want your Data Transformed To (OPTIONAL): for example 3D_BarCharts and Isosurfaces. You can find a listing of registered Visualization Abstractions in our VisKo-View ontology.
  4. The Input Values Bound to Service Parameters (OPTIONAL): for example contour intervals = 10 and magnification = 2X

Example

Given the english visualization request:

Generate a 2D contour map with isolines every 10 units and annotation labels every 20 units from my gravity data that is encoded as a
file of space separated values.

The equivalent VisKo query is:

PREFIX views https://raw.github.com/nicholasdelrio/visko/master/resources/ontology/visko-view.owl#
PREFIX formats https://raw.github.com/nicholasdelrio/visko/master/resources/formats/
PREFIX types http://rio.cs.utep.edu/ciserver/ciprojects/CrustalModeling/CrustalModeling.owl#
PREFIX visko https://raw.github.com/nicholasdelrio/visko-packages-rdf/master/package_mozilla.owl#
PREFIX params https://raw.github.com/nicholasdelrio/visko-packages-rdf/master/grdcontour.owl#
VISUALIZE http://rio.cs.utep.edu/ciserver/ciprojects/GravityMapProvenance/gravityDataset.txt
AS views:2D_ContourMap IN visko:mozilla-firefox
WHERE
	FORMAT = formats:SPACESEPARATEDVALUES.owl#SPACESEPARATEDVALUES
	AND TYPE = types:d19
	AND C = 10
	AND A = 20

Possible query results:

We see that in in this example the two optional query declarations (i.e., visualization abstraction and parameter bindings) have been asserted.


Grammar (EBNF)

QUERY  -> {PREFIX} SOURCE VISUAL STRUCT {PARAM};
PREFIX -> "PREFIX" {alphanumberic-character} namespace
SOURCE -> "VISUALIZE" url | "VISUALIZE NODESET" nodeset-uri
VISUAL -> "AS" visualization-abstraction-uri "IN" viewer-set-uri |  "AS" * "IN" viewer-set-uri
STRUCT -> "WHERE TYPE =" type-uri "AND FORMAT =" format-uri
PARAM  -> "AND" param-uri "=" value

Looking at the VISUAL production rule, we see that the query supports a wildcard (*) visualization abstraction. The semantics of this symbol is match up with every visualization abstraction possible, leading to your data being visualized in every possible manner the system knows how to.

Start Submitting Queries!

You can submit prefabricated queries at our UTEP VisKo Server. From the main server page you will find a link to a set of example queries supported on the UTEP server.

Copyright @2011, 2012 OpenVisKo.org