5.5 ネットワーク階層
一部のネットワーク・アプリケーションでは、異なる抽象化レベルでの表現が必要です。たとえば、2つの主なプロセスがリンクで接続された最も高い抽象化レベルのノードとして表され、それぞれの主なプロセスがノードおよびリンクで表現された1段階低いレベルの複数の下位プロセスを持つ場合があります。
ネットワーク階層を使用すると、各ノードに階層レベルを割り当てることによって、ネットワークを複数の抽象化レベルで表現できます。(リンクには階層レベルは割り当てられません。リンクは、同じ階層レベルまたは異なる階層レベルのノード間に設定できます。)階層内で最も低い(最も詳細な)レベルはレベル1で、これより高いレベルは順にレベル2、レベル3のように番号が付けられます。
ネットワーク階層で隣接するレベルのノードには、親子関係があります。上位レベルの各ノードは、下位レベルの1つ以上のノードに対する親ノードになります。下位レベルの各ノードは、上位レベルの1つのノードの子ノードになります。同じ親ノードを持つノードは、兄弟ノードになります。
リンクにも、親子関係がある場合があります。ただし、リンクには階層レベルが割り当てられないため、リンクの親子関係とネットワーク階層レベルには関連性がない場合もあります。同じ親リンクを持つリンクは、兄弟リンクになります。
図5-3に、2つのレベルが存在する単純な階層ネットワークを示します。
次に、図5-3について説明します。
-
上位レベル(レベル2)には、2つのノードが含まれます。各ノードは、下位レベルの複数のノードに対する親ノードです。上位レベルのノード間のリンクは、下位レベルのノード間の2つのリンクに対する親リンクです。
-
下位レベル(レベル1)は、上位レベルの各ノードを構成するノードを示します。また、上位レベルの各親ノードの子ノードであるノード間のリンク、および異なる親ノードを持つノード間のリンクを示します。
-
異なる親ノードを持つ下位レベルのノード間のリンクは、太い接続線で示されています。これらのリンクは、階層の上位レベルのノード間の単一のリンクの子リンクです。(ただし、下位レベルでのこれらの2つのリンクを、上位レベルのノード間の親リンクの子リンクとして定義しない場合もあります。)
-
それぞれの親ノードと親リンク、およびその子ノードと子リンクとの間の親子関係は、両端に矢印がある破線で示されています。
図5-3には示しませんが、異なる階層レベル間にリンクを設定できます。たとえば、上位レベルのノードと下位レベルの任意のノードとの間にリンクを定義できます。この場合、リンク間には親子関係がありません。
ネットワーク内の特定のノード・グループについて、親ネットワークを定義できます。子ネットワーク内のグループIDは、親ネットワーク内のノードIDとして使用されます。子ネットワーク内のグループ間の集約リンクは、親ネットワーク内のリンクを表し、任意のリンクIDが割り当てられます。
ネットワークでは、ノードをグループ化する方法を様々な基準に応じて複数使用することができるため、複数の親ネットワークを持つことができます。また、親ネットワーク内のノードをさらにグループ化して、上位レベルの親ネットワークを形成することもできます。たとえば、ソーシャル・ネットワークでは、メンバーを市、職業、所得などの基準でグループ化できます。たとえば、市でグループ化されたメンバーを、上位レベルの郡、州または国のネットワークにさらにグループ化できます。
ネットワークの親子関係は、ネットワーク・メタデータのCHILD_NETWORK列およびHIERARCHY_TABLE_NAME列を使用して定義されます。
親トピック: ネットワーク・データ・モデルの概要