All Projects → typedb-osi → typedb-loader

typedb-osi / typedb-loader

Licence: Apache-2.0 License
TypeDB Loader - Data Migration Tool for TypeDB

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to typedb-loader

Grakn
TypeDB: a strongly-typed database
Stars: ✭ 2,947 (+6753.49%)
Mutual labels:  knowledge-graph, knowledge-base, typedb
typedb
TypeDB: a strongly-typed database
Stars: ✭ 3,152 (+7230.23%)
Mutual labels:  knowledge-graph, knowledge-base, typedb
Tutorial Utilizing Kg
Resources for Tutorial on "Utilizing Knowledge Graphs in Text-centric Information Retrieval"
Stars: ✭ 148 (+244.19%)
Mutual labels:  knowledge-graph, knowledge-base
Aser
ASER (activities, states, events, and their relations), a large-scale eventuality knowledge graph extracted from more than 11-billion-token unstructured textual data.
Stars: ✭ 171 (+297.67%)
Mutual labels:  knowledge-graph, knowledge-base
Kbgan
Code for "KBGAN: Adversarial Learning for Knowledge Graph Embeddings" https://arxiv.org/abs/1711.04071
Stars: ✭ 186 (+332.56%)
Mutual labels:  knowledge-graph, knowledge-base
Capse
A Capsule Network-based Embedding Model for Knowledge Graph Completion and Search Personalization (NAACL 2019)
Stars: ✭ 114 (+165.12%)
Mutual labels:  knowledge-graph, knowledge-base
Hyte
EMNLP 2018: HyTE: Hyperplane-based Temporally aware Knowledge Graph Embedding
Stars: ✭ 130 (+202.33%)
Mutual labels:  knowledge-graph, knowledge-base
Topic Db
TopicDB is a topic maps-based semantic graph store (using PostgreSQL for persistence)
Stars: ✭ 164 (+281.4%)
Mutual labels:  knowledge-graph, knowledge-base
hugo-documentation-theme
📖 Project Docs / Knowledge Base template for Hugo Website Builder. 创建项目文档
Stars: ✭ 101 (+134.88%)
Mutual labels:  knowledge-graph, knowledge-base
CONVEX
As far as we know, CONVEX is the first unsupervised method for conversational question answering over knowledge graphs. A demo and our benchmark (and more) can be found at
Stars: ✭ 24 (-44.19%)
Mutual labels:  knowledge-graph, knowledge-base
harika
Offline-, mobile-first graph note-taking app focused on performance with the knowledgebase of any scale
Stars: ✭ 111 (+158.14%)
Mutual labels:  knowledge-graph, knowledge-base
Workbase
Grakn Workbase (Knowledge IDE)
Stars: ✭ 106 (+146.51%)
Mutual labels:  knowledge-graph, knowledge-base
Simple
SimplE Embedding for Link Prediction in Knowledge Graphs
Stars: ✭ 104 (+141.86%)
Mutual labels:  knowledge-graph, knowledge-base
Zincbase
A state of the art knowledge base
Stars: ✭ 144 (+234.88%)
Mutual labels:  knowledge-graph, knowledge-base
Stock Knowledge Graph
利用网络上公开的数据构建一个小型的证券知识图谱/知识库
Stars: ✭ 1,182 (+2648.84%)
Mutual labels:  knowledge-graph, knowledge-base
Awesome Knowledge Management
A curated list of amazingly awesome articles, people, applications, software libraries and projects related to the knowledge management space
Stars: ✭ 758 (+1662.79%)
Mutual labels:  knowledge-graph, knowledge-base
Athens
Free self-hosted desktop app: https://github.com/athensresearch/athens/releases; Try the demo at https://athensresearch.github.io/athens; Docs viewable at https://athensresearch.github.io/docs/
Stars: ✭ 5,501 (+12693.02%)
Mutual labels:  knowledge-graph, knowledge-base
Atomspace
The OpenCog (hyper-)graph database and graph rewriting system
Stars: ✭ 495 (+1051.16%)
Mutual labels:  knowledge-graph, knowledge-base
Zincbase
A batteries-included kit for knowledge graphs
Stars: ✭ 249 (+479.07%)
Mutual labels:  knowledge-graph, knowledge-base
KGReasoning
Multi-Hop Logical Reasoning in Knowledge Graphs
Stars: ✭ 197 (+358.14%)
Mutual labels:  knowledge-graph, knowledge-base

