Workflow Support for Con/nuous Data Quality Control in a - - PowerPoint PPT Presentation

workflow support for con nuous data quality control in a
SMART_READER_LITE
LIVE PREVIEW

Workflow Support for Con/nuous Data Quality Control in a - - PowerPoint PPT Presentation

Workflow Support for Con/nuous Data Quality Control in a FilteredPush Network J. Hanken, D. Lowery, B. Ludscher , J. Macklin, T. McPhillips P. Morris,


slide-1
SLIDE 1

1 ¡

Workflow ¡Support ¡for ¡Con/nuous ¡Data ¡Quality ¡ Control ¡in ¡a ¡FilteredPush ¡Network ¡

  • J. ¡Hanken, ¡D. ¡Lowery, ¡B. ¡Ludäscher, ¡J. ¡Macklin, ¡T. ¡McPhillips ¡
  • P. ¡Morris, ¡B. ¡Morris, ¡T. ¡Song ¡

¡

slide-2
SLIDE 2

Problem: Data & Metadata Quality

  • Collections & occurrence data

… is all over the map … literally (off the map!)

  • DQ Issues, e.g., …

– Lat/Long transposition, coordinate & projection issues – Scientific Names (spelling errors, other) – Data entry/creation, “fuzzy” data, naming issues, bit rot, data conversions and transformations, schema mappings, … (you name it)

  • Related Projects:

– Filtered-Push – Kurator

2 ¡

slide-3
SLIDE 3

What ¡problems ¡are ¡we ¡trying ¡to ¡solve? ¡

  • Detect ¡and ¡flag ¡data ¡quality ¡issues ¡
  • Repair ¡if ¡possible ¡

– … ¡ask ¡human ¡curators ¡as ¡needed ¡

  • Keep ¡track ¡of ¡provenance ¡

– automaFc ¡repairs ¡ – human ¡curators’ ¡edits ¡

  • Employ ¡workflow ¡(semi-­‑)automa/on ¡ ¡

– Scien/fic ¡workflow ¡systems: ¡ ¡

  • Kepler/COMAD, ¡ResOlow, ¡Galaxy, ¡Biovel/Taverna, ¡Argo, ¡VisTrails, ¡… ¡ ¡

– Related ¡technologies ¡

  • Akka ¡parallel ¡execuFon ¡plaNorm ¡
  • Script-­‑based ¡automaFon ¡(e.g. ¡Python) ¡and ¡digital ¡notebooks ¡(iPython) ¡

3 ¡

slide-4
SLIDE 4

Data Curation Workflow

4 ¡

Dou, ¡Lei., ¡G. ¡Cao, ¡P.J. ¡Morris, ¡R.A. ¡Morris, ¡B. ¡Ludäscher, ¡J.A. ¡Macklin, ¡J. ¡Hanken. ¡2012. ¡Kurator: ¡A ¡Kepler ¡Package ¡for ¡ Data ¡Cura/on ¡Workflows, ¡Procedia ¡Computer ¡Science, ¡9:1614-­‑1619, ¡doi:10.1016/j.procs.2012.04.177 ¡

slide-5
SLIDE 5

Customers ¡of ¡Cura/on ¡Workflows ¡

  • Collec/on ¡Managers ¡ ¡

– … ¡who ¡are ¡managing ¡the ¡collecFons ¡databases ¡ – Can ¡run ¡curaFon ¡workflows ¡periodically ¡ ¡

  • … ¡in ¡the ¡presence ¡of ¡new ¡data ¡and/or ¡new ¡curaFon ¡services ¡
  • (Biodiversity) ¡Researchers ¡

– To ¡perform ¡an ¡analysis ¡in ¡the ¡presence ¡of ¡(parFally) ¡ dirty ¡data, ¡researchers ¡need ¡to ¡

  • Clean ¡or ¡fix ¡dirty ¡data ¡
  • Throw ¡out ¡unfixable ¡data ¡

