Welcome, Guest! Log In | Create Account

Relations

A relation is best defined as a 3-tuple: (RelationRolon, SubjectRolon, ObjectRolon), where

  • RelationRolon is a Rolon which defines a type of relationship,
  • SubjectRolon is the Rolon to which the relation is added and
  • ObjectRolon is the Rolon to which the subject is connected.

When adding a relation,

  • The working context references the Subject Rolon,
  • The alternate context references the Object Rolon and
  • The RelationRolon is selected from a list of writable relations within the context of the Subject Rolon.

When removing a relation,

  • The working context references the Subject Rolon,
  • The alternate context references the Object Rolon and
  • The RelationRolon is selected from a list of relations connecting the subject and object.

Adding a relation creates up to five (5) links:

  1. The RelationRolon must have a link to the SubjectRolon,
  2. Under the Relations element in the SubjectRolon there must be a link to the RelationRolon,
  3. Under the link to the RelationRolon in the SubjectRolon a link is added to the ObjectRolon,
  4. Under the InverseRelations element in the ObjectRolon there must be a link to the RelationRolon and
  5. Under the link to the RelationRolon in the ObjectRolon a link is added to the SubjectRolon.

Note that the sixth possible link, from the RelationRolon to the ObjectRolon, is NOT implemented.

Relation Rolons always reside under a Relations Rolon and can be defined for any Realm.

The scope of a Relation is determined by the current context but is only used when adding a relation and when doing a relation search.

Relation Rolons are also qualifiers, however they can only be used as a qualifier if they have a Qualifiers parent Rolon.