KOSH

Relationship

Translate
A relationship exists when one entity holds a reference to one or more other entities for a named purpose. Relationships are used to define a container in which entities can exist, with the container having a particular reason to bring the entities together. This could be for an activity, an enquiry, for storage or for any other number of reasons and can be created by any object. For instance, the cybersea itself will be a primary producer of relationships. What the relationship provides is a namespace/naming context.

Relationships can be permanent or transitory. For instance, an active relationship may exist that defines all active entities. Although, over time, many entities may be created, deleted, woken and put to sleep, the relationship will maintain itself.

An example of a transitory relationship would be when a user instructs an avatar entity to obtain a jpeg entity and starts to draw on it. Tools, textures and palettes could be pulled into the relationship in order to create the final product. Once it is finished and the user puts the JPEG away, the relationship ceases to exist. This type of "activity" relationship will be one of the most important transitory relationships.

An entity can be involved in none, one or many relationships. This is done through each entity having many references, in the same way that there may be one human but s/he can give away many business cards and be involved in many relationships. An entity can specify the nature of the relationship. For instance, it can be in many read only relationships but only one write relationship

A relationship can present itself in many ways, as a list, a web, a set, a matrix. The relationship implementation is distinct from its presentation.

Relationships help to bring structure to the structureless cybersea.