PlasmoData.jl -- A Julia Framework for Modeling and Analyzing Complex Data as Graphs
David L Cole, Victor M Zavala
TL;DR
PlasmoData.jl introduces a DataGraph abstraction to model arbitrary data as graphs, enabling topology- and graph-theoretic analyses across domains. The paper defines $\mathcal{DG}$, presents a Julia implementation, and demonstrates representations for matrices, tensors, and symmetric matrices; it then shows data manipulation and analysis operations including filtration, aggregation, and Euler Characteristic ($EC$) curves, with case studies in image analysis, time-series, and connectivity. The results show that graph-based representations yield interpretable topological descriptors and enable GNN-based classification and scalable processing. The work highlights the framework's flexibility, native Julia performance, and potential for integrating with existing ML and topological tools.
Abstract
Datasets encountered in scientific and engineering applications appear in complex formats (e.g., images, multivariate time series, molecules, video, text strings, networks). Graph theory provides a unifying framework to model such datasets and enables the use of powerful tools that can help analyze, visualize, and extract value from data. In this work, we present PlasmoData$.$jl, an open-source, Julia framework that uses concepts of graph theory to facilitate the modeling and analysis of complex datasets. The core of our framework is a general data modeling abstraction, which we call a DataGraph. We show how the abstraction and software implementation can be used to represent diverse data objects as graphs and to enable the use of tools from topology, graph theory, and machine learning (e.g., graph neural networks) to conduct a variety of tasks. We illustrate the versatility of the framework by using real datasets: i) an image classification problem using topological data analysis to extract features from the graph model to train machine learning models; ii) a disease outbreak problem where we model multivariate time series as graphs to detect abnormal events; and iii) a technology pathway analysis problem where we highlight how we can use graphs to navigate connectivity. Our discussion also highlights how PlasmoData$.$jl leverages native Julia capabilities to enable compact syntax, scalable computations, and interfaces with diverse packages.
