TypeDB - A strongly-typed database

  •        1461

TypeDB is a strongly-typed database with a rich and logical type system. TypeDB empowers you to tackle complex problems, and TypeQL is its query language. TypeDB allows you to model your domain based on logical and object-oriented principles. Composed of entity, relationship, and attribute types, as well as type hierarchies, roles, and rules, TypeDB allows you to think higher-level as opposed to join-tables, columns, documents, vertices, edges, and properties.

TypeDB allows you to model your domain using the well-known Entity-Relationship model. It is composed of entity types, relation types, and attribute types, with the introduction of role types. TypeDB allows you to leverage the full expressivity of the ER model, and describe your schema through first normal form.

Types provide a way to describe the logical structures of your data, allowing TypeDB to validate that your code inserts and queries data correctly. Query validation goes beyond static type-checking, and includes logical validation of meaningless queries. With strict type-checking errors, you have a dataset that you can trust.

TypeDB encodes your data for logical interpretation by a reasoning engine. It enables type-inference and rule-inference, which create logical abstractions of data. This allows the discovery of facts and patterns that would otherwise be too hard to find; and complex queries become much simpler.

TypeDB's API is provided through a gRPC client, providing bi-directional streaming, compression, and strong message typing, that REST APIs could not provide. TypeDB Clients are delivered as libraries in dedicated languages that provide stateful objects, Session and Transactions, for you to interact with the database programmatically.




Related Projects

atomspace - The OpenCog hypergraph database, query system and rule engine

  •    C++

The OpenCog AtomSpace is a knowledge representation (KR) database and the associated query/reasoning engine to fetch and manipulate that data, and perform reasoning on it. Data is represented in the form of graphs, and more generally, as hypergraphs; thus the AtomSpace is a kind of graph database, the query engine is a general graph re-writing system, and the rule-engine is a generalized rule-driven inferencing system. The vertices and edges of a graph, known as "Atoms", are used to represent not only "data", but also "procedures"; thus, many graphs are executable programs as well as data structures. The AtomSpace is a platform for building Artificial General Intelligence (AGI) systems. It provides the central knowledge representation component for OpenCog. As such, it is a fairly mature component, on which a lot of other systems are built, and which depend on it for stable, correct operation in a day-to-day production environment.

HyperGraphDB - Database for Storing Strongly-Typed Hypergraphs

  •    Java

HyperGraphDB is a general purpose, open-source data storage mechanism based on a powerful knowledge management formalism known as directed hypergraphs. While a persistent memory model designed mostly for Knowledge management, Artificial Intelligence and Semantic web projects, it can also be used as an embedded object-oriented database for Java projects of all sizes. It could also be used as graph database or as (non-SQL) relational database.

AmpliGraph - Python library for Representation Learning on Knowledge Graphs https://docs

  •    Python

Open source library based on TensorFlow that predicts links between concepts in a knowledge graph. AmpliGraph is a suite of neural machine learning models for relational Learning, a branch of machine learning that deals with supervised learning on knowledge graphs.

agensgraph - AgensGraph, a transactional graph database based on PostgreSQL

  •    C

