<!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>
      <journal-title-group>
        <journal-title>Bolzano, Italy
" cornelis.bouter@tno.nl (C. Bouter); han.kruiger@tno.nl (H. Kruiger); jack.verhoosel@tno.nl (J. Verhoosel)
~ https://www.hankruiger.com (H. Kruiger)</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Domain-Independent Data Processing in an Ontology Based Data Access Environment Using the SOSA Ontology</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Cornelis Bouter</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Han Kruiger</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jack Verhoosel</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>TNO, Department Data Science</institution>
          ,
          <addr-line>Anna van Buerenplein 1, 2595DA The Hague</addr-line>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <volume>000</volume>
      <fpage>0</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>Data pre-processing, analysis, and quality checks are constantly tailored to a specific data set. OntologyBased Data Access (OBDA) can provide the interoperability layer to apply the same procedure on heterogeneous data sets. The SOSA ontology, for example, provides a domain-independent generalization of sensor measurements, and is already employed in various OBDA applications. Data pre-processing procedures or visualization tools that operate on the SOSA structure can be generally applicable if the data is also structured following the ontology. We have developed a tool to show how to apply simple data analysis and visualizations using SPARQL queries generated real-time. The tool was initially centered around the horticultural domain, but in this demonstration we show how to generalize the technique across domains. The demonstration therefore contributes to the OBDA goals of enabling data quality verification and data analysis by presenting how to apply the same interoperability layer across domains.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;ontology based data access</kwd>
        <kwd>semantic sensor network ontology</kwd>
        <kwd>SOSA ontology</kwd>
        <kwd>interoperability</kwd>
        <kwd>data analytics</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>It is a well-known problem that sensors expose their data in diferent formats and with various
meanings. To tackle this problem and use their measurements for data analysis, the naming
and formatting of the measured parameters need to be aligned with each other. A promising
strategy for this problem is the definition and use of a common model or ontology that provides
this alignment, usually called Ontology-Based Data Access (OBDA). The structure provided by
an ontology can be used as a way of pre-processing the data for further analysis. Another part
of this strategy is that of providing insight in the quality of the data in terms of, e.g., indicating
incorrect values, missing values, unreasonable outliers, and time series misalignment.</p>
      <p>In the horticultural domain, for example, many diferent competitors ofer sensors that
measure temperature and humidity (T/Rv sensors) in a greenhouse. A T/Rv-sensor usually is
small such that it can be easily positioned at a specific location to produce local measurements. In
addition, it is cheap and therefore a large set of them can be placed to cover the entire greenhouse.
Various other companies ofer climate computers that produce a wealth of measurements of
diferent parameters inside the greenhouse, especially focused on indoor climate and outdoor
weather conditions, but increasingly also around the status of the crop and energy usage.</p>
      <p>The diferent formats inhibit data exchange, comparison, and analysis in various ways:
• Comparing the climate computer data with the T/Rv measurements within a single
greenhouse;
• Comparing the T/Rv-measurements of sensors of diferent manufacturers; and
• Comparing data of diferent climate computers by diferent vendors.</p>
      <p>
        To realise the described strategy, we have been working on a Common Greenhouse
