links-notation (languages: en • ru)
| JavaScript | ||
|---|---|---|
| Rust | ||
| C# | ||
| Python | ||
| Java |
Библиотека классов Link Foundation Link.Foundation.Links.Notation.
Эта библиотека дает вам возможность преобразовать любую строку, содержащую обозначение связей, в список связей и форматировать этот список обратно в строку после внесения изменений.
Нотация связей основана на двух концепциях: ссылка и связь. Каждая ссылка ссылается на другую связь. Нотация поддерживает связи с любым количеством ссылок на другие связи.
var parser = new Link.Foundation.Links.Notation.Parser();
var links = parser.Parse("папа (любитМаму: любит маму)");import { Parser } from 'links-notation';
const parser = new Parser();
const links = parser.parse("папа (любитМаму: любит маму)");use links_notation::parse_lino;
let links = parse_lino("папа (любитМаму: любит маму)").unwrap();from links_notation import Parser
parser = Parser()
links = parser.parse("папа (любитМаму: любит маму)")import io.github.linkfoundation.linksnotation.Parser;
Parser parser = new Parser();
List<Link> links = parser.parse("папа (любитМаму: любит маму)");папа (любитМаму: любит маму)
сын любитМаму
дочь любитМаму
все (любят маму)
папа имеет машину
мама имеет дом
(папа и мама) счастливы
Я дружелюбный ИИ.
(Я тоже дружелюбный ИИ.)
(нотацияСвязей: нотация связей)
(Это тоже нотацияСвязей)
(нотацияСвязей поддерживает (неограниченное количество (ссылок) в каждой связи))
(последовательность (ссылок) окруженная скобками это связь)
скобки могут быть опущены если вся строка это одна связь
Это означает что этот текст тоже является нотацией связей. Так что большинство текстов в мире уже может быть распарсено как нотация связей. Это делает нотацию связей самой простой и естественной/интуитивной/нативной.
Нотация Связей (Lino) - это простой, интуитивный формат для
представления структурированных данных в виде связей между
сущностями ссылками на связи. Он разработан для того, чтобы быть:
- Естественным: Большинство текстов уже может быть распарсено как нотация связей
- Гибким: Поддерживает любое количество ссылок в каждой связи
- Универсальным: Может представлять дублеты, триплеты и N-кортежи
- Иерархическим: Поддерживает вложенные структуры с отступами
Нотация использует две основные концепции:
- Ссылки: Указывают на другие связи (как переменные или идентификаторы)
- Связи: Соединяют ссылки вместе с опциональными идентификаторами
Для подробных руководств по реализации и справочников API смотрите документацию для конкретных языков:
- Документация C# - Полный справочник API
- README C# - Руководство по установке и использованию
- README JavaScript - Руководство для современной веб-разработки
- README Rust - Руководство по высокопроизводительному парсингу
- README Python - Руководство по работе с пакетом Python
- README Java - Руководство по работе с пакетом Java/Maven
Дополнительные ресурсы:
-
Сравнение возможностей - Анализ возможностей LINO по сравнению с YAML/XML/JSON
-
PDF Документация - Полный справочник для офлайн чтения
-
Теория связей 0.0.2 - Теоретическая основа, которую Нотация Связей полностью поддерживает