0.0.11 |
|
---|---|
0.0.10 |
|
0.0.9 |
|
#9 in #temporal-graph
每月25次下载
650KB
15K SLoC
🌍 网站链接 📒 文档 Pometry 🧙🏻 教程 🐛 报告错误 加入Slack
Raphtory是一个强大的大规模图分析分析引擎。它允许你在数据存储位置或格式无关的情况下运行复杂的查询。但这还不是全部 - Raphtory的真正超级能力是跟踪和探索复杂系统的历史,从“时间旅行”通过数据到执行高级分析,如污点跟踪、时间可达性和挖掘时间模式。
Raphtory易于使用:只需运行单个pip安装命令,并将其与现有的Python/Pandas管道嵌入即可。
Raphtory表达性强:它被设计来表示所有类型的图查询,并有一个经过良好发展的API来探索数据的历史。
Raphtory速度极快且可轻松扩展:建立在Apache Arrow的存储和向量化计算之上,Raphtory可以在笔记本电脑或分布式集群上运行,用于千兆规模图。
运行基本示例
# Import Raphtory
import PyRaphtory
# Create a new local or distributed context
ctx = PyRaphtory.local()
graph = ctx.new_graph()
# Add some data to your graph
graph.add_vertex(1, 1)
graph.add_vertex(2, 2)
graph.add_vertex(3, 3)
graph.add_edge(4, 1, 2)
graph.add_edge(4, 1, 3)
# Collect some simple vertex metrics
# Ran across a range of the data with incremental windowing
df = graph
.range(1,4,1)
.window(1)
.step(lambda vertex: vertex.set_state("name", vertex.name()))
.step(lambda vertex: vertex.set_state("out_degree", vertex.out_degree()))
.step(lambda vertex: vertex.set_state("in_degree", vertex.in_degree()))
.select("name", "out_degree", "in_degree")
.to_df()
# Preview DataFrame
df
| | timestamp | window | name | out_degree | in_degree |
|----|-------------|----------|--------|--------------|-------------|
| 0 | 1 | 1 | 1 | 0 | 0 |
| 1 | 2 | 1 | 2 | 0 | 0 |
| 2 | 3 | 1 | 3 | 0 | 0 |
| 3 | 4 | 1 | 1 | 2 | 0 |
| 4 | 4 | 1 | 2 | 0 | 1 |
| 5 | 4 | 1 | 3 | 0 | 1 |
安装Raphtory
Raphtory适用于Python和Scala/Java,计划在版本0.3.0中支持Rust。我们建议使用Python的PyRaphtory客户端,它包含您所需的一切,可以在本地或分布式模式下运行。
您应该拥有Python版本3.9或更高版本。使用conda、virtualenv或pyenv是个好主意。
pip install pyraphtory
示例和笔记本
查看我们的交互式Jupyter笔记本中的Raphtory!只需单击下面的徽章即可启动在线Raphtory沙盒,无需安装。
想看看Raphtory能做什么?向下滚动了解更多。
1. 入门
类型 | 位置 | 描述 |
---|---|---|
示例 | ingestion | 将一些样本数据加载到Raphtory中 |
示例 | degree count | 运行Raphtory中最简单的图查询 |
示例 | timetravel | 理解Raphtory中的时间API |
2. 运行一些算法
类型 | 位置 | 描述 |
---|---|---|
示例 | centrality | 寻找重要节点的中心性算法 |
示例 | 社区 | 社区检测以查找聚类 |
示例 | 动态 | 动态算法和随机游走 |
示例 | 时间 | 运用时间魔法寻找历史和未来趋势 |
3. 开发端到端应用
类型 | 位置 | 描述 |
---|---|---|
笔记本 | nft_analysis.ipynb | 分析流行NFT的泵和泄洪周期 |
笔记本 | ppe_analysis.ipnyb | 欺诈和COVID-19救济计划 |
想要运行自己的分析吗?
通过以下链接了解如何在分析和项目中使用Raphtory。
赏金板
Raphtory目前提供对新功能或算法的贡献奖励。贡献者将获得周边产品和奖品!
要开始,请查看我们希望实现的算法列表https://www.raphtory.com/algorithm-bounty/,其中包括一些容易实现的低垂果实(🍇)。
社区
加入不断壮大的Raphtory开源爱好者社区,为他们的图分析项目提供动力!
关于Raphtory的文章和演讲
- Raphtory在Alan Turing Institute博客上
- 2022年AI UK上的Raphtory演讲
- 2022年KGC上的Raphtory演讲
- 2022年NetSciX上的Raphtory演讲
贡献者
想要参与其中吗?请加入Raphtory Slack群组,并与我们讨论您如何参与进来!
许可
Raphtory根据Apache许可证的条款进行许可(查看我们的LICENSE文件)。
依赖项
~25–43MB
~829K SLoC