<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Extended UML Class Diagram Constructs for Visual SPARQL Queries in ViziQuer/web</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kārlis Čerāns</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Juris Bārzdiņš</string-name>
          <email>juris.barzdins@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Agris Šostaks</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jūlija Ovčiņņikova</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lelde Lāce</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mikus Grasmanis</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Artūrs Sproģis</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Medicine, University of</institution>
          <country country="LV">Latvia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institute of Mathematics and Computer Science, University of</institution>
          <country country="LV">Latvia</country>
        </aff>
      </contrib-group>
      <fpage>87</fpage>
      <lpage>98</lpage>
      <abstract>
        <p>Visual notations based on customized entity relationship and basic UML class diagram paradigm of classes, associations and attributes are successfully used in data modeling and data querying alike, both in relational database and in semantic/conceptual model setting. We propose a number of constructs for extending the basic diagrammatic framework in the setting of visual specification of SPARQL select queries for enabling visual specification of hierarchic data instance and aggregated queries. Our proposal includes: (i) a visual notation for subqueries, (ii) separate lists of aggregated and grouping attributes in aggregated queries, (iii) query control nodes (unit and union) not corresponding to data instances, and (iv) integration with textual SPARQL fragments. We report on an initial user study validating the understandability of the subquery notion by users without specific IT training, as well as announce implementation of the proposed notation constructs in a web-based diagrammatic (multi-modal) query tool.</p>
      </abstract>
      <kwd-group>
        <kwd>Visual queries</kwd>
        <kwd>ad-hoc queries</kwd>
        <kwd>data analysis</kwd>
        <kwd>RDF data endpoints</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The ontology-based data access (OBDA) paradigm (cf. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]) opens a new perspective
of data access on the basis of high-level domain ontology, rather than technical database
schema structure. An end-user notation for query formulation is important to enable
direct access to data by its end users that may not be IT professionals [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], it can be
aimed towards easing the professionals’ work with queries, as well.
      </p>
      <p>
        The visual/diagrammatic notations, along with approaches based on keyword search,
forms (e.g. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]) and natural language (e.g. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]), are a major paradigm considered for
end-user accessing of data organized in the form of RDF [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] data model, natively
accessible by the textual SPARQL [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] query language.
      </p>
      <p>
        Most of the existing diagrammatic notations for RDF data access, including Optique
VQs [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], Query VOWL [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], or early versions of ViziQuer [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], although efficient for
visual formulation of wide range of queries, still do not include queries with data
aggregation and statistics options, so important and central e.g. for business intelligence
area (cf. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ],[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]). The work on visual queries for OBDA in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] explicitly limits the
visual query notation and end user involvement to non-aggregated queries with simple
data attribute selection, justifying these to be most important in their usage context.
      </p>
      <p>
        The notations of [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] rely on UML class diagram constructs for query
construction; they use nodes for data instance class specification, edges for data instance
links and attributes for both the selection attributes and their links to the node data
instance; there are also conditions for additional filters on data instance attribute values.
A similar query paradigm is also used in query systems for major relational databases.
      </p>
      <p>We propose here to extend the basic UML-style query formulation paradigm with
means for visual formulation aggregated and nested queries, so to enable the users
preferring the visual query formulation style, to work also with this kind of queries.</p>
      <p>
        The previous work by authors on aggregate queries within the UML-style ViziQuer
tool [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ] introduces aggregate queries simply by including aggregate fields within the
query node field lists. This suffices for simply structured queries that e.g. select data
from a number of linked classes, while leaving open the issue of more complex queries,
available e.g. in SPARQL. Here we make a more radical extension to the basic
UMLstyle query formulation notation, involving the following principal novel points:
(i) Fully visual notation for subqueries;
(ii) Separate aggregate and grouping field lists in query nodes;
(iii) Unit and union nodes for query structuring;
(iv) Integration of textual SPARQL fragments into the visual notation.
      </p>
      <p>We report also on a pilot user study testing the understandability of simple constructs
from the introduced notation; the study results show the understanding ability of the
subquery notion also by domain experts that are not IT professionals.</p>
      <p>The visual query notation proposed here is supported by a web-based diagrammatic
(multi-modal) query tool, available at viziquer.lumii.lv.</p>
      <p>In what follows, Section 2 reviews the revised basic visual notation. Section 3, the
