#temporal-graph #graph #temporal

已撤回 docbrown

DocBrown,一个时间图库

0.0.11 2023年4月24日
0.0.10 2023年4月24日
0.0.9 2023年4月14日

#9 in #temporal-graph

每月25次下载

AGPL-3.0-only

650KB
15K SLoC


Raphtory

Test and Build Latest Release Issues Launch Notebook

🌍 网站链接   📒 文档   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沙盒,无需安装。

Binder

想看看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开源爱好者社区,为他们的图分析项目提供动力!

  • 关注Slack获取最新的Raphtory新闻和发展

  • 加入我们的Slack与我们一起聊天,并获得您问题的答案!

关于Raphtory的文章和演讲

贡献者

想要参与其中吗?请加入Raphtory Slack群组,并与我们讨论您如何参与进来!

许可

Raphtory根据Apache许可证的条款进行许可(查看我们的LICENSE文件)。

依赖项

~25–43MB
~829K SLoC