Skip to content

LinqlLang/Linql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linql

Linql is a next generation graph api library. It's primary goal is to provide language-native graph api integration to achieve consistency and scale across the web.

Linql is currently in alpha. Support for C# and Typescript may be production ready and significantly improve your web development experience.

Read the white paper

Support

If Linql resonates with you, please consider supporting the project, as the entire stack is maintained by a single developer.

Ethereum

0x50373B51Cb601827CcC1Dc5472251031d2fdBF89

Github Sponsor

You can also sponsor me on my profile or by using the sponsorship button in this repo if you wish to receive individualized support, prioritize features, or advertise your support for Linql.

Hire Me

LinkedIn

sodroski@bu.edu

Unparalleled Developer Experience

Because Linql is language-native, it is small, light-weight, and robust.

Using Linql allows you to interact with your api with compile-time safety and full typeahead support, significantly reducing developer time in comparison to other systems.

Typescript

Typescript typeahead

C#

C# typeahead

Python

Python typeahead

Client Examples

C#

List<string> codesICareAbout = new List<string>() { "al", "ma" };

List<State> statesICareAbout = await states
.Where(r => codesICareAbout.Select(t => t.ToUpper()).Contains(r.State_Code))
.ToListAsync();

Typescript

this.CodesICareAbout = ["al", "ma"];
...
const statesICareAbout: Array<State> = search
.Where(r => this.CodesICareAbout.Select(t => t.ToUpper()).Contains(r.State_Code!))
.ToListAsync();

Python

statesICareAbout = ["al", "ma"]
search.Where(lambda r: any(lambda x: r.State_Code in x, map(lambda t: t.upper(), statesICareAbout))).ToListAsync()

Java

List<String> codesICareAbout = Arrays.asList("al", "ma");

List<State> statesICareAbout = states
.stream()
.filter(r => codesICareAbout.stream().map(t => t.toUpperCase()).collect(Collectors.toList()).contains(r))
.collect(Collectors.toList());

Language Support

Language Environment Client Server Notes
C# Full Alpha Full Alpha
Javascript Uses Linq emulator
- Node Full Beta Not Started linql.client-fetch also available for native fetch support
- Angular Full Beta n/a Has native framework wrapper
- React Full Beta n/a Needs native framework wr apper
- Vanilla Full Beta n/a
Python Partial Alpha In Progress
Java Not Started Not Started

Model Generation

Linql is very powerful if there is automatic model generation for your consumers to use. This can be accomplished with the Linql.ModelGenerator.

Acknowledgements

Big thanks to:

About

Next-Gen, Language-Native Graph Api

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published