central one of the paper, presents the extended query constructs. Section 4 discusses the
SPARQL construct coverage; Section 5 describes the user study for notation evaluation.
Tool environment is outlined in Section 6. Section 7 concludes the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Basic Visual Notation</title>
      <p>
        The visual/diagrammatic query definition is based on data model containing the
vocabulary of entities, each identified by a local name and optional name prefix and
providing the full entity URI, and the schema information stating the applicability,
ordering and cardinalities of properties in the context of the model classes. We shall
consider here example queries over a simple mini-hospital data schema, developed
originally in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] to describe a fragment of a realistic hospital information system and
presented here in Fig. 1. The names of properties connecting the classes, if not specified,
coincide with the target class name with lowercase first letter1. There is default
maximum and minimum default cardinality 1 assumption for properties, as well.
      </p>
      <p>&lt;&lt;EnumClass&gt;&gt;</p>
      <p>CPhysician
personCode:string
name:string
surname:string</p>
      <p>&lt;&lt;EnumClass&gt;&gt;</p>
      <p>CDiagnosis
code:string
name:string</p>
      <p>Patient
personCode:string
name:string
surname:string
gender:{"male", "female"}
birthDate:date
familyDoctor:CPhysician
OutpatientEpisode
visitDate:date
visitDuration:duration *
visitCost:decimal
physician:CPhysician</p>
      <p>HospitalEpisode
referringPhysician:CPhysician[0..1]
* raedsmpiosnssioibnleTiPmheys:dicaitaenT:iCmPehysician
dischargeTime:dateTime
dischargeReason:{"cured",
"deceased", "other"}[0..1]
lengthInDays:integer
totalCost:decimal
caseRecordNo:integer</p>
      <p>TreatmentInWard
attendingPhysician:CPhysician
ward:string
* arrivalTime:dateTime
transferTime:dateTime
orderNo:integer</p>
      <p>AdmissionDiagnosisRecord
* odiradgenrNosoi:isn:tCeDgeiargnosis</p>
      <p>DischargeDiagnosisRecord
diagnosis:CDiagnosis
* orderNo:integer</p>
      <p>The ontology is organized around the patient class, with possibly both hospital and
outpatient episodes for each patient. A hospital episode can run over several treatments
in hospital wards, each identified by an order number. A hospital episode has records
of admission and discharge diagnoses, pointing to the CDiagnosis classifier. Hospital
and outpatient episodes and treatments in wards may have associated physicians in
different roles, as well.</p>
      <p>
        A basic visual query (cf. [
        <xref ref-type="bibr" rid="ref13 ref4">13,4</xref>
        ]) is a UML class diagram style graph with nodes
describing data instances, the edges describing their connections and the attributes
forming the query selection list from the node instance attributes and their expressions;
every node can specify both the instance class and additional conditions on the instance.
One of the graph nodes is the main query node (shown as orange round rectangle in the
diagram); the structural edges (all edges except the condition ones, as described below)
within the graph form its spanning tree with the main query node being its root.
      </p>
      <p>
        Figure 2 shows an example visual query and its translation into SPARQL. The query
is based on three related classes, a mandatory link (HospitalEpisode -&gt; Patient) and an
optional link to CPhysician. The attributes are by default assumed to be optional, not
to bypass entire solution rows because of missing attribute values (this contrasts [
        <xref ref-type="bibr" rid="ref13 ref4">13,4</xref>
        ]).
      </p>
      <p>The required attribute specification (corresponding to the class instance, attribute
property and attribute value triple in RDF/SPARQL sense) can be achieved by a single
check box click for ‘Required Values’ in the query tool user interface, and is marked
by the ‘{+}’ mark besides the attribute (expression) specification, as in Fig. 3 (a).</p>
      <p>Figure 3 (b) illustrates the notation for conditions and the ‘*’- notation for selecting
all attributes defined in the data model for the query class (the optional attribute
semantics is essential here not to have counter-intuitive results). Fig. 3 (c) shows a negated
link to a condition class and the option to hide the link name from the query
presentation, if it is unanimously clear from the class name specifications in the link start and
end nodes (the hiding could have been applied also to the patient link in Fig. 2).</p>
    </sec>
    <sec id="sec-3">
      <title>Extended Query Structuring Facilities</title>
      <p>In this section we explain advanced query structuring facilities that go beyond the
simple class – attribute – link – condition paradigm for query specification.
3.1</p>
      <sec id="sec-3-1">
        <title>Aggregate and Grouping Field Separation</title>
        <p>The multiple aggregation possibility shall be exploited with care not to induce the
