# GraphEngine **Repository Path**: strongandyzhang/GraphEngine ## Basic Information - **Project Name**: GraphEngine - **Description**: Microsoft Graph Engine - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-02-20 - **Last Updated**: 2024-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Graph Engine - Open Source | - | Windows Multi Targeting | Ubuntu 16.04 .NET Core | |:------:|:------:|:------:| |Build|[](https://trinitygraphengine.visualstudio.com/trinity-ci/_build/index?definitionId=3)|[](https://trinitygraphengine.visualstudio.com/trinity-ci/_build/index?definitionId=4)| |Tests|_|_| |Stress|_|_| This repository contains the source code of [Graph Engine][graph-engine] and its graph query language -- [Language Integrated Knowledge Query][likq] (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][likq-gh] is a versatile graph query language on top of Graph Engine that combines the capability of fast graph exploration with the flexibility of lambda expression. Server-side computations can be expressed in lambda expressions, embedded in LIKQ, and executed server side during graph traversal. ## How to Contribute If you are interested in contributing to the code, please fork the repository and submit pull requests to the `master` branch. Pull requests, issue reports, and suggestions are welcome. Please submit bugs and feature requests as [GitHub Issues](https://github.com/Microsoft/GraphEngine/issues). ## Getting started with Graph Engine ### Downloads **Recommended:** Install by searching for "Graph Engine" in the Visual Studio UI under `Tools` > `Extensions and Updates` It can also be downloaded from [Visual Studio Gallery][gallery]. NuGet packages [Graph Engine Core][graph-engine-core] and [LIKQ][likq-nuget] are available in the NuGet Gallery. Graph Engine is regularly released with bug fixes and feature enhancements. ### Building on Windows Install [Visual Studio 2017][vs], making sure to include the following components: - .NET desktop development - .NET Framework 4 -- 4.6 development tools - Desktop development with C++ - Windows 10 SDK - Windows 8.1 SDK and UCRT SDK - Visual Studio extension development - `.NET Core SDK 2.0` or above - cmake [.NET Core SDK][dotnet-download] and [cmake][cmake-download] can also be installed using their standalone installers. The Windows build will generate multi-targeting nuget packages for all the available modules. Run `tools/build.ps1` with `powershell` to setup a workspace folder `build`, and build using `cmake`. The Linux native assemblies will be automatically packaged (pre-built at `lib`), allowing the Windows build to also work for Linux `.Net Core`. Nuget packages will be built and put at `build/GraphEngine**._version_.nupkg`. The folder `build/` will be registered as a local NuGet repository and the local package cache for `GraphEngine.**` will be cleared. After the packages are built, you can run `dotnet restore` to use the newly built package. ### Building on Linux Install `libunwind8`, `g++`, `cmake` and `libssl-dev`. For example, if you are using Ubuntu, run `sudo apt install libunwind8 g++ cmake libssl-dev`. Install the `dotnet` package following [the official guide][dotnet-download]. Execute `tools/build.sh`. The Windows native assemblies will be automatically packaged, so the Linux build will also work for Windows .Net Core. **Because targeting `.Net Framework` is not supported**, the packages built on Linux are not equivalent to their Windows builds, and will only support `.Net Core`. Nuget packages will be built and put at `build/GraphEngine**._version_.nupkg`. The folder `build/` will be registered as a local NuGet repository and the local package cache for `GraphEngine.Core` will be cleared. After the packages are built, you can run `dotnet restore` to use the newly built package. **Note:** the build script is only tested for `Ubuntu 16.04` and `Ubuntu 18.04`. ## License Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the [MIT][license] License. [graph-engine]: https://www.graphengine.io/ [likq]: https://www.graphengine.io/video/likq.video.html [likq-gh]: https://github.com/Microsoft/GraphEngine/tree/master/src/Modules/LIKQ [academic-graph-search]: https://azure.microsoft.com/en-us/services/cognitive-services/academic-knowledge/ [gallery]: https://visualstudiogallery.msdn.microsoft.com/12835dd2-2d0e-4b8e-9e7e-9f505bb909b8 [graph-engine-core]: https://www.nuget.org/packages/GraphEngine.Core/ [likq-nuget]: https://www.nuget.org/packages/GraphEngine.LIKQ/ [vs]: https://www.visualstudio.com/ [dotnet-download]: https://dotnet.microsoft.com/download/ [cmake-download]: https://cmake.org/download/ [license]: LICENSE.md