Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/microsoft/GraphEngine
Microsoft Graph Engine
https://github.com/microsoft/GraphEngine
distributed-computing dotnet graph-engine graph-query-language in-memory-computations in-memory-storage
Last synced: 15 days ago
JSON representation
Microsoft Graph Engine
- Host: GitHub
- URL: https://github.com/microsoft/GraphEngine
- Owner: microsoft
- License: mit
- Created: 2017-02-09T05:02:16.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-12-23T06:27:51.000Z (11 months ago)
- Last Synced: 2024-05-16T20:27:33.204Z (6 months ago)
- Topics: distributed-computing, dotnet, graph-engine, graph-query-language, in-memory-computations, in-memory-storage
- Language: C#
- Homepage: http://www.graphengine.io/
- Size: 40.7 MB
- Stars: 2,182
- Watchers: 129
- Forks: 326
- Open Issues: 46
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-repositories - microsoft/GraphEngine - Microsoft Graph Engine (C# #)
README
# Microsoft Graph Engine
| - | Windows | Linux |
|:------:|:------:|:------:|
|Build|![Build status badge](https://msai.visualstudio.com/GraphEngine/_apis/build/status/GraphEngine-Windows)|![Build status badge](https://msai.visualstudio.com/GraphEngine/_apis/build/status/GraphEngine-Linux)|This repository contains the source code of [Microsoft 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 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][vs] 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
```shell
sudo apt update && sudo apt install g++ cmake libssl-dev
```Install [.NET SDK x64 8.0][dotnet-on-linux]. 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:```shell
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](CODE_OF_CONDUCT.md) before contributing code.
Follow these [instructions](SECURITY.md) for reporting security issues.
## License
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the [MIT](LICENSE.md) 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:- [Bin Shao](https://www.binshao.info/), [Haixun Wang](https://haixun.github.io/), and [Yatao Li](https://www.microsoft.com/en-us/research/people/yatli/). [Trinity: A Distributed Graph Engine on a Memory Cloud](https://www.graphengine.io/downloads/papers/Trinity.pdf). In SIGMOD 2013: Proceedings of SIGMOD 2013, New York, New York, USA, June 22-27, 2013, pages 505-516. ([BibTeX](https://www.graphengine.io/downloads/papers/Trinity.bib))
If you want to learn more about the algorithms and applications built on top of Microsoft Graph Engine, please refer to these [publications](https://www.graphengine.io/docs/publications/index.html).
[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/
[vs-extension]: 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/
[dotnet-on-linux]: https://dotnet.microsoft.com/en-us/download/dotnet
[license]: LICENSE.md