Raphtory is an open-source platform for distributed real-time temporal graph analytics, allowing you to load and process large dynamic datasets across time. If you would like a brief summary of what its used for before fully diving into the getting started guide please check out our blog! For more in-depth info you can watch our most recent talk on Raphtory at AIUK 2022, KGC 2022 and NetSciX.
If you like the sound of what we are working on, come join the Slack!
With the release of 0.1.0, we have completely rebuilt Raphtory from the ground up. The full changelog can be dug into here, but as a sneak peek this includes:
- A brand new Analytical API with expressive windowing and history exploration, composable algorithms/chaining, global aggregators/histograms, filters/sampling, multilayer graph projections, clearer output formats and much more.
- A communication layer which allows for fine-grained management of how Raphtory components send messages. This by default is split between Apache Pulsar for updates and vertex messages and Akka for control messages. This fixes a number of issues faced in prior versions, notably around message back pressure and cluster management.
- An initial Python client for Raphtory which will be brought fully in line with the Scala version over the coming months.
This has replaced the now deprecated Raphtory Alpha which will remain available here.
The best way to get started with Raphtory is to visit our ReadTheDocs site where we have tutorials on how to use Raphtory for graph building, analysis, and more.
Note: Raphtory is built with Scala. We recommend using IntelliJ IDE for your code. They have a community version which is free. Follow their guide for installation.
- Installation - Installation of Raphtory and running your first job locally.
- Building a graph from your data - How to ingest raw data into Raphtory and the basics of modelling your data as a Temporal Graph.
- Six Degrees of Gandalf - A Lord of the Rings themed intro into the world of Graph Algorithms.
- Running queries across time - Exploring how to run algorithms throughout the history of your data.
- Analysis In Raphtory - A deeper dive into the underlying analysis model of Raphtory.
- ScalaDocs and Algorithm API - We provide a fully documented API for Raphtory, explaining all user-facing classes and functions. This sits alongside explanations for the included algorithmic library (both temporal and static). These algorithms can be used to analyse your datasets once ingested or as a basis to implement your own custom algorithms.
- Raphtory Streaming and Distributed Deployment - Raphtory can be deployed as a single node or a distributed cluster. For the latter, we provide runners to establish the cluster on bare metal or on top of Kubernetes.
- Using the Python client - We are developing a full python client alongside the main scala implementation so that you can attach Raphtory to your favorite data science tools.
- Follow the latest developments on the official Raphtory Twitter
- Join the Slack - we are always happy to answer any questions and chat about the project! Feel free to join the #raphtory-development and #askaway channel to discuss current issues or ask any questions.
Want to get involved? Please join the Raphtory Slack group and speak with us on how you could pitch in!
Raphtory is licensed under the terms of the Apache License (check out our LICENSE file).