- | Windows Multi Targeting | Ubuntu 16.04 .NET Core |
---|---|---|
Build | ||
Tests | _ | _ |
Stress | _ | _ |
This repository contains the source code of 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 atop Graph Engine. It 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 on Graph Engine servers during graph traversal.
If you are interested in contributing to Graph Engine, 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.
NuGet packages Graph Engine Core and LIKQ are available in the NuGet Gallery.
If you develop Graph Engine applications using Visual Studio on Windows, Graph Engine VSExtension can be used to facilitate the development work.
Install Visual Studio 2017 or 2019 with the following components selected:
- .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 3.1
- cmake
.NET Core SDK and cmake can alternatively be installed using their standalone installers.
The Windows build will generate multi-targeting nuget packages.
Open a powershell window, run tools/build.ps1
for Visual Studio 2017 or tools/build.ps1 -VS2019
for Visual Studio 2019.
The Linux native assemblies will also be packaged (pre-built at lib
) to allow the Windows build to work for Linux .Net Core
as well.
Install libunwind8
, g++
, cmake
and libssl-dev
. For example, run sudo apt install libunwind8 g++ cmake libssl-dev
for Ubuntu.
Install .NET Core 3.1 and execute bash tools/build.sh
.
The Windows native assemblies will also be packaged so that the
Linux build will work for Windows .Net Core
as well.
Note: Because .Net Framework
is Windows-only, the packages built on Linux only support .Net Core
. The build script is tested only on Ubuntu 16.04
, Ubuntu 18.04
, and Ubuntu 20.04
.
Nuget packages will be built as
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, run dotnet restore
to use the newly built package.
Go to the samples/Friends/Friends
folder, execute dotnet restore
and dotnet run
to run the sample project.
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the MIT License.