Detailed
Provenance Capture
of Data Processing
Ben De Meester, Anastasia Dimou,
Ruben Verborgh, and Erik Mannens
Ghent University – imec – IDLab, Belgium
*
Outline
Linked Data Generation
Problem
Solution
Results
Outline
Linked Data Generation
Problem
Solution
Results
Linked Data comes from
data
Unstructured data
Semi-structured data
Structured data
…
Linked Data comes from
processed data
Unstructured data Parse
Semi-structured data Extract
Structured data Add schema annotations
… …
Going from data to linked data
Data
Schema transformations
Data transformations
Linked Data
Linked Data generation =
schema + data transformations
dbr:
Barney_G
umble
Linked Data generation =
schema + data transformations
dbr:
Barney_G
umble
dbo:birthDate
dbp:voiceactor
dbp:gender
dbp:name
…
Linked Data generation =
schema + data transformations
dbr:
Hawaii
dbr:
Barney_G
umble
dbo:birthDate
dbp:voiceactor
dbp:gender
dbp:name
“1954-4-20"
dbr:
Dan_Caste
llaneta
“Male”
“Barney Gumble”@en
… …
Problem: there’s always a drunk Barney
Data
Schema processing
Data processing
Linked Data
Data
Data
Processing
Knowing where the data
comes from is as important as
the data itself
Oh Yeah?
Outline
Linked Data Generation
Problem
Solution
Results
dbr:
Hawaii
dbr:
Barney_G
umble
dbo:birthDate
dbp:voiceactor
dbp:gender
dbp:name
“1954-4-20"
dbr:
Dan_Caste
llaneta
“Male”
“Barney Gumble”@en
… …
Linked Data re-generation?
Provenance of those transformations
How it’s done for data processing
Provenance log:
Person A used Software B, on System C
Problem: how to reproduce?
Provenance log:
Person A used Software B, on System C
Software B offline?
System C not booting?
What do we need?
Fine-grained provenance
for schema transformations
for data transformations
Independent of the implementation
How can we tell where the
data comes from, without
depending on the system?
Outline
Linked Data Generation
Problem: Data Processing Provenance
Solution
Results
What do we want?
Term-level,
implementation-independent provenance
for schema transformations
for data transformations
What do we want?
Term-level,
implementation-independent provenance
for schema transformations
for data transformations
Generated automatically
What do we want?
Term-level,
implementation-independent provenance
for schema transformations
for data transformations
Generated automatically
Declarative generation process
Steps
Align schema and data transformations
in a declarative document
Generate provenance based on
declarative schema transformations
Generate provenance based on
declarative data transformations
Declarative generation process?
Align schema and data transformations in a declarative
document
Declarative generation process? Solved!
Align schema and data transformations in a declarative
document
RML + FnO
Declarative generation process? Solved!
Align schema and data transformations in a declarative
document
RML + FnO for DBpedia EF
Declarative data transformations for Linked Data generation: the case of DBpedia
De Meester, B., Maroy, W., Dimou, A., Verborgh, R., and Mannens, E.
Sustainable Linked Data Generation: The Case of DBpedia
Maroy, W., Dimou, A., Kontokostas, D., De Meester, B., Verborgh, R., Lehmann, J., Mannens, E. and Hellmann, S.
Schema transformations provenance?
Generate provenance based on declarative mapping
document
Schema transformations provenance?
Solved!
Generate provenance based on declarative mapping
document
RML + PROV
Automated metadata generation for Linked Data generation and publishing workflows
Dimou, A., De Nies, T., Verborgh, R., Mannens, E., and Van de Walle, R.
Data transformations provenance?
Generate provenance based on declarative data
transformations
Data transformations provenance?
Outline
Linked Data Generation
Problem: Data Processing Provenance
Solution
Declarative generation
FnO and PROV
Results
FnO: Function
expects
output
inputString
predicate
outputString
predicate
DBpedia_
date_parser
fno:Function
FnO: Execution
DBpedia_
date_parser
Function
“April 20th 1954”
parseExecution
fno:Execution
“1954-04-20”
outputString
executesinputString
FnO: General Execution
Function
Data Transformation Output
Input
Aligning FnO and PROV
Output
prov:Entity
Tool
prov:Agent
wasGeneratedBy
Data Transformation
prov:Activity
Function
prov:Entity
used
Input
prov:Entity
used wasAssociatedWith
wasAttributedTo
Outline
Linked Data Generation
Problem: Data Processing Provenance
Solution
Declarative generation
FnO and PROV
Results
Uncool thing:
It’s big
When including provenance generation,
for every processed term,
you add 10 triples
Cool thing #1:
System details complementary
Output
prov:Entity
Tool
prov:Agent
wasGeneratedBy
Data Transformation
prov:Activity
Function
prov:Entity
used
Input
prov:Entity
used wasAssociatedWith
wasAttributedTo
Cool thing #2:
Aligning with RML complementary
wasInformedBy
Output
prov:Entity
Tool
prov:Agent
wasGeneratedBy
Data Transformation
prov:Activity
Function
prov:Entity
used
Input
prov:Entity
Schema
Transformation
prov:Activity
used wasAssociatedWith
wasAttributedTo
Cool thing #3:
It actually works
RMLMapper
https://github.com/RMLio/RML-Mapper
FunctionProcessor
https://github.com/FnOio/function-processor-java
DBpedia Extraction Sample
https://fno.io/prov/dbpedia/
How can we find a drunk Barney?
Query for long-lasting processes
Query all outputs of a certain function/tool
Query all input-output pairs
What to do with a drunk Barney?
Performance evaluation
Qualitative comparison
Iterative improvement
(only changing what is needed!)
Outline
Linked Data Generation
Problem: Data Processing Provenance
Solution
Declarative generation
FnO and PROV
Results
Detailed
Provenance Capture
of Data Processing
Ben De Meester, Anastasia Dimou,
Ruben Verborgh, and Erik Mannens
Ghent University – imec – IDLab, Belgium

SemSci2017 - Detailed Provenance Capture of Data Processing

Editor's Notes

  • #13 Not just a person, could be buggy software as well
  • #23 Explain term-level (example)
  • #25 Because it’s declarative, it _can_ be generated automatically Declarative explains complete generation workflow without implementaiton
  • #28 Ideal because declarative and in RDF
  • #40 In summary, we propose a fully declarative generation process and applied this by aligning FnO to PROV. There’s a lot of cool things about this, but there’s one uncool thing…
  • #43 Any schema tf
  • #47 Provenance that provides more insight in the generation of a dataset, thus helps evaluation, comparison, and improvement of dataset generation