<!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>Dataset and Feature-Level Provenance Integration for Spatial Datasets</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nicholas J Car</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Geoscience Australia</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Symonston</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Australia</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Email: nicholas.car@ga.gov.au</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Proc. of the 3</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Large, multi-agency projects such as the Foundational Spatial Data Framework are interested in capturing the provenance of their spatial datasets as they are processed and combined to form products. Additionally, work is underway at the CRC for Spatial Information and elsewhere to track the provenance of the production of individual elements (features) within spatial datasets. How can we reconcile these provenance situations, given the different levels of granularity? Can we relate the provenance from lower-level systems to higher levels? Can we use common tools and methodologies? This paper and talk present provenance modelling work that has taken place at Geoscience Australia and CSIRO to solve these issues. The differing levels of granularity can be related however, for interoperability, a standard must be used and we've used PROV.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>INTRODUCTION
wasGeneratedBy
wasAssociatedWith</p>
    </sec>
    <sec id="sec-2">
      <title>Entity</title>
    </sec>
    <sec id="sec-3">
      <title>Agent</title>
      <p>wasDerivedFrom
A. wasAttributedTo
actedOnBehalfOf</p>
    </sec>
    <sec id="sec-4">
      <title>Raster</title>
    </sec>
    <sec id="sec-5">
      <title>Vector  mask</title>
    </sec>
    <sec id="sec-6">
      <title>Config</title>
      <p>actedOnBehalfOf</p>
    </sec>
    <sec id="sec-7">
      <title>ArcGIS</title>
    </sec>
    <sec id="sec-8">
      <title>Person X</title>
      <p>wasAssociatedWith
used
wasGenerateBy</p>
      <p>These three bodies of work are all use PROV at different granularities and for slightly different
purposes, however all three intend to enhance the transparency of the production of spatial products.</p>
      <p>
        In this paper we will demonstrate how standardized provenance information recorded by different
processes at different levels of granularity can be conceptually combined. Such combination is
necessary in order to provide point-of-truth provenance information for data products.
USING THE PROV DATA MODEL
PROV-O provenance depiction
The PROV Data Model [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] consists of 3 main classes of concepts: Entities (things), Activities (events
that act on Entities) and Agents (people or systems that trigger Activities). A diagram of these classes
and their basic relationships is given in Figure 1A. An implementation of PROV-O for a simple
geoprocessing task exhibiting a granularity similar to the examples in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is given in Figure 1B.
      </p>
      <p>
        PROV-O representations of provenance are graph-based in structure. Graphs3 by their nature,
unlike relational databases, contain their schema within the data [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. This allows for infinitely detailed
and infinitely large representations of systems’ provenance with the schema of the graph not limiting
extensions of the information stored about items in it, or the links between items. Real limits on the
information stored are only imposed by the ability of users to capture provenance information and for
storage systems to physically cater for its management.
      </p>
      <p>Additions to provenance graphs can be made by inserting new data into the graph, joining on
appropriate prov:Activity 4 , prov:Entity or prov:Agent nodes. Since PROV-O uses a Resource
Description Framework (RDF)5-based graph, each node’s identity is given as a URI6, thus one just
needs to discover the URI for a node and graph additions can be made.</p>
      <sec id="sec-8-1">
        <title>Target  Dataset</title>
      </sec>
      <sec id="sec-8-2">
        <title>Ancestor </title>
        <p>Dataset 1</p>
      </sec>
      <sec id="sec-8-3">
        <title>Dataset D</title>
      </sec>
      <sec id="sec-8-4">
        <title>Dataset C</title>
      </sec>
      <sec id="sec-8-5">
        <title>Dataset B</title>
      </sec>
      <sec id="sec-8-6">
        <title>Dataset A</title>
      </sec>
      <sec id="sec-8-7">
        <title>Target  Dataset</title>
        <sec id="sec-8-7-1">
          <title>A. all links are prov:wasDerivedFrom</title>
        </sec>
        <sec id="sec-8-7-2">
          <title>B. all links are prov:wasDerivedFrom</title>
        </sec>
      </sec>
      <sec id="sec-8-8">
        <title>Ancestor  Dataset A</title>
      </sec>
      <sec id="sec-8-9">
        <title>Ancestor  Dataset B used wasGeneratedBy</title>
        <p>PROV-O used at different levels of granularity
Detail insertion
If a system records the provenance of a dataset at a high level – perhaps just recording which datasets
are a target dataset’s ancestors (see Figure 2A) – and this information is stored, additions to that can
3 https://en.wikipedia.org/wiki/Graph_(abstract_data_type)
4 PROV-O objects are denoted prov:{CLASS_NAME}, e.g. a PROV Agent is denoted prov:Agent
5 https://en.wikipedia.org/wiki/Resource_Description_Framework
6 https://en.wikipedia.org/wiki/Uniform_Resource_Identifier
be made later that fill in intermediate steps (see Figure 2B). Additionally, if a process records
highlevel provenance noting an activity that has taken place and that consumes (prov:used) and produces
(prov:generated) datasets (see Figure 2C) which is then stored, that too can be added to later by
recording activities at a finer granularity and any intermediate datasets (these don’t necessarily have to
be persisted: their existence may only be represented) (Figure 2D).</p>
        <p>As well as increasing the granularity of provenance graphs by filling in details, detailed provenance
graphs can have their granularity decreased by querying. The SPARQL query protocol7 is for
RDFbased graph databases what SQL is for relational databases. It is able to skip over nodes in provenance
graphs by using path-based, transitive queries. This skipping of intermediate nodes allows one to, for
example, discover the ultimate ancestor of a dataset, despite there being any number of intermediate
ancestors. For the scenario shown in Figure 2B, a path-based SPARQL query can tell the user that
“Ancestor Dataset 1” is the ancestor of “Target Dataset”.</p>
        <p>Dataset Subsetting
Representing dataset subsetting is important for linking provenance at different granularities as
subsetting can be the tie-in points for systems’ reporting provenance at different scales.</p>
        <p>There are a range of options regarding the recording of provenance for datasets that are subsets of
other datasets. The PROV data model doesn’t directly prescribe how one should represent subsetting
of datasets or how a part of a dataset is related to the larger whole: such instructions require far more
detail than the generic PROV data model can deliver. One method of representing detailed dataset
subsetting is shown in Figure 3A. As per that diagram, a dataset subset is created via a prov:Activity
subsetting procedure with instructions as to how the sub-setting was undertaken recorded in a
prov:Plan class object which is a specialised prov:Entity used to denote methodology. The prov:Plan
object could hold computer code, detailed manual methodology or other instructions.</p>
        <p>Another method for representing subsetting is shown in Figure 3B. In this formulation, instructions
for performing the subsetting are not given with additional input data but are described by typing the
subsetting prov:Activity. An example could be a prov:Activity of a hypothetical class such as
“TemporalExtentSubsetting” where the instances of such always subset the Large Dataset with some
selection of a temporal extent. Sufficient metadata for the types subsetting activity, such as actual
temporal extents, would need to be provided elsewhere (i.e. not in the provenance graph) in order to
remove ambiguity from the action. One location for such metadata could be a register of typed
activities maintained for use by a certain set of workflows. Figure 3C presents a combined
formulation in which the typed prov:Activity demands that certain inputs to the subsetting action, in
addition to the dataset from which a subset was taken, be represented in the provenance graph.</p>
        <p>Parent 
Dataset
Subsetting 
Instruction</p>
        <p>Activity</p>
        <p>A</p>
        <p>Dataset </p>
        <p>Subset
Parent 
Dataset
Subsetting </p>
        <p>Instruction</p>
        <p>Additional 
Required input</p>
        <p>Class Key
prov:Entity
prov:Plan</p>
        <p>Classed 
Subsetting </p>
        <p>Activity 
Instance</p>
        <p>Parent 
Dataset</p>
        <p>Dataset </p>
        <p>Subset</p>
        <p>Typed 
Subsetting </p>
        <p>Activity 
Instance</p>
        <p>Dataset 
Subset
Dataset Merging &amp; Splitting
Dataset merging and splitting can be modelled like dataset subsetting with either prov:Plan objects or
typed prov:Activities, or a combination of the two, providing the instructions the action. It follows
that the representations of dataset merging &amp; splitting are akin to that of dataset subsetting shown in
Figure 3 but with multiple input (merging) or multiple output (splitting) datasets.</p>
        <p>
          REPRESENTING FEATURE AND DATASET PROVENANCE
Limited sets of typed actions for features
Where the provenance of features manipulated via a limited set of actions is to be represented, the
representation shown in Figure 3A or B may be used and then aggregated to dataset-level provenance.
Figure 4 shows a representation of a hypothetical set of feature manipulation actions using the
formulation given in Figure 3B: “selected”, “not-selected”, “merged”, “split” and the generic “alter”
typed prov:Activities are shown. These actions may have been carried out against features in one or
more datasets and the results stored in a resultant dataset. They may be the result of specialized spatial
tools, such as ArcGIS, certain actions of which are modelled using PROV-O in [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
        </p>
        <p>For a scenario in which features from one dataset (perhaps classes of vectors in a cadastral dataset)
may be manipulated to form features in another dataset, such actions and their associated features may
be represented as in Figure 4. Figure 4A shows feature-level manipulation and parts B, C &amp; D
datasetlevel integration of feature-level provenance.</p>
        <p>Input 
Feature
Input 
Feature</p>
        <p>Input 
Feature X</p>
        <p>Input 
Feature Y</p>
        <p>Input 
Feature
Input 
Feature</p>
        <p>Selected</p>
        <p>Not‐
selected
Merged</p>
        <p>Split
Alter
A</p>
        <p>Output 
feature
Output 
feature
Output 
Feature A
Output 
Feature B
Output 
feature</p>
        <p>Feature‐action </p>
        <p>mapping
Feature‐action‐
feature mapping</p>
        <p>Input 
Dataset
Input 
Dataset
Input 
Dataset</p>
        <p>Feature 
Manipulation</p>
        <p>Feature 
Manipulation</p>
        <p>Feature 
Manipulation</p>
        <p>Output </p>
        <p>Dataset
Action‐feature 
mapping
Output 
Dataset
Annotated </p>
        <p>Output 
Dataset</p>
        <p>Identifier handling
The three feature-level provenance integration strategies presented in Figure 4B, C &amp; D all rely on
feature identification in order to link input and output features to their manipulation actions and each
other. All three strategies are therefore dependent on either a mechanism for minting IDs for features
that, although they are part of a dataset, are referenceable from outside that dataset or a feature register
that records feature identity independently from any particular dataset. The first case is implementable
by URI patterns in accordance with Linked Data8 principles where the feature-level URIs are mapped
to a higher level dataset-level URI via a relative, logical path. The second case requires a master
feature register that can mint identifiers for features which can be referred to by any dataset containing
them. Such a register may provide access to authoritative copies of their data, but this is not necessary.</p>
        <p>In addition to the requirements listed above, the part B scenario also relies on the identification of,
and storage of, the instance of each typed prov:Activity in order to preserve feature-level provenance
since the feature linking is not directly coupled – it is in two parts: input feature(s) action then
action output feature(s). The part C scenario conceptualizes the input and output feature mapping
as a prov:Plan object for such a mapping if it contains feature-to-action-to-feature mappings that act as
the entire instructions for the “Feature Manipulation” prov:Activity.</p>
        <p>The part D scenario annotates each feature in the output dataset with the identity of its relevant
manipulation actions instance as well as the input features manipulated. Such a formulation is also
dependent on the identification and storage of the instance of each typed prov:Activity, as per part B,
but it also has a shortcoming not present in parts B &amp; C: actions that result in no output feature, such
as feature non-selection, will not be identifiable in the annotated output dataset.</p>
        <p>FSDF DATASET PRODUCTION CASE STUDY
Detail insertion, dataset subsetting, aggregating and splitting actions, as described two sections above,
can easily be used in specific spatial data scenarios. Feature-level action recording and feature/action
mapping as outlined in the section above can be applied to spatial datasets if the feature manipulation
systems are able to record it and if the dependencies, also outlined above, are met.</p>
        <p>Figure 5 shows the processing of two hypothetical FSDF source datasets (A &amp; B) into an FSDF
product. Part A shows simple dataset-level provenance, part B shows dataset-level provenance but
with more details PROV-O formulation, as per Figure 3A. 5C implements many of the techniques
described above, specifically:</p>
        <p>The whole of 5C shows detail insertion (Figure 2D);
The path from Source Dataset A to Intermediate X shows detail addition (3A) and either 4B or
4C formulation, depending on whether feature-action + action-feature mapping (4B) or
featureaction-feature mapping (4C) is used;
The Intermediate X to Intermediate Y path shows typed prov:Activity formulation (3B) and
could use annotated output dataset (4D) mapping;
Intermediate Y plus Source Dataset B fusing to form the FSDF product could be a 3C-type
exercise where the types prov:Activity, “Merging” specifies two input datasets and an feature
mapping prov:Plan which preserves feature origin knowledge. This formulation is also a
featureaction-feature mapping (4C).</p>
        <p>Source 
Dataset A
Source 
Dataset B
Source 
Dataset A
Selection 
Criteria
wasDerivedFrom</p>
        <p>A.</p>
        <p>FSDF </p>
        <p>Product</p>
        <p>Feature  
Manipulation 
(Selection)</p>
        <p>Source 
Dataset A
Source 
Dataset B</p>
        <p>Plan</p>
        <p>Inter‐
mediate X</p>
        <p>Production</p>
        <p>Feature 
Manipulation </p>
        <p>Type M</p>
        <p>FSDF </p>
        <p>Product
Ancestor/Descen
dent mapping</p>
        <p>Inter‐
mediate Y</p>
        <p>Source 
Dataset B</p>
        <p>FSDF </p>
        <p>
          Product
Merging
PROVENANCE DATA MANAGEMENT
It’s also not possible to write in generalities about provenance data collection or generation – in-depth
knowledge of specific systems is required in order to make sensible descriptions – and collecting
provenance data in standardised formats is far harder than managing and storing it [5, see Discussion].
Once collected however, there are a range of generic tools available to manage and manipulate it. The
PROMS family of tools and their associated methodology [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]9 allow any number of systems to report
PROV-O-based provenance information and have it stored in a graph database. The system will
automatically join provenance graphs where the same node URIs are used, thus detail insertion, as per
Figure 2, can easily be achieved. Similarly, the joining of small provenance graphs into larger
supergraphs can be achieved which allows independent systems to assemble continuous graphs across their
individual processes, as long as they can share dataset or feature identifiers in order to report against
them. Most RDF-based graph database allow querying via SPARQL thus the abstraction of detailed
graphs into simpler ones can take place when detail insertion or multi-process reporting has taken
place. Installations of PROMS Server make the SPARQL endpoint of its underlying RDF graph
database available for such use thus allowing fine to coarse granularity translation out of the box.
CONCLUSIONS
We have presented a range of PROV-O-based modelling formulations (ontology design patterns) to
help provenance data managers meld provenance information at varying levels of granularity. We
focused on dataset and feature level provenance, as these are the two obvious granularities for spatial
data products, but the principles could apply to information at other granularities. We have presented
alternative methods for the integration of provenance information of different granularities and
pointed out some of the logical and system dependencies that certain patterns require. We have given
a very brief FSDF case study implementing many of the techniques and also finally described several
aspects of provenance data management referencing a particular tool.
        </p>
        <p>ACKNOWLEDGEMENTS
This paper is published with the permission of the CEO, Geoscience Australia.</p>
        <p>9 See http://promsns.org for up-to-date information on the PROMS family of provenance tools
Proc. of the 3rd Annual Conference of Research@Locate 6</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Moreau</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Missier</surname>
            ,
            <given-names>P</given-names>
          </string-name>
          . (eds.)
          <article-title>PROV-DM: The PROV Data Model</article-title>
          .
          <source>W3C Recommendation 30 April</source>
          <year>2013</year>
          W3C (
          <year>2013</year>
          ). Online at http://www.w3.org/TR/prov-dm/.
          <source>Accessed</source>
          <year>2015</year>
          -
          <volume>12</volume>
          -08.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Car</surname>
            ,
            <given-names>N.J.</given-names>
          </string-name>
          <article-title>Map data lineage: provenance concepts, tools and future shared infrastructure</article-title>
          . Locate2015 Conference presentation (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Sadiq</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>West</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Arnold</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McMeekin</surname>
            ,
            <given-names>D.A.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Moncrieff</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <article-title>Spatial data supply chain provenance modelling for next generation spatial infrastructures using semantic web technologies</article-title>
          .
          <source>MODSIM2015</source>
          ,
          <string-name>
            <surname>Gold</surname>
            <given-names>Coast</given-names>
          </string-name>
          , Australia, 29th Nov - 4th
          <string-name>
            <surname>Dec</surname>
          </string-name>
          ,
          <year>2015</year>
          . (
          <year>2015</year>
          ) Online at http://mssanz.org.au/modsim2015/.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Robinson</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Webber</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Eifrem</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          (
          <year>2013</year>
          )
          <string-name>
            <given-names>Graph</given-names>
            <surname>Databases. O'Reilly Media</surname>
          </string-name>
          .
          <source>ISBN 978-1- 4493-5626-2</source>
          . Online at http://graphdatabases.com.
          <source>Accessed</source>
          <year>2015</year>
          -
          <volume>12</volume>
          -11.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>C.</given-names>
            <surname>Wise</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. J.</given-names>
            <surname>Car</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Fraser</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Squire</surname>
          </string-name>
          .
          <article-title>Standard Provenance Reporting and Scientific Software Management in Virtual Laboratories</article-title>
          . MODSIM2015,
          <string-name>
            <surname>Gold</surname>
            <given-names>Coast</given-names>
          </string-name>
          , Australia, 29th Nov - 4th
          <string-name>
            <surname>Dec</surname>
          </string-name>
          ,
          <year>2015</year>
          . (
          <year>2015</year>
          ) Online at http://mssanz.org.au/modsim2015/.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Nicholas</surname>
            <given-names>J Car</given-names>
          </string-name>
          , Matt Stenson, Mick Hartcher,
          <string-name>
            <given-names>Simon</given-names>
            <surname>Cox</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Peter</given-names>
            <surname>Fitch</surname>
          </string-name>
          , and
          <string-name>
            <given-names>David</given-names>
            <surname>Lemon</surname>
          </string-name>
          .
          <article-title>A provenance management methodology and example architecture for science projects containing heterogeneous automated and manual processes</article-title>
          .
          <source>In HIC 2014 - 11th International Conference on Hydroinformatics, page 8</source>
          , New York, USA,
          <year>2014</year>
          . International Water Association. URL http://academicworks.cuny.edu/cc_conf_hic/57/. Accessed 2015-
          <volume>12</volume>
          -11.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>