query raw result set blow-up due to additional dimensions introduced by possibly
multiple-valued various attributes and expressions that are to be aggregated (the additional
data dimensions can be introduced by the “usual” field values, as well).</p>
        <p>The count_distinct(.) aggregation option allows counting only the distinct instances
from the raw result set. The subquery and control node constructs, explained in the
following sections, can be used to create queries without multiplicative effects, as well.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Explicit Subquery Notation</title>
        <p>
          The SPARQL 1.1 notation allows for subquery specification. In combination with
aggregation, the subquery construct allows inter alia selecting data instances together
with their aggregate characteristics within the data environment (e.g. the count of
related instances). There is no common similar construct in UML-style query notations,
neither within the semantic technology domain (cf. [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]), nor for the relational
database visual query builders.
        </p>
        <p>Since the primary target of the subquery notation is to describe subqueries over
instances related to a certain main query node instance, it is natural to associate the main
query to subquery relation with an edge in the query. Both plain (non-subquery) and
subquery edges typically correspond to a link in the data model; the options for query
links not matching exactly the data links are described in Section 3.3.</p>
        <p>The subquery links in the visual notation are starting by black bullets. The example
in Fig. 6 example (left) contains a subquery link based on the single treatmentInWard
link between HospitalEpisode and TreatmentInWard classes in the data model.
The scope of the subquery involves the subquery edge itself and the part of the query
graph below it in the graph’s tree shape structure. The selection list of the subquery
contains the explicitly specified query outputs, as well as all references to query nodes
and fields outside the subquery scope (typically including the instance of the subquery
hosting node). The subquery results are projected into the hosting query; they can be
used in conditions, further field definitions and ordering lists in the same way, as
instance model attributes. To include a subquery output in the selection list for the main
query, it has to be explicitly included in the subquery hosting node field list.</p>
        <p>The Fig. 6 (right) single-node query shows the option to define a single-number
subquery over property-linked instances in a textual form; in this case the value T is by
default included in the main query selection list, as well as it is computed also for
episodes without any treatments in wards, should there be ones.</p>
        <p>Figure 7 shows a simple example of nested subqueries.
The subquery mechanism is not bound to just local aggregate computation. In the
case, if a subquery does not return any result except the host node instance for which it
has been created, it works as an existential filter, as in Fig. 8, left. The right single-node
query models the same behavior, using explicit predicate exists and property paths.</p>
        <p>It has been an explicit design decision to stay with simple join semantics in the case
of queries with nodes linked by plain required or optional edges. Should the link in Fig.
8 not have been marked as a subquery, the raw data set consisting of patients and all
their hospital episodes would have been created leading to counting each patient as
many times as it has the hospital episodes lasting for at least 10 days. In the case of
counting the instances one could use count_distinct(.), however using the subquery
mechanism leaves a clean un-duplicated result set of subquery host node instances,
ready for output, as well as participation in further aggregate operations.</p>
        <p>The count of patients having a hospital episode and not having an outpatient episode
can be specified by either of query diagrams in Fig. 9 since the non-existence of a
related instance would not cause any data graph blow-up.</p>
        <p>Further subquery notation usage possibilities are discussed in Section 3.3.
3.3</p>
      </sec>
      <sec id="sec-3-3">
        <title>Extensions to Model Tree Shape</title>
        <p>The visual notation discussed so far is suitable for visual query specification, if the
query has a tree form that is matching a data model fragment. The query structure can
be extended either by visual condition links (visualized by a thinner line with diamonds
on both ends, cf. Fig. 10a) that are added on top of the query tree structure, or by explicit
(other) node references in the node attribute expressions (e.g. H and P in Fig. 10b). The
non-model links (marked by the label ++), allow to have structural query links that do
not correspond to links in the data model.</p>
        <p>In Fig. 10 the non-existence of an outpatient episode is considered not for a patient
but for a hospital episode. Therefore, the query structure link is drawn from the
HospitalEpisode to OutpatientEpisode (in the example it happens to be a negated link) while
the necessary model link between the Patient and OutpatientEpisode is encoded either
as a condition link (a), or as an explicit condition within the OutpatientEpisode node
(b).</p>
        <p>As a more radical structure extension, the control nodes: unit (denoted by [ ]) and
