
StellarGraph v0.10 Open-Source Python Machine Learning Library for Graphs - StellarGraph
StellarGraph is an open-source library featuring state-of-the-art graph machine learning algorithms. The project is delivered as part of CSIRO’s Data61.<p>Dramatically improved memory usage is the key feature of the 0.10 release of the library, with the StellarGraph and StellarDiGraph classes now backed by NumPy and Pandas. This will enable significant performance benefits.<p>Version 0.10 (https:&#x2F;&#x2F;github.com&#x2F;stellargraph&#x2F;stellargraph&#x2F;releases&#x2F;tag&#x2F;v0.10.0) also features two new algorithms:<p>- Link prediction with directed GraphSAGE<p>- GraphWave, which computes structural node embeddings by using wavelet transforms on the graph Laplacian.<p>Other new algorithms and features remain under active development, but are available in this release as experimental previews. These include:<p>- Temporal Random Walks: random walks that respect the time that each edge occurred (stored as edge weights)<p>- Watch Your Step: computes node embeddings by simulating the effect of random walks, rather than doing them<p>- ComplEx: computes embeddings for nodes and edge types in knowledge graphs, and uses these to perform link prediction<p>- Neo4j connector: the GraphSAGE algorithm can execute neighbourhood sampling from a Neo4j database, so the edges of a graph do not have to fit into memory.<p>The new release also incorporates key bug fixes and improvements:<p>- StellarGraph now supports TensorFlow 2.1<p>- Demos now focus on Jupyter notebooks<p>- Supervised GraphSAGE Node Attribute Inference algorithm is now reproducible<p>- Code for saliency maps&#x2F;interpretability refactored to have more sharing, making it cleaner and easier to extend<p>- Demo notebooks predominantly tested on CI using Papermill, so won&#x27;t become out of date.<p>Find StellarGraph on GitHub (https:&#x2F;&#x2F;github.com&#x2F;stellargraph&#x2F;stellargraph).<p>We welcome your feedback and contributions.<p>Until next time, the StellarGraph team.
======
mooneater
Cool! Can this be used for graphs far larger than core memory? If not what
would you suggest for that case?

~~~
StellarGraph
Hi @mooneater. At the moment, the library is focused on graphs that fit in
memory. Managing out-of-core data brings a whole extra layer of caching, data
transfer and data management complexity; we prefer to focus on extending and
increasing the algorithms we support. We think this is the appropriate trade-
off because many problems involve relatively small graphs, and, even for
larger ones, it’s getting easier and cheaper to rent machines with hundreds of
gigabytes or even terabytes of RAM. That said, we do have experimental support
for running GraphSAGE against a graph stored in Neo4j, and we’re working
towards better support for Neo4j in general, e.g.
[https://github.com/stellargraph/stellargraph/issues/1034](https://github.com/stellargraph/stellargraph/issues/1034).

------
nickmancol
This looks great. Thank you!