AgensGraph is a new generation multi-model graph database for the modern complex data environment. AgensGraph is a multi-model database, which supports the relational and graph data model at the same time that enables developers to integrate the legacy relational data model and the flexible graph data model in one database. AgensGraph supports ANSI-SQL and openCypher (http://www.opencypher.org). SQL queries and Cypher queries can be integrated into a single query in AgensGraph. AgensGraph is based on the powerful PostgreSQL RDBMS, and is very robust, fully-featured and ready for enterprise use. AgensGraph is optimized for handling complex connected graph data and provides plenty of powerful database features essential to the enterprise database environment including ACID transactions, multi-version concurrency control, stored procedure, triggers, constraints, sophisticated monitoring and a flexible data model (JSON). Moreover, AgensGraph leverages the rich eco-systems of PostgreSQL and can be extended with many outstanding external modules, like PostGIS.

kglib - Grakn Knowledge Graph Library (ML R&D)

  •    Python

To respond to these scenarios, KGLIB is the centre of all research projects conducted at Grakn Labs. In particular, its focus is on the integration of machine learning with the Grakn Knowledge Graph. More on this below, in Knowledge Graph Tasks. At present this repo contains one project: Knowledge Graph Convolutional Networks (KGCNs). Go there for more info on getting started with a working example.

foam - A personal knowledge management and sharing system for VSCode

  •    Typescript

Foam is a personal knowledge management and sharing system inspired by Roam Research, built on Visual Studio Code and GitHub. You can use Foam for organising your research, keeping re-discoverable notes, writing long-form content and, optionally, publishing it to the web.

Cayley - An open-source Graph Database

  •    Go

Cayley is an open-source graph inspired by the graph database behind Freebase and Google's Knowledge Graph. Its goal is to be a part of the developer's toolbox where Linked Data and graph-shaped data (semantic webs, social networks, etc) in general are concerned.

Infogrid - Web Graph Database

  •    Java

InfoGrid is a Web Graph Database with a many additional software components that make the development of REST-ful web applications on a graph foundation easy. GraphDatabase is the heart of InfoGrid. Graph database could be replicated across servers. It provides an common interface to store data either in file system or relational or non-relational database.

Neo4j - Graph Database

  •    Java

Neo4j is a high-performance graph engine with all the features of a mature and robust database. It is a graph database, storing data in the nodes and relationships of a graph. It includes the usual database features like ACID transactions, durable persistence, concurrency control, transaction recovery, high availability.

dgl-ke - High performance, easy-to-use, and scalable package for learning large-scale knowledge graph embeddings

  •    Python

Knowledge graphs (KGs) are data structures that store information about different entities (nodes) and their relations (edges). A common approach of using KGs in various machine learning tasks is to compute knowledge graph embeddings. DGL-KE is a high performance, easy-to-use, and scalable package for learning large-scale knowledge graph embeddings. The package is implemented on the top of Deep Graph Library (DGL) and developers can run DGL-KE on CPU machine, GPU machine, as well as clusters with a set of popular models, including TransE, TransR, RESCAL, DistMult, ComplEx, and RotatE. This command will download the FB15k dataset, train the transE model and save the trained embeddings into the file.

GraphEngine - Microsoft Graph Engine

  •    CSharp

Microsoft Graph Engine is a distributed in-memory data processing engine, underpinned by a strongly-typed in-memory key-value store and a general distributed computation engine.This repository contains the source code of Graph Engine and its graph query language -- Language Integrated Knowledge Query (LIKQ). LIKQ is a versatile graph query language on top of Graph Engine. It combines the capability of fast graph exploration and the flexibility of lambda expression: server-side computations can be expressed in lambda expressions, embedded in LIKQ, and executed on the server side during graph traversal. LIKQ is powering Academic Graph Search API, which is part of Microsoft Cognitive Services.

Geist - A personal knowledge base with a focus on connections

  •    Javascript

A personal knowledge base with a focus on connections. The personal knowledge base (PKB) is basically a wiki system for personal use. Unlike a public wiki which most often focuses on representing facts, the PKB can contain subjective material relevant to the person or persons using the PKB. Therefore the desired properties of a PKB are equivalent to those of the personal wiki.

TerminusDB - Open source toolkit for building collaborative applications.

  •    Prolog

TerminusDB is an open-source graph database and document store. It is designed for collaboratively building data-intensive applications and knowledge graphs. If you want to collaborate with colleagues or build data-intensive applications, nothing will make you more productive. It is a native revision control database that is architecturally similar to Git and other distributed version control systems.

Nebula Graph - A distributed, scalable, lightning-fast graph database

  •    C++

Nebula Graph is an open-source graph database capable of hosting super large-scale graphs with billions of vertices (nodes) and trillions of edges, with milliseconds of latency. It delivers enterprise-grade high performance to simplify the most complex data sets imaginable into meaningful and useful information.

Cerebrum : Object-oriented database and knowledge base management system

  •    DotNet

The Object-oriented database and knowledge base management system Cerebrum uses network data model. Cerebrum makes it easier for developers to save the state of the complex objects graph or the neural network into the database.

beam - A distributed knowledge graph store

  •    Go

There's a blog post that's a good introduction to Beam. Beam is a distributed knowledge graph store, sometimes called an RDF store or a triple store. Knowledge graphs are suitable for modeling data that is highly interconnected by many types of relationships, like encyclopedic information about the world. A knowledge graph store enables rich queries on its data, which can be used to power real-time interfaces, to complement machine learning applications, and to make sense of new, unstructured information in the context of the existing knowledge.

graph-notebook - Library extending Jupyter notebooks to integrate with Apache TinkerPop and RDF SPARQL

  •    Jupyter

The graph notebook provides an easy way to interact with graph databases using Jupyter notebooks. Using this open-source Python package, you can connect to any graph database that supports the Apache TinkerPop, openCypher or the RDF SPARQL graph models. These databases could be running locally on your desktop or in the cloud. Graph databases can be used to explore a variety of use cases including knowledge graphs and identity graphs. We encourage others to contribute configurations they find useful. There is an additional-databases folder where more information can be found.

GraphView - GraphView is a DLL library that enables users to use SQL Server or Azure SQL Database to efficiently manage graphs

  •    CSharp

GraphView is a DLL library that enables users to use SQL Server or Azure SQL Database to manage graphs. It connects to a SQL database locally or in the cloud, stores graph data in tables and queries graphs through a SQL-extended language. It is not an independent database, but a middleware that accepts graph operations and translates them to T-SQL executed in SQL Server or Azure SQL Database. As such, GraphView can be viewed as a special connector to SQL Server/Azure SQL Database. Developers will experience no differences than the default SQL connector provided by the .NET framework (i.e., SqlConnection), only except that this new connector accepts graph-oriented statements.GraphView is a DLL library through which you manage graph data in SQL Server (version 2008 and onward) and Azure SQL Database (v12 and onward). It provides features a standard graph database is expected to have. In addition, since GraphView relies on SQL databases, it inherits many features in the relational world that are often missing in native graph databases.

HugeGraph - Fast-speed and highly-scalable graph database

  •    Java

HugeGraph is a fast-speed and highly-scalable graph database. Billions of vertices and edges can be easily stored into and queried from HugeGraph due to its excellent OLTP ability. As compliance to Apache TinkerPop 3 framework, various complicated graph queries can be accomplished through Gremlin(a powerful graph traversal language).

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.