Giter Site home page Giter Site logo

darabi / infranodus Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sam-blake/infranodus

0.0 2.0 0.0 98.6 MB

A Node.Js / Neo4J tool that translates words and relations into network graphs and shows you how it all connects.

Home Page: http://infranodus.com

JavaScript 86.52% CSS 2.80% HTML 10.66% Dockerfile 0.02% Shell 0.01%

infranodus's Introduction

InfraNodus a text-to-network visualization system, based on Neo4J, Node.Js and Sigma.Js.

Keep track of all the connections using this simple tool that converts natural language into graph (English, Russian, French, German are supported, other languages — limited support).

Also use InfraNodus as an interface to your Neo4J database to quickly try out some basic graph constructs using an easy input procedure via natural language, voice-to-text and #hashtags

=================

=================

Works on mobile and desktop. Voice-to-text (EN, RU, FR, DE) is available.

Watch a Video Demo - a 2-minute introduction

Try it Online - request invitation code through Nodus Labs

=================

Introduction

The basic ideas behind InfraNodus are:

  • Graph DB model that can suit any purpose.
  • Works on desktop and mobile.
  • Make it easy to add nodes into a graph through a simple web interface.
  • Work with what people already know and use well: #hashtags and @mentions, not nodes and edges.
  • Use natural language to enter nodes in a graph (English and Russian morphology is supported)
  • Move away from binary edges (e.g. A < - > B) to hyperedges in one statement (e.g. A and B and C or D)
  • API and JSON export of all data;
  • Twitter, Evernote, Gmail (Notes) import (TODO: gexf, xml, csv upload)
  • Make it as lightweight, portable, and standalone as possible;
  • Make it as fast as possible;
  • Enable people to use ше collaboratively, both locally and over the internet (TODO);
  • Your suggestions? (open an issue)

=================

Technology

InfraNodus is built on

  • Sigma.Js for graph visualization;
  • Neo4J ver 3.x for graph database storage (TODO: add support for OrientDB and Titanium);
  • Node.Js
  • Express Node.Js library;
  • Node-Neo4J layer;
  • Textexture algorithm for text network visualization;
  • Help from the people on StackOverflow and Neo4J community;

=================

Installation Guide

To use this software you should install Neo4J 3.0 on your local computer. To install Neo4J on a Mac use homebrew (see Neo4J instructions here). For settings, check out How to Set Up Neo4J for InfraNodus. You may also find other wiki pages interesting, especially Neo4J installation guide – the section on setting up indexes and installing APOC plugin.

Git clone this project into a folder, then you will also need to have npm Node.Js package manager installed on your computer. After you install InfraNodus, run npm install in the main folder the project to install all the dependencies into node_modules folder.

Check out the config.json.sample file and edit it to add your own Evernote and Twitter API credentials. Then rename it to config.json.

=================

Data Model

The general rationale for the data model used in InfraNodus is outlined in

The main properties of this model are

  • There are 5 labels (types) for nodes: Concepts, Statements, Contexts, Users, and Narratives
  • Every expression of a user into the system is a Statement
  • Example: "#antibiotics can fight #bacteria which are #dangerous for #health" is the user's input. The system creates 4 :Concept nodes from the hashtags inside the :Statement, which is linked to the :Context (by default, "@private") and all those are attached to the :User.
  • Types of connections: :TO (between Concepts), :AT (Concepts to Context), :OF (Concepts to Statement), :IN (Statement to Context), :BY (to User)
  • Narrative is implemented through creating a :Narrative node, which is linked to from Statements and Concepts by :INTO type of connection (think of :Narrative as another :Context)
  • Narrative elements are linked to each other via :THRU type of connection.

This data model enables to create custom views for any kind of data and introduce the idea of narrative into holistic graph views.

This data model is derived from the Cognitive Graph DB Model draft created by Nodus Labs.

The current data model description utilized in InfraNodus app is available in https://github.com/noduslabs/graphdbmodel repository.

=================

Mobile Interface

InfraNodus can also be used on a mobile.

=================

MIT License

This open source, free software is available under MIT license. It is provided as is, with no guarantees and no liabilities. You can re-use it as long as you keep this notice inside the code

** You are very welcome to join the project! **

Created by Nodus Labs, conceptualized via Polysingularity, inspired from ThisIsLike.Com, and KnowNodes (now Rhizi) co-developed at Center for Interdisciplinary Research.

This project would not be possible without the help from StackOverflow community. Thank you so much!

Written by Dmitry Paranyushkin | Nodus Labs and hopefully you also! (http://www.noduslabs.com) | info AT noduslabs DOT com

In some parts the code from the book "Node.js in Action" is used (highly recommended, btw!) (c) 2014 Manning Publications Co. Any source code files provided as a supplement to the book are freely available to the public for download. Reuse of the code is permitted, in whole or in part, including the creation of derivative works, provided that you acknowledge that you are using it and identify the source: title, publisher and year.*

infranodus's People

Contributors

darabi avatar deemeetree avatar

Watchers

 avatar  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.