Page tree
Skip to end of metadata
Go to start of metadata

1    Adding parameters to Hydrostatics

  • Create a new class alongside Dimensions and call it General.
  • Create the following parameters (all are values) within the Knowledge Browser:

Parameter name


Determined by


In Class


[-] (none!)

VR: User only

Block coefficient




USR: User or System/equation

Displacement of vessel at design draft




VR: User only

Density of water




VR: User only

Design draft of ship




USR: User or System/equation

Hull volume at design draft



  • Next drag and drop the parameters: Lpp, Boa, Cb, Displacement, Rho, T_design and Volume from the Knowledge Browser into the entity Hydrostatics.

Incidentally, the parameters Displacement and Volume still have their red crosses because they are not completely defined. You will add relations for them in a minute.

  • To show 3 decimal places for parameter Rho, change the number of decimals places into 3 in the Properties window of parameter Rho.

2    Creating a drop down box

Because there will only be two possible values for parameter Rho (1.025 or 1.000 [t/m3]), it is useful to create a dropdown box. This can be done by providing a special reference.

  • Select the Parameter tab of the Properties window for Rho.
  • In the Reference field type the following:

Density of water. Select water type;

3    Creating entity relations

In the Hydrostatics entity, calculations need to be performed based upon information from Main Dimensions and some relation. In order to achieve this, you have to create so called entity-relations. The first entity-relation to create will be for parameter Boa in entity Hydrostatics: the value of Boa in entity Hydrostatics should be equal to the value of Boa in entity Main Dimensions.

  • Right-click on the parameter Boa in entity Hydrostatics in the Workbase and select Taxonomy > Create Relation or press Ctrl+T.

The Expression Editor opens:

Providing a relation in the (upper part of) the Expression Editor will add a relation to the system, which is only valid in entity Hydrostatics.

Because the most common purpose of an entity-relation is to refer to other entities, the Expression Editor for entity relations is started up with the ENTITY#() function already there.

By providing the unique and correct QEntityId within the ENTITY#() function, you can refer to information in other entities. You will want to refer to information in Main Dimensions. So, you need the unique QEntityId of this entity.

There are two ways to get this ID:

  1. Look-up the ID by browsing to the entity in the taxonomy and read the QEntityId: The QEntityId of Entity “Main Dimensions” is 12. Figure 53 shows that QEntityId = 12 for Entity “Main Dimensions”.

  2. Inside the Expression Editor, press Right-Arrow to initiate a “walk through” menu to navigate through all entity levels in your taxonomy (showing QEntityNames). Repeatedly scroll and press Right-Arrow until you have reached the entity you want, press Enter, and its ID will be filled in in the expression.


The value of QEntityID of Main Dimensions as presented in this tutorial could differ from yours, because it depends on the sequence in which you have created entities.


After selecting/entering the correct ID, placing the closing bracket and placing the dot, Quaestor will show all available parameters in the selected entity. You can scroll to the correct parameter and press Enter to select the parameter.

  • Enter the following relation and click Save.

Boa = ENTITY#(12).Boa

This means Boa is equal to (will copy the value of) the Boa of the entity with QEntityID = 12.

Hereafter, the cell colour of Boa in Hydrostatics has turned to yellow.

To reset a parameter with a relation back to a 'normal' one with an input value, Right-Click on it the Workbase and select Taxonomy > Value = Input or press Ctrl+T again.

To edit an entity relation, Right-Click on the pertaining parameter in the Workbase and select Taxonomy > Edit Relation or press Ctrl+M.

An entity relation is something special. If you have experience with creating Quaestor knowledge bases (see the Tutorials on Quaestor basics), you will know that a relation will be visible in the Knowledge Browser. Entity relations have the 'dimension' Taxonomy instead of None in the Knowledge browser.


  • Create an entity relation for Lpp in entity Hydrostatics in the same way. This parameter must be equal to the value of Lpp in Entity Main Dimensions:

Lpp = ENTITY#(12).Lpp

Finally, relations must be provided to calculate Displacement and Volume in entity Hydrostatics. The following calculations should be made:

Displacement = Cb * Lpp * Boa * T_design * Rho

Volume = Cb * Lpp * Boa * T_design

  • Create an entity relation for Volume in the same way. Delete ENTITY#()in the editor and enter the expression above.

There is another way to create an entity relation. One that is very convenient when you know that a particular relation might be used in several entities. You will use this next for parameter Displacement.

4    Connecting existing relations to entities

By adding the relation to the Knowledge Browser, you can connect it several times to various parameters in various entities, saving a lot of time.

Start with creating a relation in the Knowledge Browser.

  • Select parameter Displacement in the right window of the Knowledge Browser, then Right-Click, and select option New relation... (or press CTRL + N). The Expression Editor opens and you can type the expression for Displacement that is given above.

In this way the relation is added to the knowledge base. However, realise that it is not yet connected to the parameter in the entity of your taxonomy!

To connect the relation, in the Workbase, select the parameter Displacement in entity Hydrostatics. Then, select the right mouse button menu Taxonomy>Choose/create relation or press Ctrl+T. A window will open showing the available relations for the selected parameter in the Knowledge Browser.

You can browse through the available relations and select the relation you want to use to compute the parameter, see below. In this case select the relation you have just created. The same method can be used to include any available relation for any selected parameter.

Note that it is still possible to create a new taxonomy relation by selecting the first option in the popup window.

5    Strategy for adding relations in taxonomy type knowledge bases

Perhaps you would like to have a bit more insight in the creation of relations in taxonomy type knowledge bases. Above you encountered two different methods of adding relations to entities. Why are there two different methods?

  1. The general approach is to create entity relations in the taxonomy.
  2. The main reason to use normal (global) relations and connecting them to parameters in an entity is when you know that the relation will be used at more than one spot in the taxonomy. In that case you rather create one relation and connect it to the parameters in the relevant entities.
  3. Also use normal relations if you want to use the modeling/reasoning functionality of Quaestor. You might want to use the modeler when you want to execute complex models which make use of reasoning an advantage over a normal traditional fully hardcoded model (which a taxonomy is to some extent). This is the case when you want the structure (network of relations) of a model to be dependent on the choices made and input provided by the user. You then have a hybrid knowledge base (mix of taxonomy and classical).


Use the ENTITY# function only in combination with entity relations!

You can use this function in normal relations but this is not advisable. This is because the EntityID in the ENTITY# function will be renumbered when modifications are made to the taxonomy that cause entities to be renumbered. This renumbering will not take place for normal relations.


Back to content | << Previous | Next >>

  • No labels