<!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>Ontology-based Queries over Cancer Data</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Alejandra Gonz´alez-Beltr´an</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ben Tagger</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Anthony Finkelstein</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Computational and Systems Medicine University College London</institution>
          ,
          <addr-line>London WC1E 6BT</addr-line>
          ,
          <country country="UK">United Kingdom</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Computer Science</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>The ever-increasing amount of data in biomedical research, and in cancer research in particular, needs to be managed to support efficient data access, exchange and integration. Existing software infrastructures, such caGrid, support access to distributed information annotated with a domain ontology. However, caGrid's current querying functionality depends on the structure of individual data resources without exploiting the semantic annotations. In this paper, we present the design and development of an ontology-based querying functionality that consists of: the generation of OWL2 ontologies from the underlying data resources metadata and a query rewriting and translation process based on reasoning, which converts a query at the domain ontology level into queries at the software infrastructure level. We present a detailed analysis of our approach as well as an extensive performance evaluation. While the implementation and evaluation was performed for the caGrid infrastructure, the approach could be applicable to other model and metadatadriven environments for data sharing.</p>
      </abstract>
      <kwd-group>
        <kwd>ontology</kwd>
        <kwd>query</kwd>
        <kwd>caGrid</kwd>
        <kwd>UML</kwd>
        <kwd>OWL2</kwd>
        <kwd>pattern</kwd>
        <kwd>module extraction</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>In the biomedical sciences, the use, exchange and integration of the ever-increasing
amount of data has become paramount to accelerate the discovery of new
approaches for the detection, diagnosis, treatment and prevention of diseases. In
particular, this applies to cancer, for which the US National Cancer Institute
(NCI) and the UK National Cancer Research Institute (NCRI) have implemented
Informatics Initiatives focusing on building and deploying software infrastructure
to manage and analyse data generated from heterogenous data sources.</p>
      <p>
        In this paper, we provide an analysis of the caGrid[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] software