TypeDBLoader_icon


TypeDB Loader Test TypeDB Loader Build


If your TypeDB project

  • has a lot of data
  • and you want/need to focus on schema design, inference, and querying

Use TypeDB Loader to take care of your data migration for you. TypeDB Loader streams data from files and migrates them into TypeDB at scale!

Features:

  • Data Input:

    • data is streamed to reduce memory requirements
    • supports any tabular data file with your separator of choice (i.e.: csv, tsv, whatever-sv...)
    • supports gzipped files
    • ignores unnecessary columns
  • Attribute, Entity, Relation Loading:

    • load required/optional attributes of any TypeDB type (string, boolean, long, double, datetime)
    • load required/optional role players (attribute / entity / relation)
    • load list-like attribute columns as n attributes (recommended procedure until attribute lists are fully supported by TypeDB)
    • load list-like player columns as n players for a relation
    • load entity if not present - if present, either do not write or append attributes
  • Appending Attributes to existing things

  • Append-Attribute-Or-Insert-Entity for entities

  • Data Validation:

    • validate input data rows and log issues for easy diagnosis input data-related issues (i.e. missing attributes/players, invalid characters...)
  • Configuration Validation:

    • write your configuration with confidence: warnings will display useful information for fine tuning, errors will let you know what you forgot. All BEFORE the database is touched.
  • Performance:

    • parallelized asynchronous writes to TypeDB to make the most of your hardware configuration, optimized with engineers @vaticle
  • Stop/Restart (in re-implementation, currently NOT available):

    • tracking of your migration status to stop/restart, or restart after failure
  • Basic Column Preprocessing using RegEx's

Create a Loading Configuration (example) and use TypeDB Loader

How it works:

To illustrate how to use TypeDB Loader, we will use a slightly extended version of the "phone-calls" example dataset and schema from the TypeDB developer documentation:

Configuration

The configuration file tells TypeDB Loader what things you want to insert for each of your data files and how to do it.

Here are some example:

For detailed documentation, please refer to the WIKI.

Migrate Data

Once your configuration files are complete, you can use TypeDB Loader in one of two ways:

  1. As an executable command line interface - no coding required:
./bin/typedbloader load \
                -tdb localhost:1729, \
                -c /path/to/your/config.json \
                -db databaseName \
                -cm

See details here

  1. As a dependency in your own Java code:
public class LoadingData {

   public void loadData() {
      String uri = "localhost:1729";
      String config = "path/to/your/config.json";
      String database = "databaseName";
      
      String[] args = {
              "load",
              "-tdb", uri,
              "-c", config,
              "-db", database,              
              "-cm"
      };

      LoadOptions options = LoadOptions.parse(args);
      TypeDBLoader loader = new TypeDBLoader(options);
      loader.load();
   }
}

See details here

Step-by-Step Tutorial

A complete tutorial for TypeDB version >= 2.5.0 is in work and will be published asap.

A complete tutorial for TypeDB version >= 2.5.0 is in work and will soon be on Medium

A complete tutorial for TypeDB (Grakn) version < 2.0 can be found on Medium.

There is an example repository for your convenience.

Compatibility

TypeDB Loader version == 1.0.0 is tested for:

GraMi (former name) version == 0.1.1 is tested for:

Find the Readme for GraMi for grakn == 2.0.x here

GraMi version < 0.1.0 is tested for:

Find the Readme for GraMi for grakn < 2.0 here

Contributions

TypeDB Loader was built @Bayer AG in the Semantic and Knowledge Graph Technology Group with the support of the engineers @Grakn Labs.

Licensing

This repository includes software developed at Bayer AG. It is released under the Apache License, Version 2.0.

Credits

Icon in banner by Freepik from Flaticon

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].