Links Notation

A natural, intuitive format for representing structured data as links between entities references to links

papa (lovesMama: loves mama)

What is Links Notation?

🌱 Natural

Most text can already be parsed as links notation

🔗 Flexible

Supports any number of references in each link

🌍 Universal

Can represent doublets, triplets, and N-tuples

📊 Hierarchical

Supports nested structures with indentation

Comparison of JSON, XML, and Lino formats

Examples

Doublets (2-tuple)

papa (lovesMama: loves mama)
son lovesMama
daughter lovesMama
all (love mama)

Triplets (3-tuple)

papa has car
mama has house
(papa and mama) are happy

Sequences (N-tuple)

I'm a friendly AI.
(I'm a friendly AI too.)
(linksNotation: links notation)
(This is a linksNotation as well)

Complex Nesting

(linksNotation supports (unlimited number (of references) in each link))
(sequence (of references) surrounded by parentheses is a link)

Interactive Playground

Input

Output


                    

Documentation & APIs

JavaScript

Modern web development with ES6+ support

npm version

C#

High-performance .NET implementation

NuGet version

Rust

Memory-safe and fast parsing

Crates.io version

Quick Start

JavaScript

import { Parser } from '@linksplatform/protocols-lino';
const parser = new Parser();
const links = parser.parse("papa (lovesMama: loves mama)");

C#

var parser = new Platform.Protocols.Lino.Parser();
var links = parser.Parse("papa (lovesMama: loves mama)");

Rust

use lino::parse_lino;
let links = parse_lino("papa (lovesMama: loves mama)").unwrap();