Ontology1 (CGO) [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. This CGO extends the domain-independent SOSA ontology with concepts
from the horticultural domain. On top of that, a Data Analysis Facility (DAF) has been
developed to achieve further pre-processing of, and provide insight in data to be analyzed. In
this demonstration we show how to generalize our approach across domains to contribute to
domain-independent data processing and analysis.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. State of the Art</title>
      <p>
        The fields of Ontology-Based Data Access (OBDA) define an interoperability layer that utilises
an ontology for communication among a heterogeneous set of databases [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ]. A
domainindependent ontology that may function as the interoperability layer is the Semantic Sensor
Network (SSN) ontology [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ] or its lightweight version the Sensor, Observation, Sample and
Actuator (SOSA) ontology [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. These ontologies have been applied various times from the
industry [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and the IoT environment [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] to our work in the horticultural domain, but without
an attempt to generalize the SOSA extension to similar use cases beyond the respective domains.
Extending OBDA to, e.g., data quality checks and data analytics has been identified as further
research [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. DAF Demonstration</title>
      <p>
        The Data Analysis Facility (DAF) is a tool intended to interpret data structured via the SOSA
ontology consisting of several components (fig. 1). The sensors provide data in a foreign format
which are transformed into RDF by mappers [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The data is stored into various triple stores in
the interoperability layer using a common language that uses SOSA, which is in our use case
the CGO. The interoperability layer contains a triple store for each data set, e.g., for each set
of sensors and for each climate computer in a greenhouse. Each triple store is exposed via a
SPARQL endpoint. The implementation is an extension of Apache Jena Fuseki [
        <xref ref-type="bibr" rid="ref1 ref10">10, 1</xref>
        ]. The DAF
server retrieves this data using SPARQL, and provides a REST API that ofers functionality to
create flattened views into the linked data. The DAF front-end is a web application that uses the
REST API to enable the user to perform analyses on the data.
      </p>
      <sec id="sec-3-1">
        <title>1Available at https://ontology.tno.nl</title>
        <p>The diferentiating factor we want to demonstrate is that we built a domain-independent
interoperability layer despite the domain-specific use case. This is made possible because the
ontology strictly separates domain-independent SOSA concepts from domain-specific concepts
added by the CGO (fig. 2). The DAF tool SPARQL queries can then retrieve domain- specific data
through domain-independent queries. Our demonstration will consist of these two parts: the
ontology design and the SPARQL queries instantiating the data visualizations.</p>
        <sec id="sec-3-1-1">
          <title>3.1. Ontology</title>
          <p>
            The first component we demonstrate is the ontology model describing the structure of the data
available in the triples. The CGO extends the SOSA ontology by providing domain-specific
subclasses for, a.o., sosa:FeatureOfInterest (FoI) and sosa:ObservableProperty (OP).
As an example, we show how the CGO [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ], and by extension SOSA, represents observations of,
e.g., the length of a flower, the photosynthesis of a crop, or the temperature of a greenhouse. We
have developed a mapper from T/Rv sensor or climate computer to the data model for various
vendors.
          </p>
          <p>The main demonstration then follows on generalizing the CGO structure to other domains,
such that the same architecture containing the same SPARQL queries can operate on data
from multiple domains. First, we show how measurements in, e.g., industry or education
can be represented analogously. A machine is the feature of interest that has its energy
consumption (OP) observed. In the education domain the student is the feature of interest whose
attendance rate (OP) is observed. This analogy shows that the ontology design structure is
suficient to align a data set with the DAF; namely, a domain-specific extension (fig. 2) of the
sosa:FeatureOfInterest, the sosa:ObservableProperty, and the sosa:Sensor. This
description can be easily implemented by ontology developers. As an example we show this
implementation for another domain, such as industry or education.</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>3.2. DAF Server and Front-End</title>
          <p>At this point in the demonstration we have shown that the DAF can be used across domains
requiring for each application a domain-specific SOSA extension. The continued demonstration
presents a software architecture based on semantic web protocols together with its
implementation. Its main takeaway should be that the ontology described in the previous section enables
writing of domain-independent SPARQL queries to retrieve domain-specific data.</p>
          <p>As configuration, the DAF application needs one or more SPARQL endpoints that provide
access to datasets using SOSA. Upon initialization of a dataset, the DAF issues domain-independent
SPARQL queries to retrieve the domain-specific data (fig. 3):</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>1. Which sensors are in the dataset?</title>
        <p>2. Which properties of which features of interest do the sensors observe?
PREFIX rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX sosa: &lt;http://www.w3.org/ns/sosa/&gt;
SELECT DISTINCT</p>
        <p>?featureOfInterest ?featureOfInterestType ?label ?typeLabel
WHERE {
?featureOfInterest rdf:type sosa:FeatureOfInterest .
?featureOfInterest rdf:type ?featureOfInterestType .</p>
        <p>OPTIONAL { ?featureOfInterest rdfs:label ?label . }</p>
        <p>OPTIONAL { ?featureOfInterestType rdfs:label ?typeLabel . }
}</p>
        <p>This domain-specific metadata is presented in the front-end to a user, who can select
combinations of sensors and measurements (identified as the combination of a feature of interest
and an observable property) that they want to use as model features in an analysis. We show
that the SPARQL queries transferring data from the triple store to the DAF server are
domainindependent.</p>
        <p>For example, a user may select two model features: the temperature of the air in the
greenhouse, as measured by sensor X, and the humidity of the air in the greenhouse, as measured by
sensor Y. We demonstrate that a SPARQL query is generated on-the-fly based on the selected
model features and sensors. The query result is a flattened view into the dataset with, in this
example, three colums: the (normalized) observation time, the temperature, and the humidity
of the greenhouse air.</p>
        <p>
          We conclude the presentation by showing the data quality visualizations in the front-end: an
outlier detection analysis visualised through scatter plots and several boxplots. Because the
data is flattened, we can leverage the pandas [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] and scikit-learn [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] packages for the analyses
we ofer. The user can also download the selected data to apply more sophisticated data analysis
techniques. These visualizations can inspire further applications and ideas. During this nfial
part we stress that the visualizations are based on data accessed via the ontology.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Discussion &amp; Conclusion</title>
      <p>Our demonstration will show a unified view of how to apply the SOSA ontology in sensor
data application across domains. The ontology is already being applied in various use cases,
but each time it is implemented diferently in another architecture despite the similar goal
of automatically interpreting heterogenous data. Our work presents the initial version of an
architecture that can be employed across use cases involving the SOSA ontology.</p>
      <p>
        The demonstration additionally works towards increased functionality for OBDA systems.
Data quality and analytics powered by ontologies were identified by [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] as directions for further
research. Our tool demonstrates a direct data pipeline from the ontology based data to data
visualizations with underlying outlier detection algorithms. We thereby demonstrate an initial
direction for domain-independent data processing techniques.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J.</given-names>
            <surname>Verhoosel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Nouwt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bakker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sapounas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Slager</surname>
          </string-name>
          ,
          <article-title>A datahub for semantic interoperability in data-driven integrated greenhouse systems</article-title>
          ,
          <source>in: Efita Conference 27-29 Juni</source>
          <year>2019</year>
          ,
          <string-name>
            <given-names>Rhodes</given-names>
            <surname>Island</surname>
          </string-name>
          , Greece,
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>R.</given-names>
            <surname>Bakker</surname>
          </string-name>
          , R. v. Drie,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bouter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. v.</given-names>
            <surname>Rooijen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. v.</given-names>
            <surname>Leeuwen</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Top,</surname>
          </string-name>
          <article-title>The Common Greenhouse Ontology: an ontology describing components, properties, and measurements inside the greenhouse</article-title>
          ,
          <source>in: Efita Conference</source>
          <year>2021</year>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>G.</given-names>
            <surname>Xiao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kontchakov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Poggi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zakharyaschev</surname>
          </string-name>
          ,
          <article-title>Ontology-based data access: A survey</article-title>
          ,
          <source>International Joint Conferences on Artificial Intelligence</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>O.</given-names>
            <surname>Corcho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Priyatna</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          Chaves-Fraga,
          <article-title>Towards a new generation of ontology based data access</article-title>
          ,
          <source>Semantic Web</source>
          <volume>11</volume>
          (
          <year>2020</year>
          )
          <fpage>153</fpage>
          -
          <lpage>160</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Compton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Barnaghi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Bermudez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>García-Castro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Corcho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Cox</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Graybeal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Hauswirth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Henson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Herzog</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Huang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Janowicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. D.</given-names>
            <surname>Kelsey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. Le</given-names>
            <surname>Phuoc</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Lefort</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Leggieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Neuhaus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Nikolov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Page</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Passant</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sheth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Taylor</surname>
          </string-name>
          ,
          <article-title>The SSN ontology of the W3C semantic sensor network incubator group</article-title>
          ,
          <source>Journal of Web Semantics</source>
          <volume>17</volume>
          (
          <year>2012</year>
          )
          <fpage>25</fpage>
          -
          <lpage>32</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>K.</given-names>
            <surname>Taylor</surname>
          </string-name>
          , A. Haller,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lefrançois</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. J.</given-names>
            <surname>Cox</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Janowicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>García-Castro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. Le</given-names>
            <surname>Phuoc</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lieberman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Atkinson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Stadler</surname>
          </string-name>
          ,
          <article-title>The semantic sensor network ontology, revamped</article-title>
          .,
          <source>in: JT@ ISWC</source>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>K.</given-names>
            <surname>Janowicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Haller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. J.</given-names>
            <surname>Cox</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. Le</given-names>
            <surname>Phuoc</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Lefrançois, SOSA: A lightweight ontology for sensors, observations, samples, and actuators</article-title>
          ,
          <source>Journal of Web Semantics</source>
          <volume>56</volume>
          (
          <year>2019</year>
          )
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Obitko</surname>
          </string-name>
          , V. Jirkovsky`,
          <source>Big data semantics in Industry 4</source>
          .0, in: International conference
          <article-title>on industrial applications of holonic and multi-agent systems</article-title>
          , Springer,
          <year>2015</year>
          , pp.
          <fpage>217</fpage>
          -
          <lpage>229</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>T.</given-names>
            <surname>Elsaleh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bermudez-Edo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Enshaeifar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. T.</given-names>
            <surname>Acton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rezvani</surname>
          </string-name>
          , P. Barnaghi,
          <article-title>IoT-stream: A lightweight ontology for internet of things data streams</article-title>
          ,
          <source>in: 2019 Global IoT Summit (GIoTS)</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          . doi:
          <volume>10</volume>
          .1109/GIOTS.
          <year>2019</year>
          .
          <volume>8766367</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>The</given-names>
            <surname>Apache Software Foundation</surname>
          </string-name>
          ,
          <source>Apache Jena Fuseki</source>
          ,
          <year>2021</year>
          . URL: https://jena.apache.org/ documentation/fuseki2/.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>T.</surname>
          </string-name>
          <article-title>pandas development team</article-title>
          , pandas-dev/pandas: Pandas,
          <year>2020</year>
          . URL: https://doi.org/10. 5281/zenodo.3509134. doi:
          <volume>10</volume>
          .5281/zenodo.3509134.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>F.</given-names>
            <surname>Pedregosa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Varoquaux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gramfort</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Michel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Thirion</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Grisel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Blondel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Prettenhofer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Weiss</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Dubourg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Vanderplas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Passos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Cournapeau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Brucher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Perrot</surname>
          </string-name>
          , E. Duchesnay,
          <article-title>Scikit-learn: Machine learning in Python</article-title>
          ,
          <source>Journal of Machine Learning Research</source>
          <volume>12</volume>
          (
          <year>2011</year>
          )
          <fpage>2825</fpage>
          -
          <lpage>2830</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>