Microsoft Graph Engine
Перейти к файлу
Bin Shao e3c0e1946d Bump .NET to 8.0 2023-12-23 14:27:36 +08:00
cmake Bump .NET to 8.0 2023-12-23 14:27:36 +08:00
doc Insert newline at EOF 2022-06-19 18:33:51 +08:00
lib Bump .NET to 8.0 2023-12-23 14:27:36 +08:00
resources Add logo 2022-06-20 15:35:16 +08:00
samples Bump .NET to 8.0 2023-12-23 14:27:36 +08:00
src Bump .NET to 8.0 2023-12-23 14:27:36 +08:00
tests Bump .NET to 8.0 2023-12-23 14:27:36 +08:00
tools Bump .NET to 8.0 2023-12-23 14:27:36 +08:00
.editorconfig Update .editorconfig 2022-06-19 13:17:11 +08:00
.gitattributes Update .gitattributes 2022-06-19 13:08:22 +08:00
.gitignore add VS2022 support 2022-05-22 18:34:45 +08:00
CMakeLists.txt update cmake and msbuild files 2023-08-23 16:06:54 +08:00
CODE_OF_CONDUCT.md add code_of_conduct 2022-05-16 20:17:50 +08:00
CONTRIBUTING.md add contributing.md 2022-05-16 20:18:38 +08:00
LICENSE.txt Reformat LICENSE.txt 2022-06-20 16:09:04 +08:00
README.md Bump .NET to 8.0 2023-12-23 14:27:36 +08:00
SECURITY.md add security.md 2022-05-16 20:18:17 +08:00
azure-pipelines-linux.yml Bump .NET to 8.0 2023-12-23 14:27:36 +08:00
azure-pipelines-windows.yml Update azure pipelines 2023-08-10 12:55:33 +08:00

README.md

Microsoft Graph Engine

- Windows Linux
Build Build status badge Build status badge

This repository contains the source code of Microsoft Graph Engine and its graph query language -- Language Integrated Knowledge Query (LIKQ).

Microsoft Graph Engine is a distributed in-memory data processing engine, underpinned by a strongly-typed in-memory key-value store and a general-purpose distributed computation engine.

LIKQ is a versatile graph query language built atop Graph Engine. It combines the capability of fast graph exploration with the flexibility of lambda expressions. Server-side computations can be expressed in lambda expressions, embedded in LIKQ, and executed on the Graph Engine servers during graph traversal.

Getting started

Recommended operating system: Windows 10 or Ubuntu 22.04.

Building on Windows

Download and install Visual Studio with the following "workloads" and "individual components" selected:

  • The ".NET desktop development" and "Desktop development with C++" workloads.
  • The ".NET Portable Library targeting pack" individual component.

Open a PowerShell window, run .\tools\build.ps1 for building the NuGet packages. The script has been tested on Windows 10 (22H2) with Visual Studio 2022.

Building on Linux

Install g++, cmake, and libssl-dev. For example, on Ubuntu, simply run

sudo apt update && sudo apt install g++ cmake libssl-dev

Install .NET SDK x64 8.0. For example, on Ubuntu 22.04, run sudo apt update && sudo apt install -y dotnet-sdk-8.0. Then, build GraphEngine with the following command:

bash tools/build.sh

The build script has been tested on Ubuntu 22.04 with g++ 11.4.0.

Using the built packages

You can find the built NuGet packages build/GraphEngine**._version_.nupkg in the build folder. In the building process, the build directory has been registered as a local NuGet repository and the local package cache for GraphEngine.Core has been cleared. After the packages are built, run dotnet restore to use the newly built packages.

Running your first Graph Engine app

Go to the samples/Friends folder, execute dotnet restore and dotnet run to run the sample project.

Contributing

Pull requests, issue reports, and suggestions are welcome.

Please read the code of conduct before contributing code.

Follow these instructions for reporting security issues.

License

Copyright (c) Microsoft Corporation. All rights reserved.

Licensed under the MIT license.

Disclaimer

Microsoft Graph Engine is a research project. It is not an officially supported Microsoft product.

References

We kindly request that any published paper that makes use of Microsoft Graph Engine cites the following paper:

If you want to learn more about the algorithms and applications built on top of Microsoft Graph Engine, please refer to these publications.