infrastructure developed within the NCI caBIG®3 programme and extend it with richer
querying capabilities. caGrid supports a collaborative information network for
sharing cancer research data, and deals with syntactic and semantic
interoperability of the data resources in a service-oriented model-driven architecture.
Semantic interoperability is achieved by using a metadata registry, which
maintains information models annotated with concepts from a domain ontology: the
3 caBIG® stands for cancer Biomedical Informatics Grid® .
2
NCI thesaurus (NCIt)[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. However, the query functionality provided in caGrid
does not take into account the semantic annotations, but it only relies on each
individual information model.
      </p>
      <p>
        Our methodology is based on extending the caGrid service-oriented
modeldriven infrastructure with additional services to support ontology-based queries
over the distributed data resources. In this way, the biomedical researchers, as
the end-users of our system, will be able to query cancer data by building queries
using their domain knowledge (expressed as concepts from the NCIt ontology)
rather than having to know the underlying models. This also means that the
queries are reusable across resources, which is not the case in the caGrid
infrastructure. This functionality will be incorporated into the NCRI ONcology
Information eXchange (ONIX4). Our approach involves a customised transformation
from annotated information models to an ontological representation using the
Web Ontology Language version 2 (OWL5). This representation supports
annotations based on a primary concept and a list of qualifiers. Based on these
ontological representations of the data resources, we have designed and
developed a query rewriting and translation approach that converts concept-based
queries into the query language supported by the caGrid infrastructure. This
approach is general and could be used to support other target query languages,
as the only step dependent on caGrid is the last one. This work presents
significant improvements over our previous work[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], as we have significantly modified
and improved the OWL representation and the design and implementation of
the query rewriting and translation steps. We have developed a caGrid
analytical service for the transformation from an annotated information model to
OWL. Additionally, we present an analysis of the caGrid query language and
information together with an extensive performance evaluation that justifies the
applicability of our solution.
      </p>
      <p>This paper is structured as follows. Section 2 introduces background material
on the caGrid infrastructure. Section 3 presents an analysis of the caGrid query
functionality and the type of queries supported by its query language. Then, we
present in section 4.1 the OWL representation that is used for query rewriting
and translation, which in turn is described in Section 4.2. The implementation
details and performance evaluation results are given in Sections 4.3 and 4.4,
respectively. The evaluation includes an analysis of the generated ontologies as well
as several performance metrics for OWL generation and query rewriting, which
justify the viability of our approach. After comparing our approach with related
work in Section 5, we conclude the paper in Section 6, including considerations
for future work.
4 http://www.ncri-onix.org.uk/
5 OWL is a recommendation from the World Wide Web Consortium
(W3C) and the language overview for its second version can be found at
http://www.w3.org/TR/owl2-overview/</p>
      <p>
        Background
caBIG®[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is an NCI programme whose aim is to create a virtual and
federated informatics infrastructure for sharing data, tools and connect scientists and
organisations in the cancer research community. The computing middleware in
caBIG® is called caGrid, which is a Grid[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] extended to support data modelling
and semantics[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. caGrid has a number of core services and corresponding
application programming interfaces (APIs), which we will introduce next, by analogy
with the metadata hierarchy[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], as per Figure 1.
      </p>
      <p>
        The metadata
hierarchy represents how the
semantics of raw data
(instance data) can be
augmented by overlaying
metadata of increasing
descriptiveness [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The
syntactic metadata refers to the Fig. 1: caGrid semantic infrastructure.
language format and data types, and in caGrid is represented by XML schemas
managed by the Global Model Exchange (GME)[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] service, which exposes them
through the GME API6. The structural metadata gives form to the units of data.
In caGrid, it is implemented as an object-oriented virtualisation of the
underlying data resources[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and it is represented as UML7 models. These UML models
can be accessed through the Discovery API8. The purpose of the referent
metadata is to represent the linkages between the different data models. In caGrid,
the linkages are provided by a metadata registry, called caDSR9, based on the
ISO/IEC 11179 standard10. caDSR manages common data elements (CDEs) and
exposes them through the caDSR API. The domain metadata represents what
the data is about. It is implemented by a domain conceptualisation, usually in
the form of an ontology[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In the caGrid case, the NCIt ontology[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is used,
accessed via the LexEVS API11. Finally, the rules constitute an overarching
layer that can be applied to all the aforementioned layers. Rules can be used
to constrain and extend the semantics of metadata specifications at any of the
abstraction levels[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In the current caGrid semantic infrastructure, there is no
equivalent to the rule metadata.
      </p>
      <p>
        A data resource owner can share the data by developing caGrid data
services using common interfaces and metadata, as described above. In this way, a
data service encapsulates the data, which is kept in native formats (including,
for example, relational data or flat files), exposing an access interface based on
the object-oriented (UML) model of the underlying resource. The common
interface also exposes a query processor based on the Common Query Language
(CQL) defined for caGrid. CQL is an object-oriented query language reflecting
the underlying object model of the data resource while abstracting the physical
representation of the data[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. At the time of writing, there exist two versions of
6 http://cagrid.org/display/gme/
7 UML stands for the Unified Modeling Language, a specification of the Object
Management Group®(OMG®)
8 http://cagrid.org/display/metadata13/Discovery
9 caDSR stands for cancer Data Standards Repository
10 http://metadata-stds.org/11179/
11 https://cabig.nci.nih.gov/concepts/EVS/
4
CQL and there is a pre-release version of the latest one12. More details on CQL
are given in Section 3.
      </p>
      <p>caGrid also supports basic distributed aggregations and joins of queries over
multiple data services by means of the caGrid Federated Query Infrastructure13,
through a distributed extension of CQL called DCQL. Thus, caGrid relies on
D/CQL – custom query languages based on the structural characteristics of
the resources. In other words, caGrid builds a ’structural layer’, where queries
are expressed in terms of objects, attributes and associated objects, without
allowing for semantic queries. D/CQL are evolving to provide richer structural
queries as new requirements arise from different caBIG® projects. However,
these query languages do not allow for data extraction based on semantic
information. Thus, a shortcoming of caGrid is that does not currently exploit the
referent and domain metadata maintained for its data services. Additionally, as
already mentioned, it is not possible to specify rules about the models nor the
domain semantics.</p>
      <p>As stated in the introduction, this work advocates the extension of the
caGrid infrastructure to exploit its rich metadata by building a semantic layer,
using semantic web technologies to exploit caGrid’s metadata. Additionally, this
extension is capable of: a) accommodating other resources with different ways of
dealing with metadata, and b) specifying rules at different levels of abstraction.
3</p>
      <p>Analysis of the caGrid Query Language
A CQL query is defined by an XML document, which must comply to a specified
XML schema14. The schema indicates that a CQL query must specify a Target
element, which is the data type of the query result. Optionally, an Attribute
element might indicate a predicate over an attribute of the object with Target
type and an Association may specify a link with a related object. In Table 1
we show how a CQL query is built recursively presenting it as a context-free
grammar, where CQLQuery is the start symbol, is the empty string and
xsd:string is the non-terminal variable representing the X SD:string data type.</p>
      <p>So, CQL traverses the UML class diagram graph, where the Target is the
initial class, the Association conditions allow for path navigation by
traversing sequences of consecutive classes and Attribute conditions apply locally to
individual classes. The terminal symbols Group and Group1 represent the
combination of two or more constraints over a particular node in the UML class
graph.
4</p>
      <p>Ontology-based queries over the caGrid infrastructure
As shown before, the caGrid queries rely on the structure of the underlying data
resources, i.e. their UML models. Thus, a biomedical researcher interested in
12 http://cagrid.org/display/dataservices/CQL+2
13 http://cagrid.org/display/fqp/Home
14 The CQL XML schema is available at: http://cagrid.org/display/dataservices/CQL+Schemas
LogicalOp →AND OR
Predicate →EQUAL TO NOT EQUAL TO</p>
      <p>LIKE IS NULL
IS NOT NULL LESS THAN
LESS THAN EQUAL TO
GREATER THAN</p>
      <p>GREATER THAN EQUAL TO
Name → xsd:string
RoleName → xsd:string
Value → xsd:string
QueryModifier → DistinctAttribute</p>
      <p>DistinctAttribute</p>
      <p>AttributeNames
retrieving data about, for example, a particular gene of interest will need to
explore the UML model of each relevant data service and build a query
considering the specific attributes and associations of the class maintaining the Gene
objects. The queries can be built programmatically or also through the caGrid
portal15, which allows to explore the UML models and provides a query builder
based on these models.</p>
      <p>In this work, we propose a system that allows the user to concentrate on
the concepts from the domain, as represented by the NCIt ontology on cancer,
and build the ontology-based queries which are high-level 16 and descriptive17.
Thus, the ontology-based queries can be applicable to any of the underlying data
resources.</p>
      <p>Apart from the cancer concepts found on NCIt, the queries combine elements
from an ontology we built with metadata on UML models18, namely the UML
model ontology. This ontology contains OWL classes to represent UML classes
and attributes (UMLClass, UMLAttribute), OWL object properties to represent
UML associations and the relationship between a UML class and its attributes
(hasAssociation, hasAttribute) and a data property to represent the values of
attributes (hasValue).</p>
      <p>
        Some simple example queries19 are: a) Specimen to retrieve all the objects
that are annotated with the Specimen concept; b) Gene and hasAttribute some
15 http://cagrid-portal.nci.nih.gov
16 By a high-level query, we mean a query that can be written without specific details
about the structure of the target resource.
17 By a descriptive query, we refer to queries that provide the criteria for the desired
data rather than the procedure to find the data.
18 We will see later, than the queries could also use elements from the list ontology[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
19 The example queries are given in Manchester OWL Syntax and are just intended to
show queries retrieving objects from a UML class, a UML class with a condition over
6
(Gene Symbol and hasValue value ”BRCA%”) to find all the genes whose symbol
starts with the string BRCA; c) Single Nucleotide Polymorphism and
hasAssociation some (Gene and hasAttribute some (Gene Symbol and hasValue value
”TGFB1”)) to obtain all the SNPs associated with the Gene Transforming
Growth Factor Beta 1 [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. In our system, these queries could be submitted to
any data service, and they will be converted to the specific CQL query.
      </p>
      <p>We note that the third query specifies SNPs that are associated with genes.
This association may be present in different ways in two separate UML models.
For example, the two corresponding classes may have a direct UML association,
or the association may arise by traversing an association path from the first
class to the second one. In order for our system to deal with those paths of
associations, without the user requiring to know the specific underlying UML
model, we define the hasAssociation property as transitive and use reasoning to
determine the paths.</p>
      <p>Next, we introduce our transformation from caGrid models to an OWL2
representation and the query rewriting/translation approach, which transforms
ontology-based queries into CQL queries. The OWL2 ontologies provide an
unified view of the UML models and their semantic annotations, which allows us
to apply reasoning over them.
4.1</p>
    </sec>
    <sec id="sec-2">
      <title>OWL Representation of caGrid Information Models</title>
    </sec>
    <sec id="sec-3">
      <title>OWL model of UML class di</title>
      <p>agrams. First, we present our customised
UML-to-OWL transformation. This
transformation differs from previous approaches,
as explained in Section 5. Next, we
describe the transformation and use the
portion of the caBIO 4.2 information
model in Figure 2 to give examples.
Every UML element is related to its
counterpart in the UML model ontology: all Fig. 2: Part of UML class diagram for
UML classes and attributes are defined caBIO 4.2
as subclasses of UMLClass and UMLAttribute, respectively (see equations Eq.
1 and Eq. 2 below20); all the UML associations are sub-properties of
hasAssociation (Eq. 4), and the datatype property hasValue is used to specify the type
of the attributes (Eq. 3) as an existential restriction. Contrary to other
UMLto-OWL transformations, we represent UML attributes as OWL classes. This is
required so that the ontology-based queries can include the concepts associated
with attributes.</p>
      <p>c:Chromosome
c:Chromosome number
c:Chromosome number
c:Chromosome locationCollection Location
u:UMLClass
u:UMLAttribute
∃ u:hasValue.xsd:string
u:hasAssociation
(1)
(2)
(3)
(4)</p>
      <p>UML subclass and superclass relationships are represented with subsumption
(Eq. 5). For each UML class, existential restrictions are added for its
associaan attribute and two associated UML classes with a restriction over an attribute of
one of the classes, respectively.
20 The prefixes used in the equations are: c: for the caBIO 4.2 ontology, u: for the UML
model ontology, n: for the NCIt ontology and l: for the list ontology. We note that
the name of an OWL class corresponding to an attribute includes the class name to
avoid duplications and for associations, it includes its domain and range.
7
tions (Eq. 6) and attributes (Eq. 7). While UML does not explicitly represent
inherited associations, our OWL representation makes them explicit, modeling
the semantics of UML. For example, as the UML class Location has an
association chromosome with the class Chromosome, this association is inherited on
the subclass CytogeneticLocation (Eq. 8).</p>
      <p>c:CytogeneticLocatoin
c:Chromosome
c:Chromosome
c:CytogeneticLocation
c:Location
∃ c:Chromosome locationCollection Location.
c:Location
∃ u:hasAttribute.u:Chromosome number
∃ c:Location chromosome Chromosome.
c:Chromosome
(5)
(6)
(7)
(8)</p>
      <p>
        We note that the generated OWL ontologies belong to OWL2EL[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], an OWL2
profile specifically designed to allow for efficient reasoning with large
terminologies, which is polynomial in the size of the ontology. While OWL2EL disallows
universal quantification on properties, it does allow the inclusion of transitive
properties. Thus, it is suitable for our UML-to-OWL transformation customised
for the rewriting approach as outlined before.
      </p>
      <p>
        OWL Representation of the Semantic Annotations. Apart from
representing the UML model, we also model its mapping to NCIt, as maintained
in caDSR. Through the CDEs, UML elements are annotated with a primary
concept, which indicates the meaning of the element. In turn, a list of qualifier
concepts may be used to modify the primary concept, giving specific meaning.
As OWL2 does not natively supports the representation of lists, we used
Drummond et al ’s design pattern for sequences[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] to model primary concepts and
qualifier lists. The following equations give some examples on how the semantic
annotations of UML classes (Eq. 9) and attributes (Eq. 10) with a single concept
are modelled. Equation 12 models the class c:SNPCytogeneticLocation as being
a n:Location qualified with l:Chromosome Band and
n:Single Nucleotide Polymorphism.
      </p>
      <p>c:Chromosome
c:Chromosome numer
c:SNPCytogeneticLocation
n:Chromosome
n:Name
n:Location (l:OWLList
∃l:hasContents.n:Chromosome Band
∃ l:hasNext.(l:OWLList
∃ l:hasContents.n:Single Nucleotide Polymorphism))
(9)
(10)
(11)</p>
      <p>
        Module Extraction from NCI Thesaurus Ontology. The NCIt
ontology is very large, as it provides a common vocabulary for the whole cancer
domain[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Each caGrid data service is, in general, concerned with data
pertaining to more specific domains than the whole NCIt ontology. Thus, for each
caGrid data service referring to a subset Σ of the NCIt vocabulary, there is a
subset of terms and relationships from NCIt that is relevant, called a module
from the ontology[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. The module M represents all knowledge about the terms
of the signature Σ. One of the approaches torelevance is logic-based: the module
M is relevant for the terms Σ if all the consequences of the ontology that can
be expressed over Σ are also consequences of M[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. We follow that approach by
8
Sattler et al [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and extract an NCIt module for each of the information
models in caGrid. For succinctness and efficiency, this module is used, as opposed
to the whole NCIt ontology, for the semantic annotations of UML models and
subsequent reasoning. However, we observe that we removed the disjoint axioms
from the NCIt modules, as we noted before[
        <xref ref-type="bibr" rid="ref3 ref9">3,9</xref>
        ] using subsumption to represent
UML class to concept mapping may result in inconsistent ontologies as the
annotations for a single class may come from two high-level branches in NCIt that
are declared as disjoint.
4.2
      </p>
      <p>
        Query Rewriting and Translation
This section describes how an ontology-based query is rewritten and then
translated, first to an intermediate optimisation language and then to the target CQL
language. While the overall approach is similar to our previous work[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ],
previously we relied completely on justifications[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and now we have extensively
improved the approach by dealing with each of the steps independently. We
provide the output of each step for the third query from Section 4.
      </p>
      <p>
        Parsing. First, the user query is syntactically parsed. The query uses
concepts from the NCIt, the UML model (see Section 4.1) and the list ontologies[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>UML Extraction. The NCIt concepts in the query are translated into
specific UML classes, by reasoning over the generated ontologies. Each concept is
the super-class of a UML class or UML attribute, depending on their position
on the query. Often, a single NCIt concept will correspond to many UML classes
(or attributes) and, in such cases, each UML class is returned to form an
individual query. Therefore, the outcome of the UML extraction is a combination
of possible queries given the extracted UML classes or attributes. The outcome
for our example query is: c:SNP and hasAssociation some (c:Gene and hasAttribute
some (c:Gene symbol and hasValue value ”TGFB1”)) .</p>
      <p>Data Values Extraction. As the generated ontologies do not contain
instances, the semantic validation of the query, expressed as an OWL class
expression, must ignore the data expressions. This step extracts the data expressions,
which will be reinserted later on. This step results in c:SNP and hasAssociation
some (c:Gene and hasAttribute some (c:Gene symbol)).</p>
      <p>Semantic Validation. We use a reasoner to check that the resulting query
can be satisfied. If the query cannot be satisfied, subsequent rewriting of the
query is halted.</p>
      <p>
        Properties Path Finder. This step deals with the ontology corresponding
to the UML model (the semantic annotations do not need to be considered
any longer) and aims at finding the path of UML classes related through the
transitive property hasAssociation21. The path finder rewrites the expression
using non-transitive properties, corresponding to UML associations, by using an
explanation generator[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] that retrieves the justification for two classes to be
21 We note that the ontology is compliant with the OWL2 EL profile, as OWL2
EL supports the use of transitive object properties. For more information, see
http://www.w3.org/TR/owl2-profiles/
9
connected via the transitive property, and thus allowing to find the intermediate
classes. The path finder may find more than one path between a set of nodes
and, in such cases, will return each path as a combination of possible queries
for user selection. One path for our example query is: c:SNP and hasAssociation
some c:GeneRelativeLocation and hasAssociation some (c:Gene and hasAttribute some
(c:Gene symbol)).
      </p>
      <p>Data Values Addition. At this point, we can retrieve the data expressions
removed earlier and re-insert them into the corresponding OWL classes, resulting
in c:SNP and hasAssociation some c:GeneRelativeLocation and hasAssociation some
(c:Gene and hasAttribute some (c:Gene symbol and hasValue value ”TGFB1”)).</p>
      <p>
        OWL Expression to MCC Translation. No calculus or algebra has been
defined for the object-oriented query language CQL. To provide a translation
with CQL as target language, we use the monoid comprehension calculus (MCC),
as it is a formal framework to support object queries optimizations[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Object
queries involve collections (e.g. sets, lists, bags), whose semantics can be captured
by monoid comprehensions (MC). In this paper, we only overview MCs and its
use in our system22. Our approach is similar to the work by Peim et al [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], but
while they use an expansion algorithm to rewrite an OWL expression based on
a set of acyclic set of definitions, we follow the specific steps described above.
      </p>
      <p>A MC takes the form ⊕{e q}, where ⊕ is a monoid23 operator called the
accumulator, e is the header and q = q1, . . . , qn, n ≥ 0 is a sequence of qualifiers.
A qualifier can take the form of a generator, v ← e′ with v a range variable
and e′ an expression constructing a collection, or a filter predicate. The symbol
denotes the accumulator for bags24. For an OWL class expression from the
previous step, an MCC expression is built such that: the header variable is
determined by the first concept in the query and the qualifiers are built for each
of the remaining expressions. The MCC expression for our example is: { s
s ← SNP, r ← s.relativeLocationCollection, r ← GeneRelativeLocation, g ← r.gene, g
← Gene, g.symbol=TGFB1 }</p>
      <p>
        MMC to CQL Translation. Translating the MCC expression into CQL
amounts to: define as Target the type of the variable that appears in the header
and then, including an Association per each pair of generators, one
determining the name (the class to which they belong) and the other identifying the
role name; include an Attribute restriction for each filter. As this last step is
the only one involving CQL, only this last step requires to be modified to
extend our methodology to other model-driven architectures with a different target
language. The resulting CQL in the example is:
&lt;ns1 : CQLQuery xmlns : ns1=”http : / /CQL. caBIG/1/ gov . nih . n c i . c a g r i d . CQLQuery”&gt;
&lt;ns1 : Target name=”gov . nih . n c i . c a b i o . domain . SNP”&gt;
22 For more details, we refer the reader to [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]
23 A monoid of type T is an algebraic structure defined by (⊕, Z⊕) where ⊕ ∶ T × T → T
is an associative funcion and Z⊕ is the left and right identity of ⊕. A collection
monoid is a monoid for a collection type (e.g. lists or bags) and must also specify a
unit function building a singleton collection.
24 For example, {x x ← {1, 2}} is the monoid comprehension representing the bag
{{1, 2}}.
&lt;ns1 : A s s o c i a t i o n name=”gov . nih . n c i . c a b i o . domain . G en e Re la tive Lo c atio n ”
roleName= ” r e l a t i v e L o c a t i o n C o l l e c t i o n ”&gt;
&lt;ns1 : A s s o c i a t i o n name=”gov . nih . n c i . c a b i o . domain . Gene” roleName=”gene”&gt;
&lt;ns1 : A t t r i b u t e name=”symbol ” p r e d i c a t e =”EQUAL TO” v a l u e=”TGFB1”/&gt;
&lt;/ns1 : A s s o c i a t i o n &gt;
&lt;/ns1 : A s s o c i a t i o n &gt;
&lt;/ns1 : Target&gt;
&lt;/ns1 : CQLQuery&gt;
4.3
      </p>
      <p>Implementation
We have implemented two modules, with the functionalities: a) an OWL
generator, which transforms a caGrid annotated UML model into an OWL ontology
and includes the generation of a module from the NCIt containing the concepts
relevant to the UML model; b) a query translation component, which takes as
input a OWL class expression using concepts from the NCI thesaurus and
transforms it into a CQL for a single data service.</p>
      <p>For the first module, we also produced a caGrid analytical service called
OWLGenService25, which provides a simple API for the extraction of modules
from NCIt and for the ontology generation, given a specific information model.</p>
      <p>The implementation was done in Java and uses caGrid version 1.326, the
OWLAPI version 3.1.027 (after upgrading from OWLAPI version 2), and relies
on the reasoners Pellet 2.2.228 and HermiT 1.3.029.
4.4</p>
      <p>Performance Evaluation
This section analyses the generated ontologies and presents two areas of
performance evaluation that verify the viability of our approach. Since one
important step in the query rewriting/translation process is the property path finder
(see Section 4.2), we firstly introduce some metrics to assess the paths in the
generated ontologies. These paths are sequences of concepts linked by object
properties. Secondly, we present the generation times for the module extraction,
the ontology generation and the inference of the ontologies using both the Pellet
and HermiT reasoners. These results show that the generation of the ontologies
that make possible our approach is done in a timely fashion. Thirdly, we
evaluate the performance of the query rewriting process, showing a breakdown of the
constituent parts of the rewriting algorithm. For this evaluation, we considered
two sets of five queries each run over the caBIO data service30, where each set
consists of queries that involve paths of lengths one and two. The tests were run
25 The OWLGenService is accessible through the caGrid
tal at http://cagrid-portal.nci.nih.gov and available
http://stylus 157.stylusinternet.net:9600/wsrf/services/cagrid/OwlgenService
26 http://wiki.cagrid.org/display/caGrid13/Home
27 http://owlapi.sourceforge.net/
28 http://clarkparsia.com/pellet/
29 http://hermit-reasoner.com
30 http://cabiogrid42.nci.nih.gov:80/wsrf/services/cagrid/CaBIO42GridSvc
porat
11
on a Red Hat Enterprise Linux Server release 5.3 (Tikanga) with 64 bits and
48285 MB of RAM.</p>
      <p>This section analyses the generated ontologies and presents two areas of
performance evaluation that verify the viability of our approach. Since one
important step in the query rewriting/translation process — from Section 4.2 — is the
property path finder, we firstly introduce some metrics to assess the sequences
of concepts linked by object properties (paths) in the generated ontologies.
Secondly, we present the generation times for the module extraction, the ontology
generation and the inference of the ontologies using both the Pellet and HermiT
reasoners. These results show that the generation of the ontologies that make
possible our approach take a short time. Thirdly, we evaluate the performance
of the query rewriting process with a breakdown of the constituent parts of the
algorithm. For this evaluation, we considered two sets of five queries each, where
each set consists of queries that involve paths of lengths one and two. The
results were obtained by running on a Red Hat Enterprise Linux Server release 5.3
(Tikanga) with 64 bits and 48285 MB of RAM.</p>
      <p>Throughout this section, we have grouped caGrid projects into three distinct
subsets: projects that are available from the caDSR service, all data services that
are registered with the caGrid default index service31, and Information Models
(or InfoModels) (those models that are supported by a deployed service from the
caGrid Index Service)32. We note that the groups caGrid and InfoModels are
the more relevant for our system, as only against these projects it is possible to
execute CQL queries. While InfoModels include a single project from caDSR for
a set of deployed services corresponding to that project, caGrid may include the
results for several services that correspond to a single model. Thus, the caGrid
results will be skewed according to the relative weight of services as opposed to
models.</p>
      <p>Analysis of the OWL representation of the information models.</p>
      <p>
        While ontology metrics have been defined in several tools [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], these have
focused on basic metrics (e.g. number of classes) and semantic-based metrics
(e.g. relationship richness) that allow for the comparison and quality evaluation
of the ontologies. Here, we will focus on the presentation of some bespoke metrics
we developed to measure the proliferation and complexity of paths within the
ontologies, as these will ensure the viability of our approach.
      </p>
      <p>As seen in Section 4.2, our rewriting process seeks to remove the
upperlevel and transitive object property hasAssociation and express the query using
only non-transitive properties, which correspond to the UML associations in the
models. In order to achieve this, we consider the paths between pairs of concepts
31 http://cagrid-index.nci.nih.gov:8080/wsrf/services/DefaultIndexService
32 It should be noted that not all caDSR projects are included in the metrics; some
contained errors (their semantic metadata is not complete or refers to an older version
of the NCI thesaurus) and some models are targeted for data modelling, rather than
specifically holding data, making them not representative for our system. Out of
the 136 projects in caDSR, 16 were excluded from the analysis for these reasons.
However, none of the excluded projects had an associated service. Additionally, the
caGrid subset has 63 services and InfoModels has 23 projects.
12
from the query connected through the hasAssociation property. The calculation
of these paths is not trivial; there may be many intermediate nodes and there
may be more than one path for a given pair of concepts. We define a journey
as a traversal from one concept to another. A journey may have one or many
paths, which represent the possible routes that the traversal can take. Thus, it
is important to evaluate these aspects of the ontologies in order to assess the
viability of a rewriting tool.</p>
      <p>We propose the following metrics as a measure of complexity in this respect.
The Longest Path is the maximum path length that may be computed within a
given ontology. The longest path length provides an indication of the worse case
for path calculation times. The Average Paths per Journey reflects the degree of
path expansion within the rewriting algorithm, as each journey (e.g. from Node
A to Node B) may have many different paths. The rewriting algorithm should
return all possible paths as each path may refer to a different expression of the
query. When we consider that a single query may include multiple independent
journeys, the possible query rewritings can become very large. The Average
Nodes per Path is the average number of nodes that must be visited in order to
return a single path. The path length can affect the calculation time as well as
the complexity of the resulting query.</p>
      <p>Figure 3 illustrates three box-and-whisker plots with the results of the path
metrics for each project subset. We observe that while the longest path can have
up to 36 nodes, for 75 % of the projects in each category their length is less than
17 or 18. The average path length varies between 4 and 7 nodes over the three
subsets, and for 75 % of the InfoModels it is less than 8. There is an average of
around 2 paths returned for each journey, and for 75 % of the projects in each
category the average path per journey is less than 2.5, indicating that we will
be returning a low number of path combinations as a result. These results, then,
verify that the paths within the ontologies are manageable and appropriate for
our rewriting tool. We also note that in all the metric diagrams, the caGrid
subset is often very densely clustered around the mean. This is due to the fact
that there are often many caGrid services for the same project that differ to
one another very slightly or not at all, which can result in multiple similar or
identical results.
13</p>
      <p>Ontology Generation, Module Extraction and Classification. In
order to isolate any overhead caused by variations in network performance, we
extracted the XML corresponding to each project (or information model) in
caDSR. This is a preliminary step to run the performance evaluator locally, and
we do not include any data about the performance of this stage. We
generate four ontologies for each project: the NCIt module ontology (incorporating
the concepts from NCIt relevant to the project), the annotated UML ontology
(including the classes describing the UML model) and inferred versions of the
two ontologies33. We recorded the time for each generation and Figure 4 shows
them for the four ontologies per project grouped by subset. The times are
presented in a logarithmic scale. We can see that the vast majority (75%) of NCIt
modules take less than 2 seconds to generate and even less time for ontology
generation. The classification of the generated ontologies is also timely, with the
average inference of the Pellet and HermiT reasoners never taking longer than
100 milliseconds.</p>
      <p>
        Query Rewriting Evaluation. We have developed a suite of queries of
varying complexity in order to evaluate the query rewriting. The results are
presented in figure 5, which shows the average time34 taken at each stage of
the query rewriting process35 for five queries whose rewriting has path length
one, five queries whose rewriting has path length two and the mean times for
these two sets. Path length refers to the number of intermediate nodes in the
query resulting from the rewriting. We can see from figure 5 that, while path
length has a marked effect on the time taken at the path finding stage, the other
stages of implementation remain largely unaffected. We therefore maintain that,
given our analysis of paths within our target ontologies described above, we can
provide query rewriting in a timely and efficient manner.
33 We generate the inferred ontologies classifying the generated ontologies using both
the HermiT and Pellet reasoners.
34 Each query was ran 5 times and the average times calculated.
35 These correspond to the stages of query rewriting; parsing, UML extraction,
validation, path finding, MCC conversion and CQL conversion. For more information,
refer to section 4.2.
The UML-to-OWL transformation has been studied in different contexts and
applications varying from the detection of inconsistencies in UML diagrams to
use as interchangeable modeling artifacts[
        <xref ref-type="bibr" rid="ref14 ref15">14,15</xref>
        ]. We have also provided different
alternative transformations before[
        <xref ref-type="bibr" rid="ref3 ref9">3,9</xref>
        ] and have improved it here so that the
UML transformation conforms with OWL2EL profile, where the semantic
annotations use subsumption and additionally, primary concepts and qualifiers are
modelled as sequences.
      </p>
      <p>
        The use of semantic web technologies to support semantic queries over
distributed data environments in biomedicine have been implemented in systems
such DartGrid[
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] (for traditional chinese medicine), ACGT[
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] and semCDI[
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]
(for cancer). To the best of our knowledge, the latest is the only work over the
caGrid infrastructure. All these systems support SPARQL queries over the
resources, while our system allows for high-level descriptive queries which do not
need to be based on the structure of particular resources. Additionally, our
approach using MCC as an intermediary language provides support for
optimisations and generality, as a different target language could be used, even SPARQL.
6
      </p>
      <p>
        Conclusions
This paper presented the design and implementation of an ontology-based
querying functionality implemented over a service-oriented, model-driven
infrastructure aimed at sharing cancer research data. In particular, the implementation
was based on the caGrid infrastructure, but the approach could be used over
similar model-driven software infrastructures. We presented: a) the generation
of customised OWL2 ontologies from annotated UML models, based on the
ISO11179 standard for metadata registries, which differs from traditional
UMLto-OWL conversions and it is an improvement from[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], mainly as we now
generate OWL2EL ontologies for the UML models and support annotations with
primary concept and qualifiers; b) an analysis of the generated ontologies by
determining several relevant ontology metrics, existing and new metrics that
justify the viability of our rewriting technique; c) a caGrid analytical service
implementing the OWL Generation facility; d) an analysis of the capabilities of
15
the caGrid query language, and the queries it supports; e) a significant revision
and improvement of the query rewriting and translation steps to transform a
domain ontology-based query into CQL; f) an extensive performance evaluation of
the OWL generation and module extraction, plus an assessment of the querying
rewriting and translation process and its viability. In future work, we will extend
the query rewriting/translation evaluation providing a varied query set, explore
the use of an OWL2EL reasoner to improve performance of the path finding
process and support federated queries across data resources, where the
selection of join conditions will be provided by a semantic analysis of the distributed
resources.
      </p>
      <p>Acknowledgements The authors are grateful to the National Cancer Research
Institute Informatics Initiative for support for their research.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Saltz</surname>
          </string-name>
          et al .
          <article-title>caGrid: design and implementation of the core architecture of the cancer biomedical informatics grid</article-title>
          .
          <source>Bioinformatics</source>
          ,
          <volume>22</volume>
          (
          <issue>15</issue>
          ):
          <fpage>1910</fpage>
          -
          <lpage>1916</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Hartel</surname>
          </string-name>
          et al .
          <article-title>Modeling a description logic vocabulary for cancer research</article-title>
          .
          <source>Journal of Biomedical Informatics</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Gonza</surname>
          </string-name>
          <article-title>´lez-Beltra´n et al</article-title>
          .
          <article-title>Domain Concept-Based Queries for Cancer Research Data Sources</article-title>
          .
          <source>In CBMS</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Foster</surname>
          </string-name>
          .
          <article-title>The anatomy of the grid: Enabling scalable virtual organizations</article-title>
          .
          <source>In CCGRID, page 6</source>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Pollock</surname>
          </string-name>
          et al .
          <source>Adaptive Information: Improving Business Through Semantic Interoperability, Grid Computing and Enterprise Integration</source>
          . Wiley-Interscience,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Drummond</surname>
          </string-name>
          et al.
          <article-title>Putting OWL in order: Patterns for sequences in OWL</article-title>
          .
          <source>In OWLEd</source>
          <year>2006</year>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Cuenca-Grau</surname>
          </string-name>
          et al .
          <article-title>OWL 2: The next step for OWL</article-title>
          .
          <source>J. of Web Semantics</source>
          ,
          <volume>6</volume>
          (
          <issue>4</issue>
          ):
          <fpage>309</fpage>
          -
          <lpage>322</lpage>
          ,
          <year>November 2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Sattler</surname>
          </string-name>
          et al .
          <article-title>Which kind of module should I extract?</article-title>
          <string-name>
            <surname>In</surname>
            <given-names>DL</given-names>
          </string-name>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>McCusker</surname>
          </string-name>
          et al .
          <article-title>Semantic web data warehousing for cagrid</article-title>
          .
          <source>BMC Bioinformatics</source>
          ,
          <volume>10</volume>
          <issue>Suppl 10</issue>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Kalyanpur</surname>
          </string-name>
          et al .
          <article-title>Finding all justifications of owl dl entailments</article-title>
          .
          <source>In ISWC/ASWC</source>
          , pages
          <fpage>267</fpage>
          -
          <lpage>280</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Fegaras</surname>
          </string-name>
          et al .
          <article-title>Optimizing object queries using an effective calculus</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .,
          <volume>25</volume>
          (
          <issue>4</issue>
          ):
          <fpage>457</fpage>
          -
          <lpage>516</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Peim</surname>
          </string-name>
          et al .
          <article-title>Query processing with description logic ontologies over object-wrapped databases</article-title>
          .
          <source>In SSDBM</source>
          , pages
          <fpage>27</fpage>
          -
          <lpage>36</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Garcia</surname>
          </string-name>
          et al.
          <source>A Survey on Ontology Metrics. CCIS</source>
          ,
          <volume>111</volume>
          :
          <fpage>22</fpage>
          -
          <lpage>27</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Berardi</surname>
          </string-name>
          et al .
          <article-title>Reasoning on uml class diagrams</article-title>
          .
          <source>Artificial Intelligence</source>
          ,
          <volume>168</volume>
          (
          <issue>1- 2</issue>
          ):
          <fpage>70</fpage>
          -
          <lpage>118</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. Gaˇsevi´c et al .
          <source>MDA-based Automatic OWL Ontology Development. JSTTT</source>
          ,
          <volume>9</volume>
          (
          <issue>2</issue>
          ):
          <fpage>103</fpage>
          -
          <lpage>117</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Chen</surname>
          </string-name>
          et al .
          <article-title>Dartgrid: a semantic infrastructure for building database grid apps</article-title>
          .
          <source>Concurr. Comput. : Pract</source>
          . Exper.,
          <volume>18</volume>
          (
          <issue>14</issue>
          ):
          <fpage>1811</fpage>
          -
          <lpage>1828</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Tsiknakis</surname>
          </string-name>
          et al.
          <article-title>A semantic grid infrastructure enabling integrated access and analysis of multilevel biomedical data in support of postgenomic clinical trials on cancer</article-title>
          .
          <source>IEEE Trans on IT in Biomedicine</source>
          ,
          <volume>12</volume>
          (
          <issue>2</issue>
          ):
          <fpage>205</fpage>
          -
          <lpage>217</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Shironoshita</surname>
          </string-name>
          et al .
          <source>semCDI: Semantic Query Formulation for caBIG. JAMIA</source>
          ,
          <volume>15</volume>
          (
          <issue>4</issue>
          ):
          <fpage>559</fpage>
          -
          <lpage>568</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>