1    Adding parameters to Hydrostatics

Parameter name

Dimension

Determined by

Reference

In Class

Cb

[-] (none!)

VR: User only

Block coefficient

Dimensions

Displacement

[t]

USR: User or System/equation

Displacement of vessel at design draft

Dimensions

Rho

[t/m^3]

VR: User only

Density of water

General

T_design

[m]

VR: User only

Design draft of ship

Dimensions

Volume

[m^3]

USR: User or System/equation

Hull volume at design draft

Dimensions

 

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.

2    Creating a drop down box

Because their 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.

Density of water. Select water type;
1.025<EQ>Saltwater
1.000<EQ>Freshwater

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.

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.

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.

Cells of parameters with relations to other entities are coloured 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 normally, a relation will be visible in the Knowledge Browser. Entity relations however, will only show themselves by the yellow colour of their parameters and the relation can only be shown by pressing Ctrl+M.

 

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

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.

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 Figure 67. 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

TODO: dit vind ik een erg onduidelijk stukje (ASR)

Before we continue with the next Entity, we want to give more insight in the creation of relations in taxonomy type of knowledge bases. In the previous paragraph you have noticed that we created Entity-relations, paragraph 2.3.3.2 above and “normal” relations, paragraph 2.3.3.3 above. But why do we have two different methods?

You have three ways of adding and using relations:

  1. Adding an Entity relation to the Entity in a Taxonomy;
  2. Add a relation to the Knowledge Browser and connect it to a parameter in an Entity;
  3. Create a relation in the Knowledge Browser and let the modeler determine which relations to use to determine a parameter in an Entity. This is only facilitated when all parameters in the Entity will be determined by the modeler.

Three important remarks can be made about the use of the different relation types:

  1. The general approach is to create Entity relations when you are developing a Taxonomy type of knowledge base. 
    Only used normal relations when 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.
  2. The main reason to use normal relations and connecting them to parameters in an Entity is when you know that the relation will be used on multiple positions in the Taxonomy. In that case you rather create one relation and connect it to the parameters in the relevant Entities.
  3. Use the ENTITY# function only in combination with Entity relations. You can use this function in normal relations but this is not advisable. The reason for use only in Entity relations is that, in case of an Entity relations, the EntityID in the ENTITY# function will be renumbered when modifications are made to the Taxonomy that cause Entities to be renumbered. This renumbering in the relation will not take place for normal relations.

Back to content | << Previous | Next >>