A Node.Js / Neo4J tool that translates words and relations into network graphs and shows you how it all connects.
www.infranodus.com - includes the Pro features, such as GPT-3 AI idea generation tool
Watch a Video Demo - a 3-minute introduction
InfraNodus is a non-commercial venture fiction project. Its main objective is to enhance perception and imagination, although it can also solve concrete problems and offer you an efficient way to retain, process, and make sense of information. It can:
The method is mainly based on the approach outlined in Paranyushkin (2011) Identifying the Pathways of Meaning Circulation Using Text Network Analysis.
A more precise description of InfraNodus' algorithm is presented in Paranyushkin (2019) InfraNodus — Generating Insight Using Text Network Analysis (published in the Proceedings for the http://bit.ly/infragitacm). If you use the tool, you can cite this paper.
A more easy-to-read article on the tool is published in Towards Data Science.
The basic ideas behind InfraNodus are:
InfraNodus is built on
If you just want to try out the tool, the best way to do that is to use the Cloud version of InfraNodus. We only charge €9 towards development and server costs, and it has more capabilities than the open-source version. The cloud version is also connected to multiple AI APIs, such as GPT-3 and BERT sentiment analysis, and can process bigger files faster.
Note, that due to the limited capacity we cannot provide support for installing the open-source version. However, you can post an Issue to this repository and maybe somebody from the community will be able to respond.
To run InfraNodus on the cloud, go to www.infranodus.com.
To use this software you should install Neo4J 3.3.9 on your local computer (up to 3.5 is supported). To install Neo4J on a Mac use homebrew (see Neo4J instructions here) or you can also set up a cloud Neo4J instance on AWS or their own cloud service. 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
.
Create statsabove.ejs
, statsbelow.ejs
and statsheader.ejs
files in the /views
folder.
Run the application with
node app.js
You can access the app from http://localhost:3000
To create an account on your local machine, visit http://localhost:3000/signup?invitation=secretcode - replace secretcode
with the value of secrets.invitation
in your config.json
.
When you sign up, please, consider creating an account on www.infranodus.com to support the development of this tool. Subscribers get fast-track support and help on the technical issues of the installation.
git clone
the projectcd infranodus
to switch into the git project directorycp config.json.sample config.json
and modidy the file as necessary - for example, add Evernote and/or Twitter credentials. Note: if you change the Neo4j database password here, you'll also need to change it in your local copy of /vagrant/setup-neo4j.sh
.vagrant up
in the project folder. This may take a while the first time, as it installs an Ubuntu VM and all dependencies.vagrant ssh
to logon to the Virtual Machinecd /vagrant
to get into the project directory on the Virtual machinenode app.js
to run the applicationip
setting under config.vm.network
in the vagrantfile
.secretcode
with the value of secrets.invitation
in your config.json
. In this case, please, consider becoming a patron by signing up on www.infranodus.com to support the development of this open source tool. Patrons get fast-track support and help on the technical issues of the installation.The general rationale for the data model used in InfraNodus is outlined in
The main properties of this model are
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.
InfraNodus can also be used on a mobile.
Together with Mattias Östmar (who did most of the work) we created a port of InfraNodus in Python, focusing on the measure of network diversity structure that it provides.
You can get it in DiscourseDiversity repo on GitLab. We're still working on it, but if you like Jupyter notebooks and network analysis, there's some good stuff to find in there!
InfraNodus could not be built without the
Also... :)
This open source, free software is available under the GNU Affero General Public License version 3 (AGPLv3) license. You can make modifications to this code and binaries based on it, but only on the condition that you provide access to those modifications under the same license (including remotely through a computer network). 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 Dmitry Paranyushkin of 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!
Copyright (C) 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 (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.
Some parts of this code may come under a different license if specified within.