Skip to content

Parts

Our first fundamental sort of relation is that of parthood (one thing being part of another). Only material things (real, actual stuff) can be part of something else that is also materially real. The top layer, filling, bottom layer and any decorations are all part of an actual cake that is composed of them. The state of you as you are reading this page is part of the state of you that existed before (and likely exists after) you read this page.

The root predicate for all parthood relations is part_of, where one material thing is part of another whole. All other part-based relations are specialisations of part_of.

Note

The term specialisation is used here to avoid using other terms like sub-type, sub-set or sub-class as they have their own roles in HQDM.

A commonly used parthood relation is temporal_part_of, where a state of something physical is a whole-part (i.e. all of it), of that physical thing, for a period of time. The Apollo-11 Lunar Lander Module called "Eagle" rested on the surface of the moon for just over 21hrs. During that time the state of that Lunar Lander Module was a part of its existence for a well-documented period of time. This is shown in the node-edge graphs below. Firstly, the temporal_part_of relation is shown between the two data objects:

graph LR
  a5a6ba71-b2bb-4ed5-b079-e7cab5dac94f(("patterns <br> a5a6ba71-b2bb-4ed5 <br> -b079-e7cab5dac94f"))--->|"data_EntityName"|Example_individual_that_is_Lunar_Module_Eagle_LM-5["Example_individual <br> _that_is_Lunar_Module_Eagle_LM-5"];
  a5a6ba71-b2bb-4ed5-b079-e7cab5dac94f(("patterns <br> a5a6ba71-b2bb-4ed5 <br> -b079-e7cab5dac94f"))--->|"type"|functional_system(["hqdm <br> functional_system"]);
  e7b2866d-7667-4e3c-b829-1a23ae21f1c1(("patterns <br> e7b2866d-7667-4e3c <br> -b829-1a23ae21f1c1"))--->|"<b> temporal_part_of"|a5a6ba71-b2bb-4ed5-b079-e7cab5dac94f(("patterns <br> a5a6ba71-b2bb-4ed5 <br> -b079-e7cab5dac94f"));
  e7b2866d-7667-4e3c-b829-1a23ae21f1c1(("patterns <br> e7b2866d-7667-4e3c <br> -b829-1a23ae21f1c1"))--->|"data_EntityName"|Example_state_of_Lunar_Lander_Module_Eagle_LM-5["Example_state_of <br> _Lunar_Lander_Module_Eagle_LM-5"];
  e7b2866d-7667-4e3c-b829-1a23ae21f1c1(("patterns <br> e7b2866d-7667-4e3c <br> -b829-1a23ae21f1c1"))--->|"type"|state_of_functional_system(["hqdm <br> state_of_functiona <br> l_system"]);

The events bounding the state of the LM-5 lander are shown in the next diagram. The events are points in time (point_in_time) that have ISO-8601 DateTime stamps to record the instant in time. More detail on the handling of point_in_time records can be seen in the source TURTLE file. The use of the data_EntityName relation is a compromise discussed in the sign section.

graph LR
  e7b2866d-7667-4e3c-b829-1a23ae21f1c1(("patterns <br> e7b2866d-7667-4e3c <br> -b829-1a23ae21f1c1"))--->|"<b> beginning"|134d2714-dbee-45b2-9ff9-dbd57129f949(("patterns <br> 134d2714-dbee-45b2 <br> -9ff9-dbd57129f949"));
  e7b2866d-7667-4e3c-b829-1a23ae21f1c1(("patterns <br> e7b2866d-7667-4e3c <br> -b829-1a23ae21f1c1"))--->|"data_EntityName"|Example_state_of_Lunar_Lander_Module_Eagle_LM-5["Example_state_of <br> _Lunar_Lander_Module_Eagle_LM-5"];
  e7b2866d-7667-4e3c-b829-1a23ae21f1c1(("patterns <br> e7b2866d-7667-4e3c <br> -b829-1a23ae21f1c1"))--->|"<b> ending"|3a3962dd-59f5-4a60-b8c7-d57509b1314f(("patterns <br> 3a3962dd-59f5-4a60 <br> -b8c7-d57509b1314f"));
  e7b2866d-7667-4e3c-b829-1a23ae21f1c1(("patterns <br> e7b2866d-7667-4e3c <br> -b829-1a23ae21f1c1"))--->|"type"|state_of_functional_system(["hqdm <br> state_of_functiona <br> l_system"]);
  134d2714-dbee-45b2-9ff9-dbd57129f949(("patterns <br> 134d2714-dbee-45b2 <br> -9ff9-dbd57129f949"))--->|"data_EntityName"|1969-07-20T20:17:40["1969-07-20T20:17:40"];
  134d2714-dbee-45b2-9ff9-dbd57129f949(("patterns <br> 134d2714-dbee-45b2 <br> -9ff9-dbd57129f949"))--->|"type"|point_in_time(["hqdm <br> point_in_time"]);
  3a3962dd-59f5-4a60-b8c7-d57509b1314f(("patterns <br> 3a3962dd-59f5-4a60 <br> -b8c7-d57509b1314f"))--->|"data_EntityName"|1969-07-21T17:54:01["1969-07-21T17:54:01"];
  3a3962dd-59f5-4a60-b8c7-d57509b1314f(("patterns <br> 3a3962dd-59f5-4a60 <br> -b8c7-d57509b1314f"))--->|"type"|point_in_time(["hqdm <br> point_in_time"]);