union (denoted by [ + ]), not describing any data instance, can be introduced to the
queries. The unit node can typically be used as an outer query structuring layer, able to
collect the results from a single or multiple subqueries, combine, project, filter them, as
well as apply distinct or aggregation clauses over them. The example queries in Fig. 11
use the statistics by attribute notation from Section 3.1 within a subquery, embraced
within an outer main query consisting of a union node.</p>
        <p>Figure 11a shows the possibility of modeling the SPARQL having clause over the
aggregated result set. The technique of unit nodes offered here, however, allows for
much richer aggregate result handling than just filtering, as can be seen e.g. in Fig. 11b.</p>
        <p>The union node introduces a disjunction of its sub-trees into the query (the link to
the subtree from the union node is perceived as the link from the parent of the union
node), as illustrated in Fig. 12. There are options to use subquery links both above and
below the union node, as well.</p>
        <p>The idea of the subquery concept, as explained in Section 3.2, is to offer means of
computing local characteristics of a data node within a query. Since the semantics of
the query language constructs is defined on the basis of their translation into SPARQL,
the local characteristics computing subqueries cannot be allowed to contain the slicing
limit and offset modifiers (in SPARQL the subqueries are computed globally). For the
situations where the ordering and slicing modifiers are important within a subquery the
global subquery notation (a white bullet at the edge start) has been introduced.</p>
        <p>As an example, consider the query in Fig 13. The ‘==’ notation marks the query link
to connect a resource (or a data value) to itself. It is necessary to take 5 most expensive
hospital episodes before their joining to the treatment in ward data.</p>
        <p>As far as the translation into SPARQL semantics is considered, there is no
difference between local and global subqueries (except that slicing is not allowed in local
subqueries). The main difference between local and global subqueries is in the mindset
of reading the queries (local vs. global context). Should other visual query language
implementations become available (e.g. by translating the visual queries directly into
SQL), the slicing could be introduced also for local subqueries, with a principally
different semantics of computing the slice (e.g. the topmost or the top n records) from the
subquery for each data instance tuple forming the subquery context.
3.4</p>
      </sec>
      <sec id="sec-3-4">
        <title>Exploratory Queries and Textual SPARQL Fragments</title>
        <p>
          The ViziQuer/web notation allows also for explicit query variable usage in the place
of class and property names. Using an explicit query variable in place of a class or
property name creates the SPARQL query variable with the same name, uses it within
the query just as the class or property name, then adds it to the query output. Fig. 14
shows examples of exploratory queries over a SPARQL endpoint in the visual notation,
re-worked and extended from [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]: (a) select all classes together with their instance
count, (b) select all properties together with all class pairs connected by them (select
distinct specification is necessary since the raw data graph is computed on data instance
level); (c,d) two forms of selecting all triples from the data set (in (d) ‘a’ denotes the
“current instance”, p – the property, ‘b’ – the “target instance”; {+} marks a required
triple presence); (e,f) select all properties together with their usage count (in (f) the
triple has to be marked as required by {+} as well as by {internal} not to have its
resulting value included in the selection set); (g) if an explicit query variable is introduced
within a subquery, a reference to it within an enclosing query is to be made by the
variable name without the preceding variable mark ‘?’.
        </p>
        <p>The visual notation has not been designed specifically to ease the formulation of the
exploratory queries, Fig. 14 just shows the possibility and options for exploratory
queries in the visual notation, outlining also the usage variability of the notation constructs
(e.g. using query nodes with empty class names or with no content at all).</p>
        <p>For the situations where the visual notation constructs either do not support the query
definition, or are not convenient for it, there is an option (clearly meant for expert users)
to introduce explicit textual SPARQL fragments into the visual symbols. Both the
syntax of SPARQL group graph patterns and SPARQL select queries are supported. Fig.
15 shows two options of a simple example of selecting all data set triples. The variables
selected out of the direct SPARQL clause can in the enclosing query be referred to by
their name (without the preceding variable mark ‘?’).
pattern can be a set of graph pattern fragments, interconnected by free edges; a variable
from several patterns can go into a single query node. The filters correspond to
conditions at query nodes; the variable binding and selection – to field lists at query nodes.</p>
        <p>The projection can be modeled by adding a new unit node to the query and
connecting the original query to it as a subquery; the unit node provides the context of selecting
the fields corresponding to the projection variables; further operations on initial query
results in the unit node are possible, as well. If the initial query is aggregated one, a
filter in the unit head node can model SPARQL having clause of the initial query.</p>
        <p>The optional blocks correspond to optional edges, existence filters to subqueries with
