James Fairbanks (GTRI, @fairbanksjp, jpfairbanks.com) and Seth Bromberger, (LLNL, bromberger.com)
Probabilistic Programming: BayesNets, Mamba.jl, DiffEQBayes
Image Processing: ImageQuilting, Image Segmentation
Economics: Dolo, BasisMatries, DSGE, CompEcon, StateSpaceRoutines, Augur
Biology: Bio.jl
Symbolic Math: Treeview, ExprOptimization
Enables multiple implementations:
You can read graphs from DataFrames using GraphDataFrameBridge
julia> using DataFrames
julia> using GraphDataFrameBridge
julia> df = DataFrame(Dict(:start => ["a", "b", "a", "d"],
:finish => ["b", "c", "e", "e"],
:weights => 1:4,
:extras => 5:8))
4×4 DataFrame
│ Row │ extras │ finish │ start │ weights │
├────┼─────┼─────┼─────┼──────┤
│ 1 │ 5 │ b │ a │ 1 │
│ 2 │ 6 │ c │ b │ 2 │
│ 3 │ 7 │ e │ a │ 3 │
│ 4 │ 8 │ e │ d │ 4 │
Meta Graphs can convert any dataframe into a graph database!
# MetaGraph with `weight` attribute set and
# `:extras` values stored as attributes.
julia> mgw = MetaGraph(df, :start, :finish,
weight=:weights,
edge_attributes=:extras)
{5, 4} undirected Int64 metagraph with Float64 weights defined by :weight (default weight 1.0)
julia> props(mgw, 1, 2)
Dict Symbol → Any with 2 entries
:extras → 5
:weight → 1
@weijianzhang, Evolving Graphs
@SohamTamba, SohamTamba
We need a unified theory of parallel resources and algorithm selection looking to DiffEQ.jl for guidance (2.0 roadmap).
Automatically reason about interactions between graph type, graph data, and compute resources to choose best algorithm available.
JuliaGraphs is mature. We spent most of our time this year writing papers with LG rather than on LG.
With the release of LightGraphs.jl v1.0 we are adopting SemVer:
Caveats: