workflow support for con nuous data quality control in a
play

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,


  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 ¡ ¡ 1 ¡

  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 ¡

  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 ¡

  4. Data Curation Workflow 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 ¡ 4 ¡

  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 ¡

  6. Filtered ¡Push ¡ (1) ¡Kvetch ¡about ¡data ¡ (2) ¡ Push ¡to ¡interested ¡parFes ¡ (3) ¡Human ¡ Filter ¡ hbp://xkcd.com/386/ ¡ (5) ¡Store ¡all ¡ ¡ asserFons ¡ (4) ¡Change ¡data ¡ ¡in ¡databases ¡ Source: ¡Paul ¡J. ¡Morris ¡ 6 ¡

  7. Symbiota ¡Instance ¡ Symbiota ¡Instance ¡& ¡DB ¡ Akka ¡cura(on ¡workflow ¡ on ¡FP2, ¡working ¡on ¡DW ¡ spreadsheet ¡reports ¡ Source: ¡Paul ¡J. ¡Morris ¡ 7 ¡

  8. Overall ¡Dataflow ¡ Symbiota ¡ Portal ¡ FilteredPush ¡ Access ¡ Access ¡ Point ¡ Point ¡ Node ¡ Akka ¡ Occurrence ¡ Kurator ¡ Records ¡ Workflows ¡ Quality ¡Control ¡ Annota?ons ¡ Quality ¡Control ¡ Quality ¡Controlled ¡ Workflow ¡ Data ¡Set ¡ Source: ¡Paul ¡J. ¡Morris ¡ 8 ¡

  9. Example ¡Cura/on ¡Workflow ¡… ¡ ¡ • Load ¡Dataset ¡ • Scien?fic ¡Name ¡ Valida/on ¡ ¡ some ¡steps ¡of ¡a ¡larger ¡workflow ¡ • Georeference ¡ Valida/on ¡ ¡ • Collec?on ¡Date ¡ Valida/on ¡ ! • [Create ¡AnnotaFons ¡into ¡FPush ¡Network] ¡ • Output ¡results ¡ ¡ – translate ¡to ¡spreadsheet ¡ ¡ – with ¡ provenance ! ¡ 9 ¡

  10. … ¡Cura/on ¡Workflow ¡Output ¡… ¡ ¡ 10 ¡

  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 ¡

  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 ¡ of ¡locality ¡from ¡Geolocate ¡ • Sources ¡used ¡ – Land ¡data ¡from ¡Natural ¡Earth ¡ – Country ¡boundary ¡data ¡from ¡GeoCommunity ¡ – GeoLocate ¡ 12 ¡

  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 ¡

  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 ¡

  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 ¡

  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 ¡

  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 ¡

  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 ¡

  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 ¡

Recommend


More recommend