empty result sets, non-existence filters to negated edges. There are also direct
counterparts in the visual notation to aggregation, subqueries, select distinct and union
constructs. Although not described here, the SPARQL minus construct can be handled by
negated global subqueries.</p>
        <p>The main limitations of the current visual notation are the requirement of queries to
be placed over single graph, non-covered advanced property path expressions, select *
(in SPARQL sense) and reduced. None of these constructs is of principal difficulty for
the visual notation with SPARQL-based implementation, however, they are not so clear
for eventual other implementations, e.g. by translating queries directly into SQL.
5</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Evaluation: Visual Queries over Hospital Data</title>
      <p>The hospital data schema shown in Figure 1 corresponds to a fragment of data
structure of Children’s Hospital in Riga, Latvia. The resource point viziquer.lumii.lv/med
illustrates a number of queries that have been important during the analysis of the real
hospital data. An expert assessment of the query creation process allows to judge that
it should be possible for an IT-trained expert, who has learned the notation, to
successfully create the queries.</p>
      <p>An early pilot study on visual notation understandability was performed on a group
of Master degree medical students at University of Latvia and their teacher, together 7
participants, neither of whom have a specific IT training.</p>
      <p>The participants were given an ontology (a fragment of Fig. 1 ontology, with
vocabulary expressed in Latvian), and a simple data instance graph with two patients,
altogether with 2 hospital episodes and 1 outpatient episode, and related diagnoses. The
participants were asked to interpret 10 simple queries, shown in Fig. 16, over the given
data set. The introductory time for notation presentation was 40 minutes, followed by
40 minutes query answering time. The results are collected in Fig. 17, where each row
corresponds to replies by one participant (Row 1 are the teacher’s replies).</p>
      <p>The results indicate that 6 of 7 participants were able to interpret at least 70% of the
queries, with similar results both for non-aggregated and aggregated queries. The
subquery notation used in examples (6), (7), (8) can be observed as not causing a
particular difficulty. For the queries (4) and (5) the difficulty was to interpret a condition
placed outside the main query class. The unexpected difficulty with query (9) can
indicate the need for appropriate examples in query notation presentation since an
analogous statistics query (10) presented over several data nodes, was answered quite well.</p>
      <p>++: correct interpretation
+: almost correct
/: part of constructs understood correctly
(difficulty with conditions outside the main class)
-: incorrect interpretation
empty cell: no answer</p>
      <p>A web-based prototype tool supporting the visual notation presented in this paper is
available from http://viziquer.lumii.lv/. After the registration and logging into the
environment the user has an option to create and manage projects. Each project has to be
configured by uploading the data schema (used e.g. for SPARQL generation from
visual representations of entity local names, as well as for code completion) and setting up
project parameters (e.g. connection to the SPARQL endpoint for direct execution of
generated SPARQL queries). The containers for queries within a project are diagrams;
each diagram can typically contain multiple visual queries; the user each time makes a
visual selection of the query to be executed within the query diagram.</p>
      <p>The tool architecture allows both for a centralized server with each user uploading a
custom data schema, as well as configurations that are dedicated for work with specific
SPARQL endpoints. We plan to release the tool code as open source.
7</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>The presented notation and examples demonstrate the possibility of extending the
UML-style diagrammatic query creation paradigm of classes, associations, attributes
and conditions by simple visual means for specification of advanced query building
constructs, including subqueries, aggregations and additional query control structures.</p>
      <p>The performed pilot user study has shown that it is possible to introduce the visual
notation, including the aggregation and subquery constructs to domain experts without
specific IT training. The visual format of the query presentation in the style of UML
class diagrams, together with the notation expressivity, may allow the notation to have
a potential to ease the query formulation work of a semantic technology and/or database
professional, as well.</p>
      <p>The visual notation can be extended, for instance, by a practically important
construct of sliced local subqueries, not supported directly in SPARQL 1.1, if alternative
query language implementations to translation into SPARQL are considered.</p>
      <p>We expect that the availability of a web-based visual query environment
