« Back to CIDOC-CRM Project

Follow Up "Multiple Inheritance": Relation List for Selection

Combination View Flat View Tree View
Threads [ Previous | Next ]
Follow Up "Multiple Inheritance": Relation List for Selection
community class relation documentation
3/27/14 11:15 AM
This question was raised after analysing the FAQ entry Multiple Inheritance and proceeding with solution 2.

How to define my own relation list that appears in the window for selecting the relation type?

RE: Relation List for Selection
7/26/13 10:41 AM as a reply to Anonymous.
This is an important question, as you now design how to implement your semantic into the library. We proposed in solution 2, to define the semantics of allowed relations between two objects as pointers, so called INTERREF. For more information on INTERREF please refer to the latest “Method Engineering tutorial” and have a look in the “Modelling Language” slide set.

INTERREFs are defines as attributes and are inherited to sub-classes. So you want to define your INTERREFs as attributes of the classes and be careful to correctly implement the INTERREFs considering inheritances. Multiple inheritances need to be realised by a duplicated pointers in abstract classes, as we did with _E_.

The current sample implementation checks after each relation, if more than one INTERREF can be drawn from and to the object. If more than one INTERREF can be drawn, the script opens the mentioned selection window. Hence, to adapt the window to your needs, simply add the INTERREFs you require, and they will appear in the window.

For demonstration purpose, we implemented some INTERREFs in the “E” class. Feel free to add a new INTERREF in class “E” and point to several objects. You will see that they will appear in the selection window, whenever more than one pointer is semantically allowed between two objects.

A sample implementation can be downloaded in Solution Sample 2b V2: DOWNLOAD