A Project of Gnowledge Lab of HBCSE, TIFR
GNOWSYS is a specification for a generic distributed graph based data/memory/knowledge management. Typically computer memory is managed as a tree, or as nested arrays. Our attempt in this project is to represent all forms of declarative and procedural knowledge as a network, and then develop network processing methods to create and publish knowledge as a network.
Just as the language LISP provides list oriented computing framework, we try to model the knowledge as nodes in a network. The interpretation (meaning) of a node depends on the links the node has with other nodes, and the interpretation of the other neighbouring nodes in turn depends on their network and so on. The nodes are organized and processed according to a complex data structure called the neighborhood, akin to a frame.
The network is constructed by interlinking all things to those whose interpretation is implicitly available to the computing system. Those nodes whose interpretation is known to the computing system may be called as primitive nodes since they are made available as the initial condition of the evolving semantic system. They may be also called as the factory nodes. Such nodes become the meaning mediators in the semantic system.
These primitives can be further devided into logical types and data types. The most commonly used semantic relations like "type of" and "member of" are the logical types, while the character set, numbers and other models of structured symbol sets with known interpretation are the data types. Thus the nodes in a network will be constructed with the known logical and data types.
New nodes obtain their meaning due to their relations with the primitives. That is by linking unknown symbols with known symbols GNOWSYS provides a mechanism to define new meaning from the already available meaning. The variety of possible meaning space depends entirely on the chosen primitive set of nodes.
The network construction uses the following principles:
Based on the type of attributes and relations, we can distinguish some widely repeated kind of patterns as node types for convenience. These node types can be used for managing the data of computing applications. New nodetypes can be defined as and when required, though minimalism is encouraged for ensuring generality of processing engines and maintaining parsimony. Currently GNOWSYS has the following node types:
GNOWSYS is an acronym for Gnowledge Networking and Organizing SYStem. The 'G' in GNOWSYS is pronounced hard just as the 'G' in GNU.
The specification is implemented currently in Python. The current implementation used Django framework.
Older implementations were done as a product of ZOPE (Zee Object Publishing Environment), a free web application framework. These are archived, and no further development from the main team is expected.
The currently available version (bleeding-edge) of GNOWSYS is availableas gstudio (short for gnowsys-studio) be obtained from the git repository. No stable version is released as yet. Docker composer files are available on gitrepo.
If you want to see live implementations, please visit:
Consider using GNOWSYS if you want a distributed database, your data model is evolving (not yet frozen), you are a semantic web engineer and wants to develop an ontology, or publish several ontologies in one networked memory, you want a distributed triple store with frame and graph based views, if you are doing structured content management application, etc.
You may use GNOWSYS:
GNOWSYS is free software; you can redistribute it and/or modify it under the terms of the Affero GNU General Public License as published by the Free Software Foundation; version 3 of the License, or (at your option) any later version.
GNOWSYS is conceived and authored by Nagarjuna G. Most of the code to GNOWSYS was a contribution by several staff members and students who worked under his guidance at Homi Bhabha Centre for Science Education, TIFR, Mumbai. Shashank Ashtikar and Harshad Bahere were the initial contributors to the code and later on by Prasanta Baruah, Debarshi Ray and Rakesh Pandit. Bipin Apandkar, Rajiv Nair, Alpesh Gajbe, Dinesh Joshi, Vihan Pandey, Saurabh Shelar, Krishnakant Mane, Shaswat Chakravorty, Divya, Jay Mehta, Kabir, Johnson, Anuja, Supriya, and Ganesh Gajre, Anuja, Supriya, Dhiru, Krishna, Avadoot, Johnson, Arun, Kedar, Rachana, Sunny, Kabir and Amit.
The current active contributors include Siddhu, Mahesh, Surendra and Amit and some student interns of the gnowledge lab.
GNOWSYS development is currently supported by Homi Bhabha Centre for Science Education (HBCSE), TIFR, and is mostly executed by undergraduate students as a part of their projects. Please remember that GNOWSYS is a GNU project and is dedicated to the free software community. If you like to be a volunteer, you can also contribute to its development. This project is managed from savannah site. You can place a request to be a developer from there. For information about contributing to other GNU Projects, please read How to help GNU.
GNOWSYS is an official GNU project since December 2004. Its development is currently supported by the gnowledge lab of HBCSE, TIFR.