infrastructure would initiate also use cases of the technology outside the group of its developers.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Adamson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Mastering data warehouse aggregates: solutions for star schema performance</article-title>
          . John Wiley &amp; Sons,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Barzdins</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grasmanis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rencis</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sostaks</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barzdins</surname>
          </string-name>
          , J.:
          <article-title>Ad-Hoc Querying of Semistar Data Ontologies Using Controlled Natural Language</article-title>
          . // In: Frontiers
          <source>of AI and Applications</source>
          , Vol.
          <volume>291</volume>
          , Databases and
          <string-name>
            <surname>Information Systems IX</surname>
          </string-name>
          , IOS Press, pp.
          <fpage>3</fpage>
          -
          <lpage>16</lpage>
          ,
          <year>2016</year>
          , http://ebooks.iospress.com/volumearticle/45695
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Čerāns</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ovčiņņikova</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zviedris</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>SPARQL Aggregate Queries Made Easy with Diagrammatic Query Language ViziQuer</article-title>
          .
          <source>In: Proceedings of the ISWC 2015 Posters &amp; Demonstrations Track</source>
          , CEUR Vol.
          <volume>1486</volume>
          , (
          <year>2015</year>
          ), http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>1486</volume>
          /paper_68.pdf
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Čerāns</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ovčiņņikova</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>ViziQuer: Notation and Tool for Data Analysis SPARQL Queries</article-title>
          .
          <source>In Proc. of the Second International Workshop on Visualization and Interaction for Ontologies and Linked Data (VOILA '16)</source>
          , Kobe, Japan.
          <source>CEUR Workshop Proceedings</source>
          , vol.
          <volume>1704</volume>
          ,
          <string-name>
            <surname>CEUR-WS</surname>
          </string-name>
          .org,
          <year>2016</year>
          , pp.
          <fpage>151</fpage>
          -
          <lpage>159</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Ferré</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>SPARKLIS: a SPARQL Endpoint Explorer for Expressive Question Answering</article-title>
          .
          <source>In: In: Proceedings of the ISWC 2014 Posters &amp; Demonstrations Track</source>
          , CEUR Vol.
          <volume>1272</volume>
          , (
          <year>2014</year>
          ), http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>1272</volume>
          /paper_39.pdf
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Haag</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Siek</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ertl</surname>
          </string-name>
          , T.:
          <article-title>QueryVOWL: Visual Composition of SPARQL Queries</article-title>
          . In: The Semantic Web:
          <article-title>ESWC 2015 Satellite Events</article-title>
          .
          <source>LNCS</source>
          , Vol.
          <volume>9341</volume>
          , pp.
          <fpage>62</fpage>
          -
          <lpage>66</lpage>
          . Springer, (
          <year>2015</year>
          ), http://vowl.visualdataweb.org/queryvowl/
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Optique</surname>
          </string-name>
          .
          <article-title>Scalable End-User Access to Big Data</article-title>
          , http://optique-project.eu
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Ponniah</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Data warehousing fundamentals for IT professionals</article-title>
          . John Wiley &amp; Sons,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Resource</given-names>
            <surname>Description</surname>
          </string-name>
          <article-title>Framework (RDF)</article-title>
          , http://www.w3.org/RDF/
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <article-title>SPARQL 1.1 Query Language</article-title>
          .
          <source>W3C Recommendation 21 March</source>
          <year>2013</year>
          , http://www.w3.org/TR/2013/REC-sparql11
          <string-name>
            <surname>-</surname>
          </string-name>
          query-20130321/
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Soylu</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giese</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jimenez-Ruiz</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vega-Gorgojo</surname>
          </string-name>
          , G..,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Experiencing OptiqueVQS: A Multi-paradigm and Ontology-based Visual Query System for End Users</article-title>
          .
          <source>Universal Access in the Information Society, March</source>
          <year>2016</year>
          , Volume
          <volume>15</volume>
          , Issue 1, pp
          <fpage>129</fpage>
          -
          <lpage>152</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Vega-Gorgojo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giese</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heggestøyl</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Soylu</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Waaler</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          (
          <year>2016</year>
          ).
          <article-title>PepeSearch: Semantic Data for the Masses</article-title>
          .
          <source>PLoS ONE</source>
          <volume>11</volume>
          (
          <article-title>3): e0151573</article-title>
          . https://doi.org/10.1371/journal.pone.
          <volume>0151573</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Zviedris</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barzdins</surname>
          </string-name>
          , G.:
          <article-title>ViziQuer: A Tool to Explore and Query SPARQL Endpoints</article-title>
          .
          <source>In: The Semantic Web: Research and Applications</source>
          ,
          <string-name>
            <surname>LNCS</surname>
          </string-name>
          , Volume
          <volume>6644</volume>
          , pp.
          <fpage>441</fpage>
          -
          <lpage>445</lpage>
          , (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>