Another common parthood relation is part_of_possible_world. All material things exist in at least one possible world. The node-edge graph belows shows the same Lunar Lander states from the example above existing in the same possible_world.

graph LR
  a5a6ba71-b2bb-4ed5-b079-e7cab5dac94f(("patterns <br> a5a6ba71-b2bb-4ed5 <br> -b079-e7cab5dac94f"))--->|"<b> part_of_possible_world"|bb4dcf61-3ea6-48fa-820e-4eb739ae6671(("patterns <br> bb4dcf61-3ea6-48fa <br> -820e-4eb739ae6671"));
  a5a6ba71-b2bb-4ed5-b079-e7cab5dac94f(("patterns <br> a5a6ba71-b2bb-4ed5 <br> -b079-e7cab5dac94f"))--->|"data_EntityName"|Example_individual_that_is_Lunar_Module_Eagle_LM-5["Example_individual <br> _that_is_Lunar_Module_Eagle_LM-5"];
  a5a6ba71-b2bb-4ed5-b079-e7cab5dac94f(("patterns <br> a5a6ba71-b2bb-4ed5 <br> -b079-e7cab5dac94f"))--->|"type"|functional_system(["hqdm <br> functional_system"]);
  e7b2866d-7667-4e3c-b829-1a23ae21f1c1(("patterns <br> e7b2866d-7667-4e3c <br> -b829-1a23ae21f1c1"))--->|"<b> part_of_possible_world"|bb4dcf61-3ea6-48fa-820e-4eb739ae6671(("patterns <br> bb4dcf61-3ea6-48fa <br> -820e-4eb739ae6671"));
  e7b2866d-7667-4e3c-b829-1a23ae21f1c1(("patterns <br> e7b2866d-7667-4e3c <br> -b829-1a23ae21f1c1"))--->|"<b> temporal_part_of"|a5a6ba71-b2bb-4ed5-b079-e7cab5dac94f(("patterns <br> a5a6ba71-b2bb-4ed5 <br> -b079-e7cab5dac94f"));
  e7b2866d-7667-4e3c-b829-1a23ae21f1c1(("patterns <br> e7b2866d-7667-4e3c <br> -b829-1a23ae21f1c1"))--->|"data_EntityName"|Example_state_of_Lunar_Lander_Module_Eagle_LM-5["Example_state_of <br> _Lunar_Lander_Module_Eagle_LM-5"];
  e7b2866d-7667-4e3c-b829-1a23ae21f1c1(("patterns <br> e7b2866d-7667-4e3c <br> -b829-1a23ae21f1c1"))--->|"type"|state_of_functional_system(["hqdm <br> state_of_functiona <br> l_system"]);
graph LR
  a5a6ba71-b2bb-4ed5-b079-e7cab5dac94f(("patterns <br> a5a6ba71-b2bb-4ed5 <br> -b079-e7cab5dac94f"))--->|"<b> part_of_possible_world"|bb4dcf61-3ea6-48fa-820e-4eb739ae6671(("patterns <br> bb4dcf61-3ea6-48fa <br> -820e-4eb739ae6671"));
  a5a6ba71-b2bb-4ed5-b079-e7cab5dac94f(("patterns <br> a5a6ba71-b2bb-4ed5 <br> -b079-e7cab5dac94f"))--->|"type"|functional_system(["hqdm <br> functional_system"]);
  e7b2866d-7667-4e3c-b829-1a23ae21f1c1(("patterns <br> e7b2866d-7667-4e3c <br> -b829-1a23ae21f1c1"))--->|"<b> part_of_possible_world"|bb4dcf61-3ea6-48fa-820e-4eb739ae6671(("patterns <br> bb4dcf61-3ea6-48fa <br> -820e-4eb739ae6671"));
  e7b2866d-7667-4e3c-b829-1a23ae21f1c1(("patterns <br> e7b2866d-7667-4e3c <br> -b829-1a23ae21f1c1"))--->|"<b> temporal_part_of"|a5a6ba71-b2bb-4ed5-b079-e7cab5dac94f(("patterns <br> a5a6ba71-b2bb-4ed5 <br> -b079-e7cab5dac94f"));
  e7b2866d-7667-4e3c-b829-1a23ae21f1c1(("patterns <br> e7b2866d-7667-4e3c <br> -b829-1a23ae21f1c1"))--->|"type"|state_of_functional_system(["hqdm <br> state_of_functiona <br> l_system"]);
  style a5a6ba71-b2bb-4ed5-b079-e7cab5dac94f stroke-width:6px;
  style e7b2866d-7667-4e3c-b829-1a23ae21f1c1 stroke-width:3px;