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 ¡
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 ¡
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 ¡
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 ¡
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 ¡
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 ¡
Symbiota ¡Instance ¡ Symbiota ¡Instance ¡& ¡DB ¡ Akka ¡cura(on ¡workflow ¡ on ¡FP2, ¡working ¡on ¡DW ¡ spreadsheet ¡reports ¡ Source: ¡Paul ¡J. ¡Morris ¡ 7 ¡
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 ¡
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 ¡
… ¡Cura/on ¡Workflow ¡Output ¡… ¡ ¡ 10 ¡
… ¡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 ¡
… ¡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 ¡
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 ¡
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 ¡
… ¡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 ¡
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 ¡
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 ¡
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 ¡
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