acs_rels is a powerful mechanism in [OpenACS]/]po[ to express a relationship between two objects. There seem to be no (more) detailed documentation about the group system on [OpenACS] (please contact us if you should be aware of any documentation to include), so this page tries to explain the basics.
The [OpenACS] relationship mechanism seems to be based on the Object Role Modelling modelling method. However, it also seems to bear similarites with roles in Description Logics even though the inference component is missing.
Even though conceptually somehow dirty, rels can be used as a convenient way to create N x M mapping table between objects. To create a relationship, just call the PL/SQL function acs_rel__new() with suitable parameters. In particular, please choose a valid "rel_type" from the acs_rel_types table.
If no existing rel_type should suit your needs, you can create interactively new rel_types using OpenACS maintenance tables at the URL http://<your_server>/admin/rel-types/.
Structure of the acs_rels database table:
Column | Type | Modifiers ---------------+------------------------+----------- rel_id | integer | not null rel_type | character varying(100) | not null object_id_one | integer | not null object_id_two | integer | not null
The following sub-types of acs_rel are used in ]po[. The arguments in parentis specify a constraint on the object types of the two legs of the relationship (object_id_one and object_id_two).
For more information on the data model please seee the [relationships data-model overview].