Microsoft Graph Engine
| - | Windows | Linux |
|---|---|---|
| Build |
本仓库包含 Microsoft Graph Engine 及其图查询语言 -- Language Integrated Knowledge Query (LIKQ) 的源代码。
Microsoft Graph Engine 是一个分布式内存数据处理引擎, 其底层由一个强类型的内存键值存储和一个通用分布式计算引擎支撑。
LIKQ 是一种构建于 Graph Engine 之上的多功能图查询语言。它 结合了快速图探索的能力与 lambda 表达式的灵活性。服务器端计算可以用 lambda 表达式表示, 嵌入在 LIKQ 中,并在图遍历期间在 Graph Engine 服务器上执行。
入门
推荐操作系统:Windows 10 或 Ubuntu 22.04。
在 Windows 上构建
下载并安装 Visual Studio,并选择以下“工作负载”和 “单个组件”:
- “.NET 桌面开发”和“使用 C++ 的桌面开发”工作负载。
- “.NET 可移植库目标包”单个组件。
打开一个 PowerShell 窗口,运行 .\tools\build.ps1 以构建 NuGet 包。
该脚本已在 Windows 10 (22H2) 和 Visual Studio 2022 上经过测试。
在 Linux 上构建
安装 g++、cmake 和 libssl-dev。例如,在 Ubuntu 上,只需运行
sudo apt update && sudo apt install g++ cmake libssl-dev
安装 .NET SDK x64 8.0。例如,在 Ubuntu 22.04 上,运行
sudo apt update && sudo apt install -y dotnet-sdk-8.0。
然后,使用以下命令构建 GraphEngine:
bash tools/build.sh
构建脚本已在 Ubuntu 22.04 和 g++ 11.4.0 上经过测试。
使用已构建的包
您可以在 build 文件夹中找到已构建的 NuGet 包 build/GraphEngine**._version_.nupkg。在构建过程中,build 目录已被
注册为本地 NuGet 仓库,并且 GraphEngine.Core 的本地包缓存已被清除。包构建完成后,运行 dotnet restore 以使用新构建的包。
运行您的第一个 Graph Engine 应用
前往 samples/Friends 文件夹,执行 dotnet restore 和 dotnet run 以
运行示例项目。
贡献
欢迎提交 Pull requests、问题报告和建议。
在贡献代码之前,请阅读 行为准则。
请按照这些 说明 报告安全问题。
许可证
Copyright (c) Microsoft Corporation. All rights reserved.
根据 MIT 许可证授权。
免责声明
Microsoft Graph Engine 是一个研究项目。它不是微软官方支持的产品。
参考文献
我们恳请任何使用 Microsoft Graph Engine 的已发表论文引用以下论文:
- Bin Shao, Haixun Wang, and Yatao Li. Trinity: A Distributed Graph Engine on a Memory Cloud. In SIGMOD 2013: Proceedings of SIGMOD 2013, New York, New York, USA, June 22-27, 2013, pages 505-516. (BibTeX)
如果您想了解更多关于基于 Microsoft Graph Engine 构建的算法和应用,请参阅这些 出版物。