Deep Fundings dependency graph
收藏github2024-12-24 更新2024-12-27 收录
下载链接:
https://github.com/deepfunding/dependency-graph
下载链接
链接失效反馈官方服务:
资源简介:
Deep Funding项目涉及分析一个深度为2的有向依赖图,并使用它来分配资金。该图由表示GitHub和各种包管理器上的仓库的节点组成,这些节点距离以太坊有一个或两个跳数。
The Deep Funding Project involves analyzing a 2-depth directed dependency graph and utilizing it to allocate funding. This graph consists of nodes representing repositories on GitHub and various package managers, where each of these nodes is one or two hops away from Ethereum.
创建时间:
2024-12-10
原始信息汇总
Deep Funding - Dependency Graph 数据集概述
数据集简介
该数据集用于分析深度为2的有向依赖图,并基于此图进行资金分配。图中的节点代表与以太坊相关的一跳或两跳的仓库(位于GitHub和各种包管理器中)。
数据结构
- 节点:代表仓库,包括GitHub和其他包管理器中的仓库。
- 边:表示依赖关系,
source节点为依赖方,target节点为被依赖方。 - 权重:边的权重表示依赖方对资金分配的贡献比例,权重总和应小于1,剩余部分归依赖方所有。
数据示例
json { "relation": "GO", "weight": 0.1, "source": "https://github.com/prysmaticlabs/prysm", "target": "https://github.com/multiformats/go-multihash" }
数据来源
- 初始图的种子节点包括以太坊共识层和执行层的主要仓库,以及相关基础设施项目。
- 通过获取每个仓库的软件物料清单(SBOM),识别出Go、Rust、JavaScript和Python的包。
- 最终映射到开源仓库,构建依赖图。
数据规模
- 仓库数量:3,990个GitHub仓库。
- 边数量:超过10,000条边。
- 包数量:约6,000个包,包括JavaScript(4,661个)、Rust(1,037个)、Go(386个)和Python(126个)。
数据文件
- 未加权图:
./graph/unweighted_graph.json和./graph/unweighted_graph.csv。 - 加权图示例:
./graph/weighting_examples/oso_forks_and_funding_weighted_graph.json。
数据集使用
- 探索数据:通过提供的Jupyter Notebook(如
oso_forks_and_funding_weighting.ipynb)进行加权图的构建实验。 - 数据验证:使用
validate_graph.py验证图边权重。 - 数据序列化:使用
serialize_graph.py将图序列化为JSON文件。
相关资源
- 数据获取:OSOs BigQuery。
- 社区支持:OSO Discord。
- 问题反馈:在GitHub仓库中提交问题。
搜集汇总
数据集介绍

构建方式
Deep Funding依赖图数据集的构建始于以太坊生态系统中核心共识层和执行层项目的种子节点。通过提取这些项目的软件物料清单(SBOM),识别出Go、Rust、JavaScript和Python等编程语言的依赖包,并将其映射到开源仓库。最终,构建了一个包含3990个GitHub仓库和超过10000条边的深度为2的有向依赖图。该过程通过`generate_unweighted_graph.ipynb`笔记本实现,并允许用户通过OSO的BigQuery获取最新数据进行扩展。
使用方法
用户可以通过探索`unweighted_graph.json`或`unweighted_graph.csv`文件中的依赖数据,了解初始图的构建情况。通过运行`oso_forks_and_funding_weighting.ipynb`笔记本,用户可以学习如何基于Gitcoin、Optimism Retro Funding和分叉计数等数据构建加权图。此外,用户还可以利用OSO的BigQuery获取更多公共数据集,并结合Vertex AI训练自定义模型,进一步优化依赖图的权重分配。数据集还提供了`validate_graph.py`和`serialize_graph.py`等工具,用于验证和序列化图结构。
背景与挑战
背景概述
Deep Funding Dependency Graph数据集由Open Source Observer(OSO)团队于近年创建,旨在通过分析深度为2的有向依赖图来优化资金分配。该数据集的核心研究问题在于如何量化开源项目之间的依赖关系,并基于此进行公平的资金分配。数据集涵盖了以太坊生态系统中的主要共识层和执行层项目,以及相关的基础设施项目,涉及JavaScript、Rust、Go和Python等多种编程语言的包管理器和GitHub仓库。通过构建依赖图,研究人员能够识别关键依赖关系,并为开源社区的可持续发展提供数据支持。该数据集对开源生态系统的资金分配机制研究具有重要影响,为量化贡献和依赖关系提供了新的方法论。
当前挑战
Deep Funding Dependency Graph数据集在构建和应用过程中面临多重挑战。首先,依赖关系的量化问题复杂,如何准确分配权重以反映依赖关系的重要性是一个核心难题。其次,数据集的构建涉及多源数据的整合,包括GitHub、npm、crates.io和PyPi等平台,数据的一致性和完整性难以保证。此外,依赖图的动态性增加了数据更新的复杂性,开源项目的频繁更新和依赖关系的变化需要持续的数据维护。最后,资金分配模型的公平性和透明性也是一个重要挑战,如何在复杂的依赖关系中实现公平的资金分配仍需进一步研究和验证。
常用场景
经典使用场景
在开源软件生态系统中,依赖关系图的分析对于理解项目间的相互依赖至关重要。Deep Funding dependency graph数据集通过构建一个深度为2的有向图,展示了以太坊相关项目的依赖关系。该数据集常用于研究开源项目的依赖结构,帮助开发者识别关键依赖项,从而优化项目的维护和资金分配。
解决学术问题
该数据集解决了开源软件生态系统中依赖关系分析的难题。通过提供详细的依赖图,研究者可以深入探讨项目间的依赖强度及其对项目发展的影响。这不仅有助于理解开源项目的生态系统结构,还为资金分配提供了科学依据,推动了开源社区的可持续发展。
实际应用
在实际应用中,Deep Funding dependency graph数据集被广泛用于开源项目的资金分配决策。通过分析依赖关系图,资助者可以识别出对生态系统至关重要的项目,并据此分配资金。此外,该数据集还可用于优化项目的依赖管理,减少潜在的技术债务,提高项目的稳定性和可维护性。
数据集最近研究
最新研究方向
在区块链与开源软件生态系统的交叉领域,Deep Funding dependency graph数据集为研究者提供了一个独特的视角,用于分析以太坊相关项目的依赖关系及其资金分配机制。该数据集通过构建深度为2的有向图,揭示了GitHub和其他包管理平台上与以太坊相关的仓库之间的依赖网络。当前的研究热点集中在如何通过加权边来量化依赖关系的重要性,从而优化资金分配策略。这一研究方向不仅有助于提升开源项目的可持续性,还为区块链生态系统的健康发展提供了数据支持。此外,结合GitHub活动数据和其他开源数据集,研究者可以进一步探索依赖网络的动态变化及其对项目成功的影响,为开源社区的资金分配决策提供科学依据。
以上内容由遇见数据集搜集并总结生成



