{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T21:37:37Z","timestamp":1740173857787,"version":"3.37.3"},"reference-count":73,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2020,1,8]],"date-time":"2020-01-08T00:00:00Z","timestamp":1578441600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2020,1,8]],"date-time":"2020-01-08T00:00:00Z","timestamp":1578441600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["J Big Data"],"published-print":{"date-parts":[[2020,12]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Increased sensing data in the context of the Internet of Things (IoT) necessitates data analytics. It is challenging to write applications for Big Data systems due to complex, highly parallel software frameworks and systems. The inherent complexity in programming Big Data applications is also due to the presence of a wide range of target frameworks, with different data abstractions and APIs. The paper aims to reduce this complexity and its ensued learning curve by enabling domain experts, that are not necessarily skilled Big Data programmers, to develop data analytics applications via domain-specific graphical tools. The approach follows the flow-based programming paradigm used in IoT mashup tools. The paper contributes to these aspects by (i) providing a thorough analysis and classification of the widely used Spark framework and selecting suitable data abstractions and APIs for use in a graphical flow-based programming paradigm and (ii) devising a novel, generic approach for programming Spark from graphical flows that comprises early-stage validation and code generation of Spark applications. Use cases for Spark have been prototyped and evaluated to demonstrate code-abstraction, automatic data abstraction interconversion and automatic generation of target Spark programs, which are the keys to lower the complexity and its ensued learning curve involved in the development of Big Data applications.<\/jats:p>","DOI":"10.1186\/s40537-019-0273-5","type":"journal-article","created":{"date-parts":[[2020,1,8]],"date-time":"2020-01-08T06:02:29Z","timestamp":1578463349000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["Graphical Flow-based Spark Programming"],"prefix":"10.1186","volume":"7","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-7946-5497","authenticated-orcid":false,"given":"Tanmaya","family":"Mahapatra","sequence":"first","affiliation":[]},{"given":"Christian","family":"Prehofer","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2020,1,8]]},"reference":[{"key":"273_CR1","unstructured":"SciPy.org: NumPy. https:\/\/www.numpy.org. Accessed 27 May 2019."},{"key":"273_CR2","unstructured":"SciPy.org: SciPy library. https:\/\/www.scipy.org. Accessed 27 May 2019."},{"key":"273_CR3","unstructured":"pandas: Python Data Analysis Library. https:\/\/pandas.pydata.org. Accessed 27 May 2019."},{"key":"273_CR4","unstructured":"scikit-learn: Machine learning in Python. https:\/\/scikit-learn.org\/stable\/. Accessed 27 May 2019."},{"key":"273_CR5","unstructured":"Keras: Keras: The Python deep learning library. https:\/\/keras.io. Accessed 27 May 2019."},{"key":"273_CR6","unstructured":"Apache: HDFS Architecture Guide. 2018. https:\/\/hadoop.apache.org\/docs\/r1.2.1\/hdfs_design.html. Accessed 26 Nov 2018."},{"key":"273_CR7","unstructured":"Apache: The Apache Hive data warehouse software. 2008. https:\/\/hive.apache.org. Accessed 27 May 2019."},{"key":"273_CR8","unstructured":"Apache: Pig. 2019. https:\/\/pig.apache.org\/. Accessed 27 May 2019."},{"key":"273_CR9","doi-asserted-by":"publisher","unstructured":"Holwerda R, Hermans F. A usability analysis of blocks-based programming editors using cognitive dimensions. In: 2018 IEEE symposium on visual languages and human-centric computing (VL\/HCC); 2018, pp. 217\u201325. https:\/\/doi.org\/10.1109\/VLHCC.2018.8506483.","DOI":"10.1109\/VLHCC.2018.8506483"},{"key":"273_CR10","volume-title":"Flow-based programming, 2nd Edition: a new approach to application development","author":"JP Morrison","year":"2010","unstructured":"Morrison JP. Flow-based programming, 2nd Edition: a new approach to application development. Paramount: CreateSpace; 2010."},{"issue":"6","key":"273_CR11","doi-asserted-by":"publisher","first-page":"72","DOI":"10.1145\/3015455","volume":"60","author":"D Bau","year":"2017","unstructured":"Bau D, Gray J, Kelleher C, Sheldon J, Turbak F. Learnable programming: blocks and beyond. Commun ACM. 2017;60(6):72\u201380. https:\/\/doi.org\/10.1145\/3015455.","journal-title":"Commun ACM"},{"key":"273_CR12","doi-asserted-by":"publisher","unstructured":"Mason D, Dave K. Block-based versus flow-based programming for naive programmers. In: 2017 IEEE blocks and beyond workshop (BB). 2017, pp 25\u20138. https:\/\/doi.org\/10.1109\/BLOCKS.2017.8120405.","DOI":"10.1109\/BLOCKS.2017.8120405"},{"issue":"2","key":"273_CR13","doi-asserted-by":"publisher","first-page":"80","DOI":"10.1109\/TSE.1976.233534","volume":"SE\u20132","author":"F DeRemer","year":"1976","unstructured":"DeRemer F, Kron HH. Programming-in-the-large versus programming-in-the-small. IEEE Trans Softw Eng. 1976;SE\u20132(2):80\u20136.","journal-title":"IEEE Trans Softw Eng"},{"key":"273_CR14","unstructured":"Cunniff N, Taylor RP. Empirical studies of programmers: second workshop. chap. Graphical vs. textual representation: an empirical study of novices\u2019 program comprehension. Norwood: Ablex Publishing Corp.; 1987, pp. 114\u201331. http:\/\/dl.acm.org\/citation.cfm?id=54968.54976."},{"key":"273_CR15","doi-asserted-by":"publisher","unstructured":"Gorlick M, Quilici A. Visual programming-in-the-large versus visual programming-in-the-small. In: Proceedings of 1994 IEEE symposium on visual languages; 1994, pp. 137\u201344. https:\/\/doi.org\/10.1109\/VL.1994.363631.","DOI":"10.1109\/VL.1994.363631"},{"issue":"4","key":"273_CR16","doi-asserted-by":"publisher","first-page":"281","DOI":"10.1016\/j.ijhcs.2005.06.005","volume":"64","author":"KN Whitley","year":"2006","unstructured":"Whitley KN, Novick LR, Fisher D. Evidence in favor of visual representation for the dataflow paradigm: an experiment testing labview\u2019s comprehensibility. Int J Hum Comput Stud. 2006;64(4):281\u2013303. https:\/\/doi.org\/10.1016\/j.ijhcs.2005.06.005.","journal-title":"Int J Hum Comput Stud"},{"key":"273_CR17","unstructured":"Mahapatra T, Gerostathopoulos I, Fern\u00e1ndez FA. Prehofer, C.: Designing Flink Pipelines in IoT Mashup Tools 2018;2316(03), 41\u201353. http:\/\/ceur-ws.org\/Vol-2316\/paper3.pdf."},{"key":"273_CR18","doi-asserted-by":"publisher","unstructured":"Mahapatra T, Gerostathopoulos I, Prehofer C, Gore SG. Graphical Spark Programming in IoT Mashup Tools. In: 2018 fifth international conference on Internet of Things: systems, management and security; 2018, pp. 163\u201370. https:\/\/doi.org\/10.1109\/IoTSMS.2018.8554665.","DOI":"10.1109\/IoTSMS.2018.8554665"},{"key":"273_CR19","unstructured":"Mahapatra T, Prehofer C. aFlux: Flow-based programming for Big Data. 2019. https:\/\/aflux.org. Accessed 20 June 2019."},{"key":"273_CR20","doi-asserted-by":"publisher","unstructured":"Mahapatra T, Prehofer C, Gerostathopoulos I, Varsamidakis I. Stream analytics in IoT mashup tools. In: 2018 IEEE symposium on visual languages and human-centric computing (VL\/HCC). 2018, pp 227\u201331. https:\/\/doi.org\/10.1109\/VLHCC.2018.8506548.","DOI":"10.1109\/VLHCC.2018.8506548"},{"key":"273_CR21","doi-asserted-by":"publisher","first-page":"100007","DOI":"10.1016\/j.simpa.2019.100007","volume":"2","author":"T Mahapatra","year":"2019","unstructured":"Mahapatra T, Prehofer C. aFlux: Graphical flow-based data analytics. Softw Impacts. 2019;2:100007. https:\/\/doi.org\/10.1016\/j.simpa.2019.100007","journal-title":"Softw Impacts"},{"key":"273_CR22","volume-title":"Introduction to Apache Flink","author":"E Friedman","year":"2016","unstructured":"Friedman E, Tzoumas K. Introduction to Apache Flink. Newton: O\u2019Reilly; 2016."},{"key":"273_CR23","volume-title":"Spark in action","author":"P Zecevic","year":"2016","unstructured":"Zecevic P, Bonaci M. Spark in action. 1st ed. Greenwich: Manning Publications Co.; 2016.","edition":"1"},{"key":"273_CR24","unstructured":"Dean J, Ghemawat S. Mapreduce: Simplified data processing on large clusters. In: Proceedings of the 6th Conference on Symposium on Opearting Systems Design & Implementation, Volume 6, Berkeley: OSDI\u201904. USENIX Association; 2004, pp. 10. http:\/\/dl.acm.org\/citation.cfm?id=1251254.1251264."},{"key":"273_CR25","unstructured":"Forum MP. Mpi: A message-passing interface standard. Knoxville: Tech. rep.; 1994. http:\/\/dl.acm.org\/citation.cfm?id=1863103.1863113"},{"key":"273_CR26","unstructured":"Zaharia M, Chowdhury M, Franklin MJ, Shenker S, Stoica I. Spark: Cluster computing with working sets. In: E.M. Nahum, D. Xu (eds.) HotCloud. USENIX Association. 2010. https:\/\/www.usenix.org\/conference\/hotcloud-10\/spark-cluster-computing-working-sets."},{"key":"273_CR27","doi-asserted-by":"publisher","unstructured":"Armbrust M, Xin RS, Lian C, Huai Y, Liu D, Bradley JK, Meng X, Kaftan T, Franklin MJ, Ghodsi A, Zaharia M. Spark sql: relational data processing in spark. In: Sellis TK, Davidson SB, Ives ZG, eds. SIGMOD conference. ACM; 2015, pp. 1383\u201394. https:\/\/doi.org\/10.1145\/2723372.2742797.","DOI":"10.1145\/2723372.2742797"},{"key":"273_CR28","unstructured":"Apache: GraphX: GraphX is Apache Spark\u2019s API for graphs and graph-parallel computation. https:\/\/spark.apache.org\/graphx\/. Accessed 27 May 2019."},{"key":"273_CR29","unstructured":"Meng X, Bradley J, Yavuz B, Sparks E, Venkataraman S, Liu D, Freeman J, Tsai D, Amde M, Owen S, Xin D, Xin R, Franklin MJ, Zadeh R, Zaharia M, Talwalkar A. Mllib: Machine learning in apache spark. J Mach Learn Res. 2016;17(34):1\u20137. http:\/\/jmlr.org\/papers\/v17\/15-237.html."},{"key":"273_CR30","unstructured":"Scala: The scala programming language. https:\/\/www.scala-lang.org. Accessed 05 June 2019."},{"issue":"11","key":"273_CR31","doi-asserted-by":"publisher","first-page":"56","DOI":"10.1145\/2934664","volume":"59","author":"M Zaharia","year":"2016","unstructured":"Zaharia M, Xin RS, Wendell P, Das T, Armbrust M, Dave A, Meng X, Rosen J, Venkataraman S, Franklin MJ, Ghodsi A, Gonzalez J, Shenker S, Stoica I. Apache Spark: a Unified engine for Big Data processing. Commun ACM. 2016;59(11):56\u201365. https:\/\/doi.org\/10.1145\/2934664.","journal-title":"Commun ACM"},{"key":"273_CR32","unstructured":"Zaharia M, Chowdhury M, Das T, Dave A, Ma J, McCauley M, Franklin MJ, Shenker S, Stoica I. Resilient distributed datasets: A fault-tolerant abstraction for in-memory cluster computing. In: Proceedings of the 9th USENIX conference on networked systems design and implementation, NSDI\u201912. USENIX Association, Berkeley; 2012, pp. 2. http:\/\/dl.acm.org\/citation.cfm?id=2228298.2228301."},{"key":"273_CR33","unstructured":"Morrison JP. Flow-based programming. In: Proceedings 1st international workshop on software engineering for parallel and distributed systems. 1994, pp 25\u20139."},{"key":"273_CR34","volume-title":"Dataflow and reactive programming systems: a practical guide","author":"M Carkci","year":"2014","unstructured":"Carkci M. Dataflow and reactive programming systems: a practical guide. 1st ed. Scotts Valley: CreateSpace Independent Publishing Platform; 2014.","edition":"1"},{"key":"273_CR35","doi-asserted-by":"crossref","DOI":"10.7551\/mitpress\/1086.001.0001","volume-title":"Actors: a model of concurrent computation in distributed systems","author":"G Agha","year":"1986","unstructured":"Agha G. Actors: a model of concurrent computation in distributed systems. Cambridge: MIT Press; 1986."},{"key":"273_CR36","doi-asserted-by":"publisher","unstructured":"Mahapatra T, Gerostathopoulos I, Prehofer C. Towards integration of Big Data analytics in Internet of Things Mashup tools. In: Proceedings of the seventh international workshop on the Web of Things, WoT \u201916. New York: ACM; 2016, pp. 11\u20136. https:\/\/doi.org\/10.1145\/3017995.3017998.","DOI":"10.1145\/3017995.3017998"},{"key":"273_CR37","doi-asserted-by":"publisher","DOI":"10.14459\/2016md1324021","author":"T Mahapatra","year":"2016","unstructured":"Mahapatra T, Prehofer C. Service mashups and developer support. Dig Mobil Platf Ecosyst. 2016;. https:\/\/doi.org\/10.14459\/2016md1324021.","journal-title":"Dig Mobil Platf Ecosyst"},{"key":"273_CR38","first-page":"49","volume-title":"Datenbanksysteme f\u00fcr business, technologie und web (BTW 2017)\u2014workshopband","author":"H Eichelberger","year":"2017","unstructured":"Eichelberger H, Qin C, Schmid K. Experiences with the model-based generation of big data pipelines. In: Mitschang B, Nicklas D, Leymann F, Sch\u00f6ning H, Herschel M, Teubner J, H\u00e4rder T, Kopp O, Wieland M, editors. Datenbanksysteme f\u00fcr business, technologie und web (BTW 2017)\u2014workshopband. Bonn: Gesellschaft f\u00fcr Informatik e.V; 2017. p. 49\u201356."},{"key":"273_CR39","unstructured":"Apache: Apache Storm. https:\/\/storm.apache.org. Accessed 27 May 2019."},{"issue":"12","key":"273_CR40","doi-asserted-by":"publisher","first-page":"2070","DOI":"10.14778\/3229863.3236262","volume":"11","author":"Wd Santos","year":"2018","unstructured":"Santos Wd, Avelar GP, Ribeiro MH, Guedes D, Meira W Jr. Scalable and efficient data analytics and mining with lemonade. Proc VLDB Endow. 2018;11(12):2070\u20133. https:\/\/doi.org\/10.14778\/3229863.3236262.","journal-title":"Proc VLDB Endow"},{"key":"273_CR41","doi-asserted-by":"crossref","unstructured":"Schmid S, Gerostathopoulos I, Prehofer C. Qrygraph: a graphical tool for big data analytics. In: SMC\u201916. 2016.","DOI":"10.1109\/SMC.2016.7844863"},{"key":"273_CR42","unstructured":"Touk: Nussknacker. streaming processes diagrams. https:\/\/touk.github.io\/nussknacker\/. Accessed 27 May 2019."},{"key":"273_CR43","unstructured":"Apache: Apache Beam: An advanced unified programming model. https:\/\/beam.apache.org. Accessed 27 May 2019."},{"key":"273_CR44","unstructured":"Apache: Apache Apex: Enterprise-grade unified stream and batch processing engine. https:\/\/apex.apache.org. Accessed 27 May 2019."},{"key":"273_CR45","unstructured":"Zeppelin Apache. https:\/\/zeppelin.apache.org\/docs\/0.7.0\/. Accessed 22 June 2018."},{"key":"273_CR46","unstructured":"Microsoft: Microsoft Azure. https:\/\/docs.microsoft.com\/en-us\/azure\/hdinsight\/. Accessed 22 June 2018."},{"key":"273_CR47","unstructured":"Apache: NiFi. https:\/\/nifi.apache.org\/docs.html. Accessed 05 Sept 2018."},{"key":"273_CR48","doi-asserted-by":"publisher","first-page":"175","DOI":"10.1007\/3-540-32834-3_9","volume-title":"Modularity in the design of complex engineering systems","author":"CY Baldwin","year":"2006","unstructured":"Baldwin CY, Clark KB. Modularity in the design of complex engineering systems. Berlin: Springer; 2006. p. 175\u2013205. https:\/\/doi.org\/10.1007\/3-540-32834-3_9."},{"key":"273_CR49","unstructured":"Johansson P, Holmberg H. On the modularity of a system. 2010."},{"key":"273_CR50","unstructured":"Apache Spark: RDD Programming Guide. 2019. https:\/\/spark.apache.org\/docs\/latest\/rdd-programming-guide.html. Accessed 16 May 2019."},{"key":"273_CR51","doi-asserted-by":"crossref","unstructured":"Zaharia M, Das T, Li H, Hunter T, Shenker S, Stoica I. Discretized streams: Fault-tolerant streaming computation at scale. In: M. Kaminsky, M. Dahlin, eds. SOSP. ACM; 2013, pp. 423\u201338. http:\/\/dblp.uni-trier.de\/db\/conf\/sosp\/sosp2013.html#ZahariaDLHSS13.","DOI":"10.1145\/2517349.2522737"},{"key":"273_CR52","unstructured":"Apache Spark: Spark SQL, DataFrames and datasets guide. https:\/\/spark.apache.org\/docs\/latest\/sql-programming-guide.html. Accessed 24 Apr 2018."},{"key":"273_CR53","unstructured":"Apache: Spark Structured Streaming Programming Guide. 2018. https:\/\/spark.apache.org\/docs\/latest\/structured-streaming-programming-guide.html. Accessed 12 Dec 2018."},{"key":"273_CR54","unstructured":"Apache Kafka: A distributed streaming platform. 2018. https:\/\/kafka.apache.org. Accessed 24 Apr 2019."},{"key":"273_CR55","doi-asserted-by":"crossref","unstructured":"Zaharia M, Das T, Li H, Shenker S, Stoica I. Discretized streams: An efficient and fault-tolerant model for stream processing on large clusters. In: Proceedings of the 4th USENIX Conference on Hot Topics in Cloud Ccomputing, HotCloud\u201912. USENIX Association, Berkeley; 2012, pp. 10. http:\/\/dl.acm.org\/citation.cfm?id=2342763.2342773.","DOI":"10.21236\/ADA575859"},{"key":"273_CR56","doi-asserted-by":"publisher","unstructured":"Armbrust M, Xin RS, Lian C, Huai Y, Liu D, Bradley JK, Meng X, Kaftan T, Franklin MJ, Ghodsi A, Zaharia M. Spark sql: Relational data processing in spark. In: Proceedings of the 2015 ACM SIGMOD international conference on management of data, SIGMOD \u201915. New York: ACM; 2015, pp. 1383\u201394. https:\/\/doi.org\/10.1145\/2723372.2742797.","DOI":"10.1145\/2723372.2742797"},{"key":"273_CR57","unstructured":"Mahapatra T. High-level graphical programming for Big Data applications. Dissertation, Technische Universit\u00e4t M\u00fcnchen, M\u00fcnchen; 2019. http:\/\/mediatum.ub.tum.de\/?id=1524977"},{"key":"273_CR58","unstructured":"Damji J. A Tale of three Spark APIs. https:\/\/databricks.com\/blog\/2016\/07\/14\/a-tale-of-three-apache-spark-apis-rdds-dataframes-and-datasets.html. Accessed 24 Dec 2018."},{"key":"273_CR59","unstructured":"Aho AV, Sethi R, Ullman JD. Compilers: principles, techniques, and tools. Addison-Wesley series in computer science \/ World student series edition. Addison-Wesley; 1986. http:\/\/www.worldcat.org\/oclc\/12285707."},{"key":"273_CR60","unstructured":"Wikipedia: Composability. https:\/\/en.wikipedia.org\/wiki\/Composability. Accessed 27 May 2019."},{"key":"273_CR61","doi-asserted-by":"publisher","first-page":"18","DOI":"10.1007\/11821946_2","volume-title":"Software composition","author":"C Attiogb\u00e9","year":"2006","unstructured":"Attiogb\u00e9 C, Andr\u00e9 P, Ardourel G. Checking component composability. In: L\u00f6we W, S\u00fcdholt M, editors. Software composition. Berlin: Springer; 2006. p. 18\u201333."},{"key":"273_CR62","unstructured":"Neumann P. Principled assuredly trustworthy compusable architectures. DARPA final report, SRI Project P11459, December 2004."},{"issue":"2","key":"273_CR63","doi-asserted-by":"publisher","first-page":"7:1","DOI":"10.1145\/3295739","volume":"28","author":"Y Li","year":"2019","unstructured":"Li Y, Tan T, Xue J. Understanding and analyzing java reflection. ACM Trans Softw Eng Methodol. 2019;28(2):7:1\u201350. https:\/\/doi.org\/10.1145\/3295739.","journal-title":"ACM Trans Softw Eng Methodol"},{"key":"273_CR64","doi-asserted-by":"publisher","first-page":"139","DOI":"10.1007\/11575467_11","volume-title":"Programming Languages and Systems","author":"Benjamin Livshits","year":"2005","unstructured":"Livshits B, Whaley J, Lam MS. Reflection analysis for java. In: Proceedings of the third Asian conference on programming languages and systems, APLAS\u201905. Berlin: Springer; 2005, pp. 139\u201360. https:\/\/doi.org\/10.1007\/11575467_11."},{"key":"273_CR65","unstructured":"Wikipedia: .properties article. https:\/\/en.wikipedia.org\/wiki\/.properties. Accessed 27 May 2019."},{"key":"273_CR66","volume-title":"Model-driven software development: technology, engineering, management","author":"T Stahl","year":"2006","unstructured":"Stahl T, Voelter M, Czarnecki K. Model-driven software development: technology, engineering, management. New York: Wiley; 2006."},{"key":"273_CR67","unstructured":"JavaPoet. https:\/\/github.com\/square\/javapoet\/blob\/master\/README.md. Accessed 24 Apr 2018."},{"key":"273_CR68","unstructured":"Apache: Beam capability matrix. https:\/\/beam.apache.org\/documentation\/runners\/capability-matrix\/. Accessed 05 June 2019."},{"key":"273_CR69","unstructured":"TensorFlow: An open source machine learning library for research and production. 2015. https:\/\/www.tensorflow.org. Accessed 20 June 2019."},{"key":"273_CR70","unstructured":"Torch: A scientific computing framework for LUAJIT. 2002. http:\/\/torch.ch. Accessed 20 June 2019."},{"key":"273_CR71","unstructured":"Caffe: Deep learning framework. 2017. https:\/\/caffe.berkeleyvision.org. Accessed 20 June 2019."},{"key":"273_CR72","unstructured":"Apache: Mahout: For Creating Scalable performant machine learning applications. 2009. https:\/\/mahout.apache.org. Accessed 20 June 2019."},{"key":"273_CR73","unstructured":"Apache: Singa. 2015. https:\/\/singa.incubator.apache.org. Accessed 20 June 2019."}],"container-title":["Journal of Big Data"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1186\/s40537-019-0273-5.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1186\/s40537-019-0273-5\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1186\/s40537-019-0273-5.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,1,7]],"date-time":"2021-01-07T00:10:31Z","timestamp":1609978231000},"score":1,"resource":{"primary":{"URL":"https:\/\/journalofbigdata.springeropen.com\/articles\/10.1186\/s40537-019-0273-5"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,1,8]]},"references-count":73,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2020,12]]}},"alternative-id":["273"],"URL":"https:\/\/doi.org\/10.1186\/s40537-019-0273-5","relation":{},"ISSN":["2196-1115"],"issn-type":[{"type":"electronic","value":"2196-1115"}],"subject":[],"published":{"date-parts":[[2020,1,8]]},"assertion":[{"value":"18 July 2019","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"18 November 2019","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"8 January 2020","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"This paper uses figures, tables and text from the PhD dissertation titled \u201cHigh-level Graphical Programming for Big Data Applications\u201d of Tanmaya Mahapatra to be published in Technical University of Munich, 2019. All relevant inclusions from the dissertation have been cited appropriately.","order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Ethics approval and consent to participate"}},{"value":"The authors declare that they have no competing interests.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Competing interests"}}],"article-number":"4"}}