– ReporFng ¡back ¡to ¡the ¡collecFon ¡managers ¡(cf. ¡FPush) ¡

5 ¡

slide-6
SLIDE 6

Filtered ¡Push ¡

hbp://xkcd.com/386/ ¡

(1) ¡Kvetch ¡about ¡data ¡ (2) ¡Push ¡to ¡interested ¡parFes ¡ (3) ¡Human ¡Filter ¡ (4) ¡Change ¡data ¡ ¡in ¡databases ¡ (5) ¡Store ¡all ¡ ¡ asserFons ¡

Source: ¡Paul ¡J. ¡Morris ¡

6 ¡

slide-7
SLIDE 7

7 ¡

Akka ¡cura(on ¡workflow ¡

  • n ¡FP2, ¡working ¡on ¡DW ¡

spreadsheet ¡reports ¡ Symbiota ¡Instance ¡& ¡DB ¡ Symbiota ¡Instance ¡

Source: ¡Paul ¡J. ¡Morris ¡

slide-8
SLIDE 8

Access ¡ Point ¡

Symbiota ¡ Portal ¡

Access ¡ Point ¡

Akka ¡ Kurator ¡ Workflows ¡

FilteredPush ¡ Node ¡

Occurrence ¡ Records ¡

Quality ¡Control ¡ Annota?ons ¡

Quality ¡Control ¡ Workflow ¡

Quality ¡Controlled ¡ Data ¡Set ¡

Overall ¡Dataflow ¡

Source: ¡Paul ¡J. ¡Morris ¡

8 ¡

slide-9
SLIDE 9

Example ¡Cura/on ¡Workflow ¡… ¡ ¡

  • Load ¡Dataset ¡
  • Scien?fic ¡Name ¡Valida/on ¡ ¡
  • Georeference ¡Valida/on ¡ ¡
  • Collec?on ¡Date ¡Valida/on ¡
  • [Create ¡AnnotaFons ¡into ¡FPush ¡Network] ¡
  • Output ¡results ¡ ¡

– translate ¡to ¡spreadsheet ¡ ¡ – with ¡provenance! ¡

9 ¡

!

some ¡steps ¡of ¡a ¡larger ¡workflow ¡

slide-10
SLIDE 10

… ¡Cura/on ¡Workflow ¡Output ¡… ¡ ¡

10 ¡

slide-11
SLIDE 11

… ¡close ¡up ¡… ¡ ¡

  • CORRECT ¡

– Checked ¡and ¡OK ¡

  • CURATED: ¡

– Checked ¡and ¡fixed ¡

  • UNABLE_CURATE ¡

– Internally ¡inconsistent ¡ – cannot ¡fix ¡

  • UNABLED_DET_VALIDITY ¡

– Not ¡enough ¡data: ¡

  • No ¡external ¡reference ¡found ¡

11 ¡

slide-12
SLIDE 12

… ¡even ¡more ¡close: ¡Spreadsheet ¡Provenance ¡

  • Asser/ons ¡made ¡

– sign ¡changed ¡coordinates ¡are ¡on ¡the ¡Earth's ¡surface ¡ ¡ ¡ – Coordinates ¡not ¡inside ¡country ¡ – transposed/sign ¡changed ¡coordinates ¡to ¡place ¡inside ¡country ¡ – Transposed/sign ¡changed ¡coordinates ¡are ¡near ¡georeference ¡

  • f ¡locality ¡from ¡Geolocate ¡
  • Sources ¡used ¡

– Land ¡data ¡from ¡Natural ¡Earth ¡ – Country ¡boundary ¡data ¡from ¡GeoCommunity ¡ – GeoLocate ¡

12 ¡

slide-13
SLIDE 13

Date ¡Valida/on ¡

  • Check: ¡ ¡

– Collector’s ¡life ¡span ¡ ¡ – .. ¡vs. ¡Date-­‑Collected ¡

  • Possible ¡outcomes: ¡

– Valid ¡ – Corrected ¡ – Unable ¡to ¡validate ¡

  • Internal ¡inconsistency ¡

– ContradicFng ¡dates ¡

  • External ¡inconsistency ¡

– Lack ¡of ¡date ¡data ¡

13 ¡

slide-14
SLIDE 14

The ¡Logic ¡Behind ¡Each ¡Step ¡… ¡ ¡

  • Date ¡Collected ¡

– … ¡collectors ¡life-­‑Fme ¡vs ¡date ¡collected ¡

  • Georeference ¡Valida/on ¡

– Lat/long ¡valid ¡(on ¡Earth) ¡ – … ¡within ¡a ¡country ¡(shape ¡file), ¡point ¡in ¡polygon ¡ – If ¡georef ¡is ¡“bad” ¡then ¡try ¡

  • … ¡transposi/ons, ¡sign-­‑swapping ¡etc ¡of ¡lat/long ¡
  • If ¡they ¡match ¡è ¡fix ¡it! ¡
  • Make ¡sure ¡to ¡record ¡in ¡provenance ¡ ¡
  • Using ¡the ¡transposed ¡(or ¡sign-­‑fixed) ¡original ¡date ¡

¡(not ¡the ¡Geolocate) ¡

14 ¡

slide-15
SLIDE 15

… ¡Logic ¡Behind ¡Each ¡Step ¡(cont’d) ¡

  • Scien/fic ¡Name ¡Valida/on ¡

– Customer-­‑dependent: ¡

  • CollecFon ¡Managers: ¡

– Nomenclature ¡ ¡

  • Researchers: ¡

– Taxonomy ¡(current ¡names) ¡

– Several ¡Remote ¡services ¡

  • IPNI, ¡GNI, ¡… ¡ ¡
  • …. ¡<your ¡logic ¡here> ¡… ¡ ¡

15 ¡

slide-16
SLIDE 16

Cura/on ¡Workflow ¡Challenges: ¡ ¡ Machine ¡Cycles ¡

  • Scalability ¡& ¡Technology ¡Issues: ¡

– Clean ¡aggregated ¡data ¡at ¡a ¡FP ¡Node ¡

  • Headless ¡
  • Use ¡of ¡Kepler/COMAD, ¡pros ¡& ¡cons: ¡

– OK ¡on ¡human ¡cycles, ¡but ¡NOT ¡OK ¡on ¡machine ¡cycles ¡

  • Akka ¡ ¡

– Parallelize ¡remote ¡service ¡invocaFon: ¡helps ¡ ¡ – Non-­‑trivial ¡programming ¡ ¡

  • => ¡add ¡another ¡layer ¡on ¡top ¡of ¡Akka ¡
  • ¡.. ¡or ¡… ¡?? ¡<tell ¡us ¡about ¡your ¡technology!> ¡ ¡

16 ¡

slide-17
SLIDE 17

Challenges: ¡Human ¡Cycles ¡

  • New ¡Kurator ¡project: ¡

– Enable ¡tool ¡makers ¡ – Make ¡it ¡easy ¡to ¡build ¡ ¡

  • components ¡(sorware ¡“actors”, ¡services) ¡
  • workflows ¡(gluing ¡services ¡together) ¡ ¡ ¡
  • Data ¡CuraFon ¡Workflows ¡Interest ¡Group ¡!? ¡

– Service ¡builders ¡ – Service ¡& ¡Workflow ¡Registries ¡

  • cf. ¡myExperiment ¡ ¡ ¡

– Service ¡aggregators ¡ ¡

  • cf. ¡BioVel, ¡DwC ¡validator, ¡… ¡ ¡

17 ¡

slide-18
SLIDE 18

What ¡is ¡Kurator? ¡

  • ¡NSF-­‑DBI ¡#1356751 ¡ ¡

– CollaboraFve ¡Research: ¡ABI ¡Development: ¡ ¡ ¡ ¡ Kurator: ¡A ¡Provenance-­‑enabled ¡Workflow ¡PlaOorm ¡ and ¡Toolkit ¡to ¡Curate ¡Biodiversity ¡Data ¡ – Sept. ¡2014 ¡– ¡2017 ¡ – @Illinois: ¡ ¡

  • B. ¡Ludäscher, ¡James ¡Macklin, ¡Tim ¡McPhillips, ¡… ¡ ¡

– @Harvard: ¡ ¡

  • James ¡Hanken, ¡Paul ¡Morris, ¡Bob ¡Morris, ¡… ¡ ¡

– @TDWG ¡community ¡

  • <your ¡name ¡here> ¡ ¡

¡

18 ¡

slide-19
SLIDE 19

Kurator ¡Tenets ¡

  • Technology ¡AgnosFc ¡ ¡

– … ¡to ¡the ¡extent ¡we ¡can ¡… ¡ ¡ – … ¡avoid ¡reinvenFng ¡the ¡wheel ¡ – … ¡one ¡size ¡probably ¡doesn’t ¡fit ¡all ¡ => ¡Deploy ¡curaFon ¡steps ¡on ¡different ¡workflow ¡systems, ¡ plaNorms ¡ ¡ ¡

  • For ¡Tool ¡Makers ¡
  • Agile, ¡Community-­‑Driven ¡Development ¡
  • Kurator ¡just ¡started, ¡evolving ¡

– Get ¡involved ¡now! ¡ – Kick-­‑off ¡meeFng ¡November ¡17 ¡& ¡18 ¡

  • @ ¡NCSA ¡(University ¡of ¡Illinois, ¡Urbana-­‑Champaign) ¡

19 ¡

slide-20
SLIDE 20

How ¡we ¡do ¡it ¡

  • Build ¡a ¡library ¡of ¡cura/on ¡services ¡such ¡that ¡

curaFon ¡workflows ¡can ¡be ¡run ¡from ¡various ¡ plaOorms ¡

– ScienFfic ¡workflow ¡systems ¡

  • e.g. ¡ResNlow, ¡Kepler, ¡Taverna, ¡Galaxy ¡

– Other ¡plaOorms ¡

  • e.g. ¡Akka, ¡Python-­‑based, ¡… ¡
  • … ¡leveraging ¡exisFng ¡technologies ¡ ¡

20 ¡

slide-21
SLIDE 21

How ¡we ¡do ¡it ¡

  • Open ¡source, ¡community-­‑friendly ¡approach ¡

– git ¡repository ¡(NCSA ¡open ¡source ¡projects) ¡

  • Agile ¡sorware ¡development ¡

– NCSA ¡support ¡tools, ¡e.g. ¡JIRA, ¡Bamboo ¡ ¡

  • Inspired ¡by ¡ ¡

– Small ¡bioinforma/cs ¡tools ¡manifesto ¡(post-­‑facto) ¡

  • cf. ¡Unix ¡tenets ¡(small ¡tools, ¡use ¡filters, ¡pipes, ¡ ¡… ¡KISS!) ¡

– Experience ¡with ¡other ¡(someFmes ¡not ¡so ¡agile) ¡ development ¡projects ¡

21 ¡

slide-22
SLIDE 22

Agile ¡Kurator ¡Development ¡ ¡

22 ¡

slide-23
SLIDE 23

Related ¡Research ¡(Tianhong ¡Song, ¡UC ¡Davis) ¡

  • Analyze ¡linear ¡workflow ¡

“story” ¡

  • Use ¡paberns ¡to ¡discover ¡wf ¡

design ¡issues ¡(e.g. ¡use ¡before ¡ update); ¡then ¡fix ¡them ¡

  • Parallelize ¡when ¡possible ¡

23 ¡