Classification Systems

digraph model_graph { // Dotfile by Django-Extensions graph_models // Created: 2025-01-28 09:42 // Cli Options: --output ./source/logical-data-model/classification-systems.dot classification_systems --exclude-models ModelBase --rankdir BT --group-models --disable-sort-fields --theme=nmd fontname = "Helvetica" fontsize = 18 splines = true rankdir = "TB" newrank = true ranksep = 1 colorscheme = "greens9" size = 500 label = <<B>Logical Data Model</B>> labelloc = "t" splines = true rankdir = "BT" node [ colorscheme = "greens9" fontname = "Helvetica" fontsize = 8 shape = "plaintext" labelloc = "c" width = 2.5 color = 9 fillcolor = 3 ] edge [ fontname = "Helvetica" fontsize = 8 arrowhead = normal arrowtail = none headport = "_" tailport = "_" arrowhead = none; labeldistance = 1.5; labelangle = -45; ] // Labels subgraph cluster_classification_systems { label = "classification_systems"; fontsize = 12; color = 1; style = "filled"; colorscheme = "greens9"; labelloc="t"; classification_systems_models_ClassificationSystem [label=<<TABLE BGCOLOR="#FFFFFF" BORDER="1" BORDERCOLOR="#00441b" CELLBORDER="0" CELLSPACING="0" WIDTH="200"><TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#c7e9c0" WIDTH="100%"><FONT FACE="Helvetica" COLOR="#000" POINT-SIZE="10"><B>ClassificationSystem</B></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><I><B><FONT>id</FONT></B></I></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><I><B><FONT>UUIDField</FONT></B></I></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><I><FONT>created_at</FONT></I></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><I><FONT>DateTimeField</FONT></I></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><I><FONT>updated_at</FONT></I></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><I><FONT>DateTimeField</FONT></I></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>title</FONT></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>CharField</FONT></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><FONT>legacy_id</FONT></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><FONT>CharField</FONT></FONT></TD></TR></TABLE>>] classification_systems_models_Cuas [label=<<TABLE BGCOLOR="#FFFFFF" BORDER="1" BORDERCOLOR="#00441b" CELLBORDER="0" CELLSPACING="0" WIDTH="200"><TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#c7e9c0" WIDTH="100%"><FONT FACE="Helvetica" COLOR="#000" POINT-SIZE="10"><B>Cuas</B></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><I><B><FONT>id</FONT></B></I></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><I><B><FONT>UUIDField</FONT></B></I></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><I><FONT>created_at</FONT></I></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><I><FONT>DateTimeField</FONT></I></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><I><FONT>updated_at</FONT></I></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><I><FONT>DateTimeField</FONT></I></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>title</FONT></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>CharField</FONT></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>description</FONT></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>CharField</FONT></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>remarks</FONT></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>CharField</FONT></FONT></TD></TR></TABLE>>] classification_systems_models_Element [label=<<TABLE BGCOLOR="#FFFFFF" BORDER="1" BORDERCOLOR="#00441b" CELLBORDER="0" CELLSPACING="0" WIDTH="200"><TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#c7e9c0" WIDTH="100%"><FONT FACE="Helvetica" COLOR="#000" POINT-SIZE="10"><B>Element</B></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><I><B><FONT>id</FONT></B></I></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><I><B><FONT>UUIDField</FONT></B></I></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><I><FONT>created_at</FONT></I></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><I><FONT>DateTimeField</FONT></I></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><I><FONT>updated_at</FONT></I></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><I><FONT>DateTimeField</FONT></I></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>title</FONT></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>CharField</FONT></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>code</FONT></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>CharField</FONT></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><B><FONT>classification_system</FONT></B></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><B><FONT>ForeignKey (id)</FONT></B></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><FONT>description</FONT></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><FONT>TextField</FONT></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>function</FONT></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>CharField</FONT></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><B><FONT>functional_unit</FONT></B></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><B><FONT>ForeignKey (id)</FONT></B></FONT></TD></TR></TABLE>>] classification_systems_models_Component [label=<<TABLE BGCOLOR="#FFFFFF" BORDER="1" BORDERCOLOR="#00441b" CELLBORDER="0" CELLSPACING="0" WIDTH="200"><TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#c7e9c0" WIDTH="100%"><FONT FACE="Helvetica" COLOR="#000" POINT-SIZE="10"><B>Component</B></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><I><B><FONT>id</FONT></B></I></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><I><B><FONT>UUIDField</FONT></B></I></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><I><FONT>created_at</FONT></I></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><I><FONT>DateTimeField</FONT></I></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><I><FONT>updated_at</FONT></I></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><I><FONT>DateTimeField</FONT></I></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>title</FONT></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>CharField</FONT></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>code</FONT></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>CharField</FONT></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><B><FONT>element</FONT></B></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><B><FONT>ForeignKey (id)</FONT></B></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><B><FONT>cuas</FONT></B></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><B><FONT>ForeignKey (id)</FONT></B></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>is_required</FONT></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>BooleanField</FONT></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><B><FONT>functional_unit</FONT></B></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><B><FONT>ForeignKey (id)</FONT></B></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><FONT>description</FONT></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><FONT>TextField</FONT></FONT></TD></TR></TABLE>>] classification_systems_models_FieldOfApplication [label=<<TABLE BGCOLOR="#FFFFFF" BORDER="1" BORDERCOLOR="#00441b" CELLBORDER="0" CELLSPACING="0" WIDTH="200"><TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#c7e9c0" WIDTH="100%"><FONT FACE="Helvetica" COLOR="#000" POINT-SIZE="10"><B>FieldOfApplication</B></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><I><B><FONT>id</FONT></B></I></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><I><B><FONT>UUIDField</FONT></B></I></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><I><FONT>created_at</FONT></I></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><I><FONT>DateTimeField</FONT></I></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><I><FONT>updated_at</FONT></I></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><I><FONT>DateTimeField</FONT></I></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>title</FONT></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT FACE="Helvetica"><FONT>CharField</FONT></FONT></TD></TR><TR><TD ALIGN="LEFT" BORDER="0" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><FONT>slug</FONT></FONT></TD><TD ALIGN="LEFT" WIDTH="100" CELLPADDING="2"><FONT COLOR="#7B7B7B" FACE="Helvetica"><FONT>AutoSlugField</FONT></FONT></TD></TR></TABLE>>] } // Relations classification_systems_models_Element -> classification_systems_models_ClassificationSystem [label=" classification_system (elements)"] [arrowhead=none, arrowtail=none, taillabel="0..n", headlabel="1" dir=both]; measurement_systems_models_Unit [label=< <TABLE BGCOLOR="#fdd0a2" BORDER="0" BORDERCOLOR="#7f2704" CELLBORDER="0" CELLSPACING="0"> <TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="#fdd0a2"> <FONT FACE="Helvetica" POINT-SIZE="12" COLOR="#000">Unit</FONT> </TD></TR> </TABLE> >] classification_systems_models_Element -> measurement_systems_models_Unit [label=" functional_unit (elements)"] [arrowhead=none, arrowtail=none, taillabel="0..n", headlabel="1" dir=both]; classification_systems_models_Component -> classification_systems_models_Element [label=" element (components)"] [arrowhead=none, arrowtail=none, taillabel="0..n", headlabel="1" dir=both]; classification_systems_models_Component -> classification_systems_models_Cuas [label=" cuas (component)"] [arrowhead=none, arrowtail=none, taillabel="0..n", headlabel="1" dir=both]; measurement_systems_models_Unit [label=< <TABLE BGCOLOR="#fdd0a2" BORDER="0" BORDERCOLOR="#7f2704" CELLBORDER="0" CELLSPACING="0"> <TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="#fdd0a2"> <FONT FACE="Helvetica" POINT-SIZE="12" COLOR="#000">Unit</FONT> </TD></TR> </TABLE> >] classification_systems_models_Component -> measurement_systems_models_Unit [label=" functional_unit (component)"] [arrowhead=none, arrowtail=none, taillabel="0..n", headlabel="1" dir=both]; classification_systems_models_FieldOfApplication -> classification_systems_models_ClassificationSystem [label=" classification_systems (fields_of_application)"] [arrowhead="0..n" arrowtail="0..n", dir=both]; }

Fig. 9 Schematic overview of logical data model for Classification Systems

class classification_systems.models.ClassificationSystem(*args, **kwargs)

Please refer to the conceptual model on Classification System.

Parameters

Reverse relationships:

Parameters
  • legacyclassificationsystem (Reverse OneToOneField from LegacyClassificationSystem) – The legacy classification system of this Classification system (related name of classificationsystem_ptr)

  • elements (Reverse ForeignKey from Element) – All elements of this Classification system (related name of classification_system)

  • fields_of_application (Reverse ManyToManyField from FieldOfApplication) – All fields of application of this Classification system (related name of classification_systems)

class classification_systems.models.Component(*args, **kwargs)

Please refer to the conceptual model on Component.

Parameters

Relationship fields:

Parameters

Reverse relationships:

Parameters
  • legacymeelifterprofile (Reverse ForeignKey from LegacyMeelifterProfile) – All Legacy Meelifter Profiles of this component (related name of component)

  • legacycomponent (Reverse OneToOneField from LegacyComponent) – The legacy component of this component (related name of component_ptr)

  • classifications (Reverse ManyToManyField from Classification) – All classifications of this component (related name of components)

  • classificationcomponent (Reverse ForeignKey from ClassificationComponent) – All Classification component of this component (related name of component)

class classification_systems.models.Cuas(*args, **kwargs)

Components can be categorised using the CUAS. CUAS stands for:

  • C: Construction (Constructie)

  • U: Equipment (Uitrusting)

  • A: Finish (Afwerking)

  • S: Painting (Schilderwerken)

Parameters

Reverse relationships:

Parameters
  • legacycuas (Reverse OneToOneField from LegacyCuas) – The legacy cuas of this CUAS (related name of cuas_ptr)

  • component (Reverse ForeignKey from Component) – All components of this CUAS (related name of cuas)

class classification_systems.models.Element(*args, **kwargs)

Please refer to the conceptual model on Element.

Parameters

Relationship fields:

Parameters

Reverse relationships:

Parameters
  • legacyelement (Reverse OneToOneField from LegacyElement) – The legacy element of this element (related name of element_ptr)

  • components (Reverse ForeignKey from Component) – All components of this element (related name of element)

get_classification_system_flags

In the legacy API there are flags for different classification systems for every element, indicating if the element belongs to that classification system or not. This function returns a dictionary for this Element object with the flags needed for the legacy API.

class classification_systems.models.FieldOfApplication(*args, **kwargs)

Please refer to the conceptual model on Field of application.

Parameters

Relationship fields:

Parameters

classification_systems (ManyToManyField to ClassificationSystem) – Classification systems (related name: fields_of_application)

Reverse relationships:

Parameters
  • legacyfieldofapplication (Reverse OneToOneField from LegacyFieldOfApplication) – The legacy field of application of this field of application (related name of fieldofapplication_ptr)

  • constructionproduct (Reverse ForeignKey from ConstructionProduct) – All Construction products of this field of application (related name of field_of_application)