[Query Engine]


 
 
 
 
 

1. What VisKo Queries Provide

Consider the query below that requests for the generation of a views:3D_PointPlot:

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# 
VISUALIZE http://rio.cs.utep.edu/ciserver/ciprojects/GravityMapProvenance/gravityDataset.txt
AS views:3D_PointPlot IN visko:mozilla-firefox
WHERE
	FORMAT = formats:SPACESEPARATEDVALUES.owl#SPACESEPARATEDVALUES
	AND TYPE = types:d19

The query tells the VisKo query answering system a few key pieces of information:


The VisKo query answering system will use the above information to identify visualization pipelines that can generate 3D Point Plots from out input data using the following sequence of steps:

  1. Verify if the input data can be transformed to another data form that can be processed by the requested ViewerSet Mozilla Firefox
  2. Identify the sequence of operators that will tranform the input data into the form required by the ViewerSet
  3. Check if the identified pipeline contains a Mapper that supports the Visualization Abstraction being requested, in this case 3D Point Plot
  4. Pass the pipeline to the pipeline execution engine

2. Checking if the Input Data can be Processed

Our VisKo query specifies that our input data has a structure of SPACESEPARATEDVALUES [d19]. If we look to our data path graph below, we can see the sequence of different formats that our input data can be transformed to. We know that Mozilla Firefox can display JPEG images, so the next task is to identify the pipeline of services that support this transformation. A more elaborate description including a legend can be found in the knowledge base page.


We know that Mozilla Firefox can display JPEG images, so the next task is to identify the pipeline of services that support this transformation. A more elaborate description including a legend can be found in the knowledge base page.

  1. SPACESEPARATEDVALUES [d19]
  2. XML [VTKPolyData]
  3. JPEG [Thing]

3. Searching for Pipelines of Operators

By traversing our knoweldge base using an enhanced depth first search, we can identify a sequence of operators, known as a pipeline, that can transform our input data into a 3D Point Plot that can be displayed using Mozilla Firefox. In the image below, we see such a pipeline highlighted in red:

  1. csv2tabular-operator
  2. vtkDataObjectToDataSetFilter3DGravityData-operator
  3. vtk3DGlyphSphereSource-operator
  4. vtkPolyDataMapper-operator
  5. firefox-browser-image-viewer

An astute reader might notice that although there are 5 operators in the pipeline, the data only takes on 3 different forms, rather than 4 as one might expect. This is because there are two operators in the pipeline that process the exact same kind of data, operators (2) and (3). Both operators output XML [VTKPolyData] and the 3D Points Plot is actually represented by the specific instance of XML [VTKPolyData] output from operator number (3). Therefore, this is a valid pipeline that satisfies the VisKo query!

4. Result of Pipeline Execution

We can then execute the pipeline and generate the visualization requested in the query as shown below:

Copyright @2011, 2012 OpenVisKo.org