GithubHelp home page GithubHelp logo

mfrager / terminus-server Goto Github PK

View Code? Open in Web Editor NEW

This project forked from terminusdb/terminusdb

0.0 1.0 0.0 3.51 MB

open source model driven graph database for knowledge graph representation.

License: GNU General Public License v3.0

Prolog 99.34% Dockerfile 0.02% Shell 0.11% Smarty 0.53%

terminus-server's Introduction

████████╗███████╗██████╗ ███╗   ███╗██╗███╗   ██╗██╗   ██╗███████╗
╚══██╔══╝██╔════╝██╔══██╗████╗ ████║██║████╗  ██║██║   ██║██╔════╝
   ██║   █████╗  ██████╔╝██╔████╔██║██║██╔██╗ ██║██║   ██║███████╗
   ██║   ██╔══╝  ██╔══██╗██║╚██╔╝██║██║██║╚██╗██║██║   ██║╚════██║
   ██║   ███████╗██║  ██║██║ ╚═╝ ██║██║██║ ╚████║╚██████╔╝███████║
   ╚═╝   ╚══════╝╚═╝  ╚═╝╚═╝     ╚═╝╚═╝╚═╝  ╚═══╝ ╚═════╝ ╚══════╝

Terminus Server

Build Status

TerminusDB is an open source model driven graph database for knowledge graph representation designed specifically for the web-age.

Terminus Server provides TerminusDB with a RESTful API for interacting with knowledge graphs via the JSON-LD exchange format. This means you can easily string together applications within your own toolchain which utilise the powerful features of graph search and graph storage.

We use an advanced git-like model storing append only changes to graphs represented in concise datastructures using terminus-store.

Latest Version

v1.1.1

Getting Started

Install from Docker image (RECOMMENDED)

For all users, we recommend our Quickstart installer.

Follow the instructions there. If you choose to run the Docker image directly, please not that the default password is "root" (without the double quotes) and that you should change it in a production environment.

Building from source

In order to build from source, follow the build from source directions.

Open Console

Once you have installed terminus-server either from the docker image or built from source you can go simply enter the server location into your browser to view your database from the dashboard "http://SERVER:PORT/console". (the default is: http://localhost:6363/console).

Documentation

Microservices API

Terminus Server is organised to be web native which means that all actions and activities are easily automated via a RESTful JSON-LD API.

The Server API is documented here.

WOQL

WOQL, the Web Object Query Language, allows you to seemlessly traverse the graph extracting graph fragments, nodes, tables or JSON-LD documents. The syntax itself is in JSON-LD, making the syntax a native data-structure in JavaScript, Python, and Prolog.

The Syntax is documented here.

Why

TerminusDB will:

  • Make complex data models easy, maintainable and enforced.
  • Overcome the Object Impedance mismatch without turning your Database into an incomprehensible soup.
  • Allow you to search for repeating patterns using recursion.
  • Give you powerful temporal queries using finite domain constraint logic.
  • Enable the sharing of data using linked open data formats RDF and JSON-LD making scientific or organisational information sharing easy.
  • Help you automate the production of UI and data-entry by knowing what data means.

Client

In order to begin manipulating and querying your database you can simply point your browser to TERMINUS_DIR/index.html which should allow you to manage and query your database.

You can also perform all configuration, querying and management functions via the RESTful API. We have a number of client libraries to help you get started:

The JavaScript client libraries give you assistance with programatic access.

The JavaScript dashboard is an example application allowing manipulation of the database, queries and .

The [Python client libraries] Coming Soon...

Changes in this Version

  • Now with our own terminus-store backend!
  • Extended WOQL to greater functionality for string and arithmetic processing
  • Better date handling in WOQL
  • Improved type casting in WOQL
  • Improvements to query processing speed
  • We now have decoupled public URI from internal database URI

Future

We are working hard on our collaboration and data-ops features. They should be available by the end of February 2020.

TODO

  • Improve error handling and logging
  • Convert frames into valid JSON-LD

Contact

You can write the authors, or connect to our community server on Discord.

Authors

Gavin Mendel-Gleason [email protected]

Matthijs van Otterdijk [email protected]

Robin de Rooij [email protected]

Anne Ogborn [email protected]

Dmytri Kleiner [email protected]

Paulo Moura

Put your Name here by contributing!

Copyright

This file is part of TerminusDB.

TerminusDB is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 (GPLv3) as published by the Free Software Foundation.

TerminusDB is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with TerminusDB. If not, see https://www.gnu.org/licenses/.

terminus-server's People

Contributors

anniepoo avatar dmytri avatar francesca-bit avatar gavinmendelgleason avatar kevinchekovfeeney avatar luke-feeney avatar matko avatar padraic7a avatar pmoura avatar pwin avatar rrooij avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.