1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-Fluree

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Fluree DB

Использование документации находится по адресу https://docs.flur.ee.

Обзор

Fluree — это неизменяемая, темпоральная база данных семантических графов с облачной архитектурой и поддержкой бэкенда на основе реестра.

Этот репозиторий представляет собой базу данных без сохранения состояния в виде библиотеки, предназначенную для использования совместно с Fluree Ledger, который поддерживает всё состояние. Эту базу данных можно запускать в контейнерах и динамически масштабировать до любой желаемой нагрузки, встраивать в свои приложения (на данный момент Clojure, NodeJS) или использовать как отдельный сервис JVM.

Эту базу данных также можно создать в качестве веб-воркера и встроить в браузер. На данный момент разработана React Wrapper (бета), которая позволяет создавать приложения реального времени, оборачивая компоненты React запросами (GraphQL или FlureeQL).

Также возможно запустить Fluree в «бессерверном» режиме, где, используя Fluree SmartFunctions для встраивания защиты данных вместе со своими данными (защита данных), вы можете получить разрешённое приложение только с одностраничным приложением (например, React) и Fluree Ledgers, но без сервера приложений.

Fluree включает в себя возможность путешествия во времени, позволяя мгновенно запрашивать данные за любой исторический момент времени и даже позволяя планировать предполагаемые транзакции для путешествия во времени в будущее, к гипотетической версии ваших данных.

Лучший способ начать работу с Fluree — перейти на страницу Начало работы по адресу https://flur.ee/getstarted/.

Разработка

Вклад

Все участники должны заполнить Лицензионное соглашение участника.

Предварительные требования

  1. Установите инструменты Clojure (версия 1.10.3.933 или более поздняя).
    1. macOS: brew install clojure/tools/clojure
    2. Arch Linux: pacman -S clojure
    3. Windows: следуйте инструкциям здесь https://applab.unc.edu/posts/2019/09/11/how-to-install-clojure-on-windows/
  2. Установите Node и NPM.
    1. macOS: brew install node
    2. Arch Linux: pacman -S nodejs
    3. Windows: загрузите установщик здесь https://nodejs.org/en/download
  3. Установите babashka.
    1. macOS: brew install borkdude/brew/babashka
    2. Windows: scoop install babashka

Сборка

  • Используйте make -j, чтобы выполнять задачи параллельно.

    • make deps — установить все локальные зависимости.

    • make compile — локально скомпилировать необходимые классы (требуется для разработки Clojure).

    • make — сделать всё ниже.

    • make jar — создать файл JAR Java.

    • make nodejs — создать JavaScript Fluree DB для Node.

    • make browser — создать JavaScript Fluree DB для браузеров.

    • make webworker — создать JavaScript Fluree DB для веб-воркеров.

    • make install — установить файл jar в локальный .m2/maven.

    • make clean — очистить все каталоги сборки/файлы.

Тесты

  • make test — запустить все автоматизированные тесты ниже.
  • make cljtest — запустить все тесты CLJ.
  • make cljstest — запустить тесты CLJS в безголовом Chrome и NodeJS.
  • make cljs-browser-test — запустить тесты CLJS в безголовом Chrome.
    • Требуется глобально установленный karma-cli: npm install -g karma-cli.
    • Необходим установленный браузер Google Chrome.
  • make cljs-node-test — запустить тесты CLJS в NodeJS.
  • make nodejs-test — запустить пакет узла в узле.
  • make browser-test — запустить пакет браузера в безголовом Chrome.

Запуск определённых тестов

Это относится только к тестам CLJ, а не к CLJS.

clojure -X:cljtest :kaocha.filter/focus [focus-spec]

...где focus-spec может быть тестовым пространством имён или полностью определённой переменной deftest. Обратите внимание, что квадратные скобки вокруг focus-spec должны присутствовать в команде, они НЕ указывают на «необязательный» или «заполнитель» в примере.

Эта функция взята из тестового бегуна kaocha, который имеет дополнительные функции.

CLJS REPL

Чтобы запустить Node или веб-браузер CLJS REPL, вам необходимо выполнить следующие действия:

  1. Запустите npx shadow-cljs watch flureenjs (или flureedb для браузера REPL).

  2. (Только для узла) Запустите node out/nodejs/flureenjs.js в отдельной оболочке.

  3. (Браузер...) 1. Подключитесь к http://localhost:9630/ в вашем браузере.

    • На данный момент это не работает. Сначала происходит зависание на стадии «shadow-cljs Loading...» с ошибкой «unknown route» в консоли JS. Если вы перезагрузите страницу, проблема, кажется, решается. Но даже после того, как панель управления загрузится и вы подключите REPL, появляется сообщение «No available JS runtime».
  4. Подключите nREPL к порту, указанному в .shadow-cljs/nrepl.port.

  5. В этом REPL выполните команду (shadow/repl :flureenjs) (или :flureedb для браузера REPL).

  6. Попробуйте запустить что-то специфичное для CLJS, чтобы убедиться, что у вас есть работающий CLJS REPL.

    • Например: (js/parseInt "42").

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Fluree — это семантическая графовая база данных с открытым исходным кодом, которая обеспечивает целостность данных, отслеживаемость источников данных, безопасное совместное использование данных и улучшенное понимание взаимосвязей между данными. Развернуть Свернуть
Clojure и 6 других языков
EPL-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-Fluree.git
git@api.gitlife.ru:oschina-mirror/mirrors-Fluree.git
oschina-mirror
mirrors-Fluree
mirrors-Fluree
main