Breadcrumbs

Management of the IsInMultiple relation - The duplex apartment

The creation of a duplex, belonging to two floors, is a textbook example. It is handled by the NodeCreator with the use of the isInMultiple relation between two NodeDefinitions instead of the isln.

Implementation of the isInMultiple relation

It permits a Node to belong to two parent Nodes.

The most common example is that of the duplex apartment which covers two floors. We have therefore defined an isInMultiple relation between Apartment and Floor in the example below.

The Node Creator allows us to add a classic Apartment in the created level 1.

image2018-7-18 13:48:7.png      image2018-7-18 13:55:1.png

 

But the isInMultiple relation also allows us, when dragging and dropping from Duplex in Floor 2, to select the option "Make Node also in".

isInMultiple.png       image2018-7-18 13:51:39.png

 

The Duplex then belongs to the floors "Level 1" and "Level 2". When clicking on the Node, all instances of Duplex are highlighted with shadow.

image2018-7-18 13:59:40.png

Deleting a Node belonging to several parents

When a Node belonging to several parents is deleted, there are two possibilities:

  • Delete the Node from its parent

  • Delete the Node from all its parents

image2018-7-18 13:53:32.png

Difference in IsInMultiple management between the EntitySet and the DefinitionSet

The aspect contains an "Aspect Type" property that defines the nature of the Nodes contained in the aspect:

  • DefinitionSet: A Node represents all the entities in an abstract way (e.g. ACU, the Node does not represent any particular ACU).

  • EntitySet: A Node represents a single entity, often real (e.g.: Building A). There will be as many Nodes named Building A as there buildings A in a site.


In EntitySet mode

A Node can not belong to several parents that do not have a common parent.

In the example below the Node Duplex cannot belong to level 1 and level 2 of building A and at the same time to level 1 of building B.

isInMultiple entity set.png

Since 51.1.2.0 it is possible to disable this rule in EntitySet.
Go to the Advanced Config, there is an option called Allow Is In Multiple Without Common Ascendant.
Set it to true, it will remove the verification of common ascendant when dropping a node.

image-20250702-132408.png

In DefinitionSet mode

A Node can belong to several parents, even if these parents do not belong to the same tree.

In the example below, the Node Channel Probe belongs to Nodes in different graphs.

image2018-7-18 15:17:38.png