Code Monkey home page Code Monkey logo

graphengine's Introduction

Graph Engine - Open Source

- Windows Multi Targeting Ubuntu 16.04 .NET Core
Build
Tests _ _
Stress _ _

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

This repository contains the source code of Graph Engine and its graph query language -- Language Integrated Knowledge Query (LIKQ). LIKQ is a versatile graph query language on top of Graph Engine. It combines the capability of fast graph exploration and the flexibility of lambda expression: server-side computations can be expressed in lambda expressions, embedded in LIKQ, and executed on the server side during graph traversal. LIKQ is powering Academic Graph Search API, which is part of Microsoft Cognitive Services.

Downloads

Graph Engine is regularly released with bug fixes and feature enhancements.

You can install Graph Engine Visual Studio Extension by searching "Graph Engine" in Visual Studio Extensions and Updates (recommended). It can also be downloaded from Visual Studio Gallery.

NuGet packages Graph Engine Core and LIKQ are available in the NuGet Gallery.

How to Contribute

Pull requests, issue reports, and suggestions are welcome.

If you are interested in contributing to the code, please fork the repository and submit pull requests to the master branch.

Please submit bugs and feature requests in GitHub Issues.

Building for Windows

Install Visual Studio 2017. Make sure to install the following workloads and components:

  • .NET desktop development
  • Desktop development with C++
  • cmake
  • .NET Core SDK 2.0 or above

The Windows build will generate multi-targeting nuget packages for all the available modules. Run tools/build.ps1 with powershell. It will setup a workspace folder build, and build with cmake. The Linux native assemblies will be automatically packaged (pre-built at lib), so the Windows build will 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 for Linux

Install libunwind8, g++, cmake and libssl-dev. Install dotnet package following the official guide.

Execute tools/build.sh.

The Windows native assemblies will be automatically packaged, so the Linux build will also work for Windows .Net Core. Note, as 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 currently only supports Ubuntu 16.04.

License

Copyright (c) Microsoft Corporation. All rights reserved.

Licensed under the MIT License.

graphengine's People

Contributors

chaosddp avatar fexio avatar jiabaohan avatar leasunhy avatar leoxia avatar microsoftopensource avatar nvankaam avatar phomes avatar shaobin avatar tavitruman avatar thautwarm avatar v-yadli avatar yatli avatar z-shang avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.