All Projects → Lambda-3 → Stargraph

Lambda-3 / Stargraph

Licence: MIT License
StarGraph (aka *graph) is a graph database to query large Knowledge Graphs. Playing with Knowledge Graphs can be useful if you are developing AI applications or doing data analysis over complex domains.

Programming Languages

java
68154 projects - #9 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to Stargraph

MLH-Quizzet
This is a smart Quiz Generator that generates a dynamic quiz from any uploaded text/PDF document using NLP. This can be used for self-analysis, question paper generation, and evaluation, thus reducing human effort.
Stars: ✭ 23 (-4.17%)
Mutual labels:  question-answering
deformer
[ACL 2020] DeFormer: Decomposing Pre-trained Transformers for Faster Question Answering
Stars: ✭ 111 (+362.5%)
Mutual labels:  question-answering
head-qa
HEAD-QA: A Healthcare Dataset for Complex Reasoning
Stars: ✭ 20 (-16.67%)
Mutual labels:  question-answering
iPerceive
Applying Common-Sense Reasoning to Multi-Modal Dense Video Captioning and Video Question Answering | Python3 | PyTorch | CNNs | Causality | Reasoning | LSTMs | Transformers | Multi-Head Self Attention | Published in IEEE Winter Conference on Applications of Computer Vision (WACV) 2021
Stars: ✭ 52 (+116.67%)
Mutual labels:  question-answering
PersianQA
Persian (Farsi) Question Answering Dataset (+ Models)
Stars: ✭ 114 (+375%)
Mutual labels:  question-answering
SQUAD2.Q-Augmented-Dataset
Augmented version of SQUAD 2.0 for Questions
Stars: ✭ 31 (+29.17%)
Mutual labels:  question-answering
ODSQA
ODSQA: OPEN-DOMAIN SPOKEN QUESTION ANSWERING DATASET
Stars: ✭ 43 (+79.17%)
Mutual labels:  question-answering
squadgym
Environment that can be used to evaluate reasoning capabilities of artificial agents
Stars: ✭ 27 (+12.5%)
Mutual labels:  question-answering
finance-qa-spider
金融问答平台文本数据采集/爬取,数据源涉及上交所,深交所,全景网及新浪股吧
Stars: ✭ 33 (+37.5%)
Mutual labels:  question-answering
unanswerable qa
The official implementation for ACL 2021 "Challenges in Information Seeking QA: Unanswerable Questions and Paragraph Retrieval".
Stars: ✭ 21 (-12.5%)
Mutual labels:  question-answering
GAR
Code and resources for papers "Generation-Augmented Retrieval for Open-Domain Question Answering" and "Reader-Guided Passage Reranking for Open-Domain Question Answering", ACL 2021
Stars: ✭ 38 (+58.33%)
Mutual labels:  question-answering
denspi
Real-Time Open-Domain Question Answering with Dense-Sparse Phrase Index (DenSPI)
Stars: ✭ 188 (+683.33%)
Mutual labels:  question-answering
mrqa
Code for EMNLP-IJCNLP 2019 MRQA Workshop Paper: "Domain-agnostic Question-Answering with Adversarial Training"
Stars: ✭ 35 (+45.83%)
Mutual labels:  question-answering
patrick-wechat
⭐️🐟 questionnaire wechat app built with taro, taro-ui and heart. 微信问卷小程序
Stars: ✭ 74 (+208.33%)
Mutual labels:  question-answering
Medi-CoQA
Conversational Question Answering on Clinical Text
Stars: ✭ 22 (-8.33%)
Mutual labels:  question-answering
question-answering
No description or website provided.
Stars: ✭ 32 (+33.33%)
Mutual labels:  question-answering
PororoQA
PororoQA, https://arxiv.org/abs/1707.00836
Stars: ✭ 26 (+8.33%)
Mutual labels:  question-answering
CompareModels TRECQA
Compare six baseline deep learning models on TrecQA
Stars: ✭ 61 (+154.17%)
Mutual labels:  question-answering
WikiTableQuestions
A dataset of complex questions on semi-structured Wikipedia tables
Stars: ✭ 81 (+237.5%)
Mutual labels:  question-answering
KrantikariQA
An InformationGain based Question Answering over knowledge Graph system.
Stars: ✭ 54 (+125%)
Mutual labels:  question-answering

Table of Contents

StarGraph

An Open Source graph database to query large Knowledge Graphs. StarGraph support natural language queries facilitating the interaction between domain experts and data.

Features

  • Natural language interface
  • Easy integration of structured and unstructured data
  • Built-in semantic approximations
  • Multi-lingual
  • REST-like interface

Demo: Querying The Wikipedia Knowledge Graph

To give you a more hands-on experience we've prepared a docker based deployment ready to consume the public dumps of DBpedia 2016. Please follow this instructions:

Software Requirements

These are our recommendations and does not mean that Stargraph will not work on other tools and platforms. We appreciate feedbacks as well.

  • Docker and Docker Compose: Our test environments are using version 1.17 and 1.11 respectively.
  • Linux OS: We adopted Ubuntu LTS Server. Probably from ubuntu trusty onwards you're safe.

Hardware Requirements

These are our recommendations.

  • Around 60GB of free disk space (SSD is a big plus)
  • 16GB of RAM but we strongly recommend 32GB
  • +4 CPUs
  • Internet connection to download all resources.

Installation

Stargraph uses two majors Open Source software components:

For this demonstration we use a public hosted version of Indra. More information here hence you need internet connection. If this is not possible follow this instruction to have Indra in your infrastructure.

Starting Up

Docker Compose will assemble all software components and ease the setup of this Demo. Just copy and paste this file as docker-compose.yml in your filesystem.

version: '2'

services:

  coreference:
    depends_on:
      - corenlp
    image: "lambdacube/pycobalt:v1.1.1"
    environment:
      - PYCOBALT_CORENLP=http://corenlp:9000
    expose:
      - "5128"
    ports:
      - "5128:5128"

  corenlp:
    image: "lambdacube/corenlp:3.7.0"
    expose:
      - "9000"

  elastic:
    image: elasticsearch:5.1.1
    container_name: elastic
    command: "-Ecluster.name=StarGraphV2Cluster -Ebootstrap.memory_lock=true -Ediscovery.zen.minimum_master_nodes=1"
    expose:
      - 9300
    volumes:
      - ./esdata:/usr/share/elasticsearch/data
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    mem_limit: 8g
    cap_add:
      - IPC_LOCK
    environment:
      - "ES_JAVA_OPTS=-Xms7g -Xmx7g"

  stargraph:
    image: lambdacube/stargraph:latest
    container_name: stargraphv2
    ports:
      - 8917:8917
    volumes:
      - ./logs:/usr/share/stargraph/logs
      - ./data:/usr/share/stargraph/data
    mem_limit: 8g
    environment:
      - "STARGRAPH_JAVA_OPTS=-Xms7g -Xmx7g"

.. now run the following command in your favorite terminal:

$ docker-compose up

This will download the docker image for Stargraph and also setup a local instance of Elastic Search Server from the officials repositories. On the first run this can take some minutes to finish.

After a while you should notice that Stargraph is up and listening on port 8917.

Load DBpedia-2016 data

Stargraph needs to build a set of indices to be able to answer your queries. Ensure that Stargraph is listening on port 8917 and issue the following command using cURL or any other HTTP client you like. At this point Stargraph will use internet connection to fetch the DBpedia dumps.

First test. List the pre-configure datasets for DBpedia.

$ curl -XGET http://localhost:8917/_kb
["dbpedia-2016/facts","dbpedia-2016/entities","dbpedia-2016/relations"] 

It's all good. Let's populate those indices.

$ curl -XPOST http://localhost:8917/_kb/dbpedia-2016/_load
{"ack": true}

Stargraph acknowledges your command and will start building the indices. Actually this can take few hours depending on your hardware.

Querying DBpedia

Use your favorite HTTP client to ask something to Stagraph: Who is the wife of Barack Obama?

$ curl -v -XGET "http://localhost:8917/_kb/dbpedia-2016/query?q=Who%20is%20the%20wife%20of%20Barack%20Obama?"

Note that the question is URL encoded, this is a requirement to use cURL properly.

And the output is a JSON response.

{
  "query": "Who is the wife of Barack Obama?",
  "sparqlQuery": "SELECT * WHERE {\n{<http://dbpedia.org/resource/Barack_Obama> <http://dbpedia.org/ontology/child> ?VAR_1} UNION \n{<http://dbpedia.org/resource/Barack_Obama> <http://dbpedia.org/property/spouse> ?VAR_1} UNION \n{<http://dbpedia.org/resource/Barack_Obama> <http://dbpedia.org/property/children> ?VAR_1}\n}",
  "interactionMode": "NLI",
  "answers": [
    {
      "id": "dbr:Michelle_Obama",
      "value": "Michelle Obama",
      "score": 1
    },
    {
      "id": "\"1992-10-03\"^^<http://www.w3.org/2001/XMLSchema#date>",
      "value": "1992-10-03",
      "score": 1
    }
  ],
  "mappings": {
    "Barack Obama": [
      {
        "id": "http://dbpedia.org/resource/Barack_Obama",
        "value": "Barack Obama",
        "score": 1
      }
    ],
    "wife": [
      {
        "id": "http://dbpedia.org/ontology/child",
        "value": "child",
        "score": 0.560512271511479
      },
      {
        "id": "http://dbpedia.org/property/spouse",
        "value": "spouse",
        "score": 0.5078599088550189
      },
      {
        "id": "http://dbpedia.org/property/children",
        "value": "children",
        "score": 0.5803166605881719
      }
    ]
  }
}

Contributors (alphabetical order)

  • Andre Freitas
  • Bernhard Bermeitinger
  • Leonardo Souza
  • Matthias Cetto
  • Siegfried Handschuh
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].