Neuron based data structure – An implementation

Exactly one year ago, I came out with an idea of a neuron based data structure. In the first article about this idea, I tried to give an overview about, how this data model should work. In the article below, I introduce you to the implementation of this model. It’s still in development, but all functions which were needed are already implemented.



What is NBDS?

The neuron based data structure (called NBDS) follows the idea, to keep an information as an atomic part. The model contains three parts. The first part is the Neuron, which acts like a container for data. The second part is the Axon. This axon connects two neurons together and it can still contain information (data about the connection or relation). The last part is the Space. In a Space you put neurons and axons together and run some operations on it. You can imagine the space as a component, that brings the order into the set of neurons and axons.

To keep it short and simple: NBDS represents a directed graph. The direction of the axons (edges) can be one-directional or bi-directional. It has something in common with the network data model, but NBDS has more flexibility. It has also something in common with the object-oriented data model, but it can have no, one or more connections to other objects (and the connection itself can also contain information)


Biological motivation

Neurons are nerve cells of the brain. This nerve cells are connected to each other with dendrites and axons. When an electrical impulse comes into (from another neuron over dendrites and axons) the neuron have an electrical potential. When this potential reaches a special threshold value, the neuron fires also an electrical impulse out to other neurons. Thats is, how your brain works. In NBDS, the neuron haven’t a threshold value, but it has a counter, that counts, how often the neuron was reached during the operations on the Space. With this counter, you can see, how often your information was affected.


A neuron reflects a data container. It contains the ID, name, value, description, generic attributes (key,value) and a counter (how often was the neuron affected in operations on the space). It can have connections to other neurons about axons.



Biological motivation

The axon (and also a dendrite) connects the neurons with each other. It forwards the electrical signal from the source neuron (or the retina) to the destination neuron (or more than one).


In this data model, the axon does some more than just forward an impulse or signal. It has also an ID, name, value, description, generic attributes (key,value), a used counter, the bi-directional option and the id’s of the involved neurons.



A space, in this case, is a container that holds neurons, axons and the connections between them together. In the NBDS you can perform some operations on the Space to get out the information from the neurons and axons. Furthermore it contains some lists, to perform operations on the Space faster.


The universe array is a structure, that represents the connections between neurons. It was designed as a fast lookup table for operations on the space. Nearly all methods, that need to found out a fast connection between to neurons, using this array for a lookup.



ln the real world, mnemonics are things that you know from the past. In this data model its similar. The mnemonic array hold route operations (from the past) from neuronX to neuronY. It contains all successful routes, that the route() method detects.



The NBDS allows to serialize and unserialize a set of data. It offers two methods. The first method is to save the data as a XML file. This method is really simple and easy to import to other systems. But the XML serialization has one problem. It is not able to store objects. This affects just nested objects, that you hold in an axon or neuron.

The second option for serialization is to save it with the serialize() function of PHP. This method fix the problem wit nested objects and can store the data binary or plain in an JSON like format.


The route operation finds a connection between two neurons (over axon(s)). (assuming, that this connection already exists)


With this operation you can request several parts of the data structure. You can, for instance, search for all NBDS_NEURON objects which have a name NBDS_LIKE ‘special_neuro%’.


The selecti operation realizes more than one select() operations in one step. You can define $operation_arrays to declare more than one criteria for the request.


Connection() returns a component of a connection. It uses the route() operation internally to do a lookup (from_neuron – to_neuron). After that, it returns NBDS_NEURON or NBDS_AXON (or both -> NBDS_ALL) as objects.


This operation calculates the neighbors of a neuron. Optionally, you can set an argument ($steps), which returns the neighbors with a given distance (so called degree).


Translate performs a lookup on the _axons or _neurons array, to find out, which neuron or axon has the id, that was given as an argument. It returns the objects, that belongs to the given ID’s.


A simple get() request returns some parts of the space, for instance NBDS_NEURON, NBDS_AXON, NBDS_UNIVERSE or NBDS_MNEMONICS.

Use cases

Below, I collected some ideas for an application of the NBDS:

Data model

The concept of NBDS deals with the representation of data. A bunch of data has a connection to another bunch of data. The bunch of data is very flexible an generic. Furthermore, the connection between the bunches of data has also data, that describes it.


An ontology is a relation between words (synonym, etc.). With the NBDS you can represent this ontology and you can request synonyms of a word. You can also classify the axons as a special relation between words.

Intelligent graphs

You can use NBDS as an intelligent graph. A graph, which you can use for routing operations. After that, you can find the fastest path and the information behind it.

Data relationships

Organizing data (atomic data) with relations is one of the main advantages of the NBDS. You are able to organize nested informations with the neurons. For instance, you can put a Space.class.php object into a neuron. This means, that you can use recursive structures to store your data.

Semantic networks

You can use it also as a semantic network. With adding neurons with names and relationships to each other, you can represent a semantic network of words.

System requirements

The system requirements are just PHP 5.x or higher.


goto: download (version 1.0.0)

goto: project page

71 thoughts on “Neuron based data structure – An implementation

  1. The bids are complimentary as long as we use them for the job,
    which is an excellent perk for us. At Brown Footwear Firm, Inc they are
    one of our primary center companies that we collaborate with and generally show the very best cost when we bid them against the other companies.

  2. That monitoring could well be true – however important ranking factor it does not instantly make them,
    which’s just what a lot of individuals on the edges of seo believe when they review these researches.

  3. Through partnerships with Trane, Bahco, and also Snap-on Incorporated, advanced devices and tools have been added to new Facilities Upkeep laboratory, Refrigeration lab, Industrial Home heating laboratory, and also Electronic Energy lab.

  4. Title tags have actually been a consider SEO for over a decade,
    as well as in 2015, they are still a really appropriate component of any type of project.

  5. The 15 step guideline for the ideal 2015 electronic advertising and marketing strategy will offer you with an electronic advertising and marketing
    blueprint for the forthcoming year.

  6. Using support text: One very reliable Search Engine Optimization idea
    that will help your backlinks initiatives is to make use
    of anchor text.

  7. Social network suits SEO so well because it assists to disperse your message
    and also brand name, which means individuals start searching for
    on Google.

  8. HD Supply Facilities Maintenance received the BBB International Lantern Awards today at the
    very first yearly BBB Self-Regulation Seminar luncheon held at
    the Ronald Reagan Building and also International Trade Center in Washington, D.C.

  9. The IAAF said Russia could only be reinstated if it fulfilled strict criteria outlined last year, including compliance with all WADA and IAAF anti-doping rules and requirements

  10. You could be lured to make use of an insurance claims firm to
    smooth your case but, as with third parties providing to assist with PPI settlement, these firms
    bill a charge for their companies and are entirely unneeded for a lot of travelers in asserting compensation.

  11. We lastly reached Heathrow over 20 hours behind set up
    with our trip from Miami to Heathrow (rearranged by means of British Airways) likewise delayed by 23

Leave a Reply

Your email address will not be published. Required fields are marked *