ソシオグラム

ソシオグラムとは

ソシオグラムは、グループ内の選択・拒否・同盟関係のネットワークを可視化します——誰が誰を好むか、誰が孤立しているか、どこにクリークが形成されているかを示します。Jacob Moreno が1934年に集団療法の臨床ツールとして導入し、その後、排除やいじめを検出するために使う教師、非公式の影響力をマッピングする HR チーム、組織研究者などに採用されています。一人の人物の外部環境に焦点を当てるエコマップとは異なり、ソシオグラムはグループの全メンバーを対称的に扱います。

Schematex は、ノードの役割とエッジの種類について Moreno (1934) 社会計量学の慣例 に従い、価値評価・方向・重みに関する現代のソーシャルネットワーク分析記法で拡張しています。このページでは、パーサーが現在受け付ける内容を説明します。

sociogram·§ Moreno
↘ preview
100%
Sociogram: Group Therapy — Week 6 Sociogram with 7 members and 12 connections Group Therapy — Week 6 strong bond tension Dr. Park James Maria Lee Sarah Tom Nina ROLES Star (sociometric center) TIES Positive tie Negative tie Neutral tie
UTF-8 · LF · 21 lines · 473 chars✓ parsed·1.4 ms·9.7 KB SVG

1. 最初のソシオグラム

最小限の実用的なソシオグラム:4人、3種類の関係タイプ。

sociogram·§ Moreno
↘ preview
100%
Sociogram: Study group Sociogram with 4 members and 3 connections Study group lab partners rivalry Alice Bob Carol Dave TIES Positive tie Negative tie
UTF-8 · LF · 8 lines · 194 chars✓ parsed·0.4 ms·5.5 KB SVG

4つのルールで使用例の80%をカバーできます:

  1. キーワード sociogram で始め、必要に応じて引用符付きのタイトルを続けます。
  2. 各人はノードです——id [label: "…"] で明示的に宣言するか、エッジに初めて登場したときに自動的に作成されます。
  3. 2つのノードをエッジ演算子で接続します——<->(相互)、->(一方向)、-x>(拒否)、-.-(中立)。§3 を参照。
  4. 必要に応じてグループconfig 行を宣言してレイアウトと色付けを制御します。

コメントは独立した行で # から始める必要があります。


2. ノード

ノード行の形式は id [attr: value, …] です。エッジで初めて参照されたときにも暗黙的に作成されますが、明示的な宣言によってラベル・グループ・役割を設定できます。

ID のルール。 [a-zA-Z][a-zA-Z0-9_-]* にマッチする必要があります。ID は内部で使用され、label: 属性が表示名を設定します。

ノード属性:

属性効果
label: "…"引用符付き文字列表示名(デフォルトは ID)
group: idグループ IDノードを色付けのためのグループに関連付ける
role: …starisolatebridgeneglecteerejected明示的な社会計量学的役割アノテーション
size: …smallmediumlargeノードサイズのオーバーライド
sociogram·§ Moreno
↘ preview
100%
Sociogram: Group roles demo Sociogram with 5 members and 5 connections Group roles demo Dr. Park James Nina Alex Sam ROLES Star (sociometric center) Isolate Neglectee TIES Positive tie
UTF-8 · LF · 12 lines · 321 chars✓ parsed·0.5 ms·7.2 KB SVG

3. エッジ

エッジ行の形式は leftId OP rightId で、オプションとして [label: "…", weight: N] が続きます。両方の ID がまだ宣言されていない場合は、自動的にノードとして登録されます。

3.1 方向と価値評価

sociogram·§ Moreno
↘ preview
100%
Sociogram: Edge types Sociogram with 6 members and 6 connections Edge types chose B mutual rejects D mutual reject indifferent mutual neutral A B C D E F TIES Positive tie Negative tie Neutral tie
UTF-8 · LF · 17 lines · 351 chars✓ parsed·0.5 ms·7.4 KB SVG
演算子方向価値評価意味
A -> B一方向A が B を選んだ
A <- B一方向B が A を選んだ(B -> A と同じ)
A <-> B相互お互いを選んだ
A -- B無方向関係は既知;方向は未記録
A -x> B一方向A が B を拒否する
A <x- B一方向B が A を拒否する
A <x-> B相互相互拒否
A -x- B無方向対立;方向不明
A -.> B一方向中立A は B に対して無関心
A <.-> B相互中立相互無関心
A -.- B無方向中立中立的な関係

3.2 重み / 強度

重みが大きいほど線が太くなります。省略形演算子を使うか、[weight: N] で明示的にオーバーライドします。

重み省略形方向意味
2(デフォルト)-> <-> -- -x> -.-任意標準的な接続
3==> <== <==> ===一方向 / 相互 / 無方向強い
4===> <=== <===>一方向 / 相互非常に強い
カスタム[weight: N]任意の整数
sociogram·§ Moreno
↘ preview
100%
Sociogram: Relationship strengths Sociogram with 4 members and 4 connections Relationship strengths weight 2 (default) weight 3 (strong) weight 4 (very strong) weight 1 (weak) A B C D TIES Positive tie
UTF-8 · LF · 10 lines · 282 chars✓ parsed·0.4 ms·5.7 KB SVG

3.3 エッジラベル

A -> B [label: "best friend"] — ラベルは接続線上に表示されます。


4. グループ

group ブロックは、色付けとレイアウトクラスタリングのためにノードを名前付きサブグループに収集します。

グループ構文:

  • group id [label: "…", color: "#hex"] — グループヘッダー行。
  • メンバー行が続きます。各行は最低4スペースのインデント、1行1ノード。
  • インデントなしの行(または次の group)で現在のグループが閉じられます。
  • メンバーは独自のプロパティを持てます:anna [label: "Anna K.", size: large]

ノードはインラインでも割り当て可能:alice [group: girls]

sociogram·§ Moreno
↘ preview
100%
Sociogram: Classroom dynamics Sociogram with 8 members and 7 connections Classroom dynamics conflict cross-group Tom Jack Mike Leo Anna Beth Chloe Diana GROUPS Boys Girls TIES Positive tie Negative tie
UTF-8 · LF · 19 lines · 477 chars✓ parsed·6.1 ms·8.7 KB SVG

5. 設定

config: 行でレイアウトと視覚的なエンコーディングを調整します。各行は独立した行です。

設定キーデフォルト効果
layoutcircularforce-directedconcentriccircular配置アルゴリズム
sizinguniformin-degreebetweennessuniformメトリクスによるノードサイズ
coloringdefaultgrouproledefaultノードカラースキーム
highlightカンマ区切りリスト:starsisolatescliquesstars,isolatesどのパターンをアノテートするか

レイアウトの注意事項:

  • circular — ノードをリング上に均等配置。小さなグループ(≤15)に最適。
  • force-directed — バネモデル;クラスターが自動的に出現。サブグループが明確な中規模グループに最適。
  • concentric — 内側のリングに高い入次数のノードを配置。コア・周辺構造を示すのに最適。

Circular — 均一なリング配置;すべてのノードが等しく見える。小さな、密接に結びついたグループに最適。

sociogram·§ Moreno
↘ preview
100%
Sociogram: Therapy group — circular Sociogram with 7 members and 10 connections Therapy group — circular Dr. Park James Maria Lee Sarah Tom Nina ROLES Star (sociometric center) Neglectee TIES Positive tie Negative tie
UTF-8 · LF · 19 lines · 411 chars✓ parsed·0.8 ms·9.1 KB SVG

Force-directed — バネ物理がつながったノードを引き寄せ、つながっていないノードを遠ざけます。サブグループが有機的にクラスター化されます。

sociogram·§ Moreno
↘ preview
100%
Sociogram: Classroom dynamics — force-directed Sociogram with 8 members and 8 connections Classroom dynamics — force-directed conflict cross-group Tom Jack Mike Leo Anna Beth Chloe Diana GROUPS Boys Girls TIES Positive tie Negative tie
UTF-8 · LF · 20 lines · 507 chars✓ parsed·1.6 ms·8.9 KB SVG

Concentric — 入次数でノードをソート;高い中心性のノードが内側のリングに、周辺ノードが外側のリングに表示されます。

sociogram·§ Moreno
↘ preview
100%
Sociogram: Informal influence — concentric Sociogram with 7 members and 9 connections Informal influence — concentric VP Eng Lead A Lead B Alice Bob Carol Dave TIES Positive tie
UTF-8 · LF · 19 lines · 387 chars✓ parsed·9.2 ms·8.0 KB SVG

6. 社会計量学的役割

パーサーはノードに役割アノテーションを保存します。レンダラーはそれを使って視覚的なバッジを適用します——star にはスターマーカー、isolate には破線ボーダー、など。

役割意味
star多くから選ばれた中心的な人物(高い入次数)
isolate内外を問わず接続が一切ない
neglectee他者に働きかけるが、選ばれることがない
rejected複数のメンバーから拒否エッジを受けている
bridge他では分離している2つのクラスターをつなぐ
sociogram·§ Moreno
↘ preview
100%
Sociogram: Role annotations Sociogram with 5 members and 6 connections Role annotations Maria Sam New Kid Alex Pat ROLES Star (sociometric center) Isolate Neglectee Rejected TIES Positive tie Negative tie
UTF-8 · LF · 13 lines · 384 chars✓ parsed·0.6 ms·8.1 KB SVG

7. ラベルとコメント

  • タイトル: sociogram "Study group" — 最初の行のみ。
  • ノードラベル: alice [label: "Alice K."]
  • グループラベル: group boys [label: "Boys"]
  • エッジラベル: alice -> bob [label: "lab partners"]
  • コメント: # を行頭に記述(先頭のホワイトスペースの後)。

8. 予約語とエスケープ

行頭の予約語: sociogram(ヘッダー)、groupconfig:

予約演算子トークン — ID 内ではこれらのシーケンスを避けてください:-><-<->--=====><==<===>-x><x--x-<x->-.><.->-.-

スペースを含む文字列は、label:color: の値でダブルクォートで囲む必要があります。


9. よくある間違い

記述した内容パーサーの反応修正方法
1つのグループ行に tom; jack; miketom; が ID 正規表現にマッチせず、暗黙的に無視される各行1ノード、各行4スペース以上のインデント
グループメンバーを2スペースインデントグループメンバーとして扱われない(パーサーは≥4を要求)4スペース以上のインデントを使用
alice <> bobマッチする演算子なし — エッジとして解析されない相互肯定には <-> を使用
config: layout = grid未知の値は暗黙的に無視;レイアウトは circular のままcircularforce-directed、または concentric を使用
スペースを含む ID を持つノード:dr parkパーサーは dr を ID として、park を迷子のトークンとして認識アンダースコアを使用:dr_park [label: "Dr. Park"]

10. 文法(EBNF)

document       = header (blank | comment | config | group-block | edge | node)*

header         = "sociogram" ( WS quoted-string )? NEWLINE
quoted-string  = '"' any-char-but-quote* '"'

config         = "config:" WS key WS "=" WS value NEWLINE
key            = "layout" | "sizing" | "coloring" | "highlight"

group-block    = "group" WS id ( "[" group-attrs "]" )? NEWLINE
                   ( INDENT≥4 member-line )*
member-line    = id ( "[" node-attrs "]" )? NEWLINE
group-attrs    = group-attr ("," group-attr)*
group-attr     = "label:" quoted-string | "color:" quoted-string

node           = id ( "[" node-attrs "]" )? NEWLINE
node-attrs     = node-attr ("," node-attr)*
node-attr      = "label:" quoted-string
               | "group:" id
               | "role:" role
               | "size:" ("small" | "medium" | "large")

edge           = id WS op WS id ( "[" edge-attrs "]" )? NEWLINE
edge-attrs     = edge-attr ("," edge-attr)*
edge-attr      = "label:" quoted-string | "weight:" number

op             = // positive
                 "<===>" | "===>" | "<==="
               | "<==>"|"==>"|"<=="
               | "===" | "<->" | "->" | "<-" | "--"
               // negative
               | "<x->" | "-x>" | "<x-" | "-x-"
               // neutral
               | "<.->" | "-\.>" | "-.-"

role           = "star" | "isolate" | "bridge" | "neglectee" | "rejected"
id             = [a-zA-Z] [a-zA-Z0-9_-]*
comment        = "#" any NEWLINE

権威ある情報源:src/diagrams/sociogram/parser.ts。パーサーとの相違がある場合は、パーサーが優先されます——Issue を作成してください。


11. 標準準拠

Schematex のソシオグラムは、ノードの役割(star、isolate、neglectee)と有向選択のセマンティクスについて Moreno (1934) 社会計量学の慣例に従っています。エッジ演算子セットは、現代のソーシャルネットワーク分析の実践(Hanneman & Riddle, 2005)に従い、価値評価(正 / 負 / 中立)と重みレベルで拡張されています。

現在実装されているもの:

  • ✅ 有向・相互・無方向エッジ
  • ✅ 正・負・中立の価値評価演算子
  • ✅ 4つの重みレベル(1〜4)と省略形演算子および [weight: N]
  • ✅ 色付きグループ
  • ✅ ノード役割の宣言(starisolatebridgeneglecteerejected
  • ✅ 3つのレイアウト:circular、force-directed、concentric
  • ✅ 3つのサイジングモード:uniform、in-degree、betweenness
  • ⏳ 自動検出クリークハイライト — シェーディングされた凸包(§13 参照)
  • ⏳ ソーシャルアトムビュー(エゴ中心レイアウト)

参考文献:

  • Moreno, J.L. (1934). Who Shall Survive? Foundations of Sociometry, Group Psychotherapy and Sociodrama. Beacon House.
  • Hanneman, R.A. & Riddle, M. (2005). Introduction to Social Network Methods. UC Riverside.

12. 関連する例

sociogram·§ Moreno 1934
Sociogram: Playground Dynamics Sociogram with 8 members and 10 connections Playground Dynamics conflict tom jack mike leo anna beth chloe diana GROUPS Boys Girls TIES Positive tie Negative tie Neutral tie
Playground dynamics
Moreno sociogram of classroom playground dynamics — mutual friendships, one-way choices, and peer conflicts mapped by gender group using force-directed layout.
education
sociogram·§ Moreno 1934
Sociogram: Engineering team — informal influence Sociogram with 10 members and 10 connections Engineering team — informal influence alex sam priya jordan kim tao lee ravi nina dev GROUPS Tech leads Senior ICs Junior TIES Positive tie Neutral tie
Engineering team influence mapping
Informal influence map of an engineering team showing tech leads, senior ICs, and junior members — reveals bridging nodes and isolated individuals.
business & operations

13. ロードマップ

計画中 — まだパース不可。 現在生成された DSL ではこれらを使用しないでください;パーサーが拒否または無視します。

  • 自動検出クリークハイライト — 3人以上の相互選択サブグループの周囲にシェーディングされた凸包を描画。
  • ブリッジ自動検出 — 明示的な宣言なしに媒介中心性から role: bridge を推定。
  • ソーシャルアトムビュー — 指名された1つのノードを中心に置くエゴ中心レイアウト。
  • 相互性マトリクスエクスポート — ダイアグラムと並行した構造化テーブル出力。

これらのどれかが早急に必要な場合は GitHub Issues でトラックしてください。

Found this useful?

Schematex is free, fully open source, and zero-dependency. A star helps other developers discover it.