Sociogram

Sobre sociogramas

Um sociograma mapeia a teia de escolhas, rejeições e alianças dentro de um grupo — quem gosta de quem, quem está isolado, onde se formam cliques. Jacob Moreno introduziu o método em 1934 como uma ferramenta clínica para terapia de grupo; desde então, foi adotado por professores de sala de aula (para detectar exclusão e bullying), equipes de RH (mapeamento de influência informal) e pesquisadores organizacionais. Ao contrário de um ecomap, que centraliza o ambiente externo de uma pessoa, o sociograma trata todos os membros do grupo de forma simétrica.

O Schematex segue as convenções de sociometria de Moreno (1934) para papéis de nós e tipos de arestas, estendidas com notações modernas de análise de redes sociais para valência, direção e peso. Esta página documenta o que o parser aceita atualmente.

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·16.6 ms·9.7 KB SVG

1. Seu primeiro sociograma

O menor sociograma útil: quatro pessoas, três tipos diferentes de relacionamento.

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.7 ms·5.5 KB SVG

Quatro regras cobrem 80% dos casos de uso:

  1. Comece com a palavra-chave sociogram, opcionalmente seguida de um título entre aspas.
  2. Cada pessoa é um — declarado explicitamente com id [label: "…"] ou criado automaticamente na primeira vez que aparece em uma aresta.
  3. Conecte dois nós com um operador de aresta<-> (mútuo), -> (unidirecional), -x> (rejeição), -.- (neutro). Veja §3.
  4. Opcionalmente, declare grupos e linhas de config para controlar o layout e a coloração.

Comentários devem começar com # na própria linha.


2. Nós

Uma linha de nó tem o formato id [attr: value, …]. Os nós também são criados implicitamente quando referenciados pela primeira vez em uma aresta — mas a declaração explícita permite definir rótulos, grupos e papéis.

Regras de ID. Deve corresponder a [a-zA-Z][a-zA-Z0-9_-]*. O ID é usado internamente; o atributo label: define o nome de exibição.

Atributos de nó:

AtributoValoresEfeito
label: "…"string entre aspasNome de exibição (padrão: o ID)
group: idID de grupoAssocia o nó a um grupo para coloração
role: …star, isolate, bridge, neglectee, rejectedAnotação explícita de papel sociométrico
size: …small, medium, largeSubstituição do tamanho do nó
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.6 ms·7.2 KB SVG

3. Arestas

Uma linha de aresta tem o formato leftId OP rightId, opcionalmente seguida de [label: "…", weight: N]. Ambos os IDs são registrados automaticamente como nós se ainda não tiverem sido declarados.

3.1 Direção e valência

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.6 ms·7.4 KB SVG
OperadorDireçãoValênciaSignificado
A -> BunidirecionalpositivoA escolheu B
A <- BunidirecionalpositivoB escolheu A (mesmo que B -> A)
A <-> BmútuopositivoAmbos se escolheram
A -- Bnão direcionadopositivoRelacionamento conhecido; direção não registrada
A -x> BunidirecionalnegativoA rejeita B
A <x- BunidirecionalnegativoB rejeita A
A <x-> BmútuonegativoRejeição mútua
A -x- Bnão direcionadonegativoConflito; direção desconhecida
A -.> BunidirecionalneutroA é indiferente a B
A <.-> BmútuoneutroIndiferença mútua
A -.- Bnão direcionadoneutroRelacionamento neutro

3.2 Peso / intensidade

Peso maior = linha mais espessa. Use os operadores abreviados ou substitua explicitamente com [weight: N].

PesoAbreviaçãoDireçãoSignificado
2 (padrão)-> <-> -- -x> -.-qualquerConexão padrão
3==> <== <==> ===unidirecional / mútuo / não direcionadoForte
4===> <=== <===>unidirecional / mútuoMuito forte
personalizado[weight: N]Qualquer inteiro
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·16.1 ms·5.7 KB SVG

3.3 Rótulos de aresta

A -> B [label: "best friend"] — o rótulo aparece na linha de conexão.


4. Grupos

Um bloco group agrupa nós em um subgrupo nomeado para coloração e agrupamento de layout.

Sintaxe de grupo:

  • group id [label: "…", color: "#hex"] — a linha de cabeçalho do grupo.
  • As linhas de membros seguem, cada uma indentada pelo menos 4 espaços, um nó por linha.
  • Uma linha não indentada (ou o próximo group) fecha o grupo atual.
  • Os membros podem ter suas próprias propriedades: anna [label: "Anna K.", size: large].

Os nós também podem ser atribuídos inline: 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·4.4 ms·8.7 KB SVG

5. Configuração

Linhas config: ajustam o layout e a codificação visual. Cada uma é sua própria linha.

Chave de configValoresPadrãoEfeito
layoutcircular, force-directed, concentriccircularAlgoritmo de posicionamento
sizinguniform, in-degree, betweennessuniformTamanho do nó por métrica
coloringdefault, group, roledefaultEsquema de cores dos nós
highlightlista separada por vírgula: stars, isolates, cliquesstars,isolatesQuais padrões anotar

Notas sobre layout:

  • circular — nós igualmente espaçados em um anel. Melhor para grupos pequenos (≤15).
  • force-directed — modelo de mola; clusters surgem automaticamente. Melhor para grupos de tamanho médio com subgrupos distintos.
  • concentric — anéis internos contêm nós com alto grau de entrada. Melhor para mostrar estrutura núcleo-periferia.

Circular — posicionamento uniforme em anel; todos os nós igualmente visíveis. Melhor para grupos pequenos e coesos.

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 — a física de molas atrai nós conectados entre si e afasta os desconectados. Subgrupos se agrupam organicamente.

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.4 ms·8.9 KB SVG

Concentric — nós ordenados por grau de entrada; nós de alta centralidade aparecem nos anéis internos, nós periféricos nos anéis externos.

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·0.6 ms·8.0 KB SVG

6. Papéis sociométricos

O parser armazena anotações de papel nos nós. O renderizador os utiliza para aplicar emblemas visuais — um marcador de estrela para star, uma borda tracejada para isolate, e assim por diante.

PapelSignificado
starFigura central escolhida por muitos (alto grau de entrada)
isolateSem conexões de entrada ou saída
neglecteeAlcança outros, mas não recebe escolhas
rejectedRecebe arestas de rejeição de múltiplos membros
bridgeConecta dois clusters separados
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.5 ms·8.1 KB SVG

7. Rótulos e comentários

  • Título: sociogram "Study group" — apenas na primeira linha.
  • Rótulo do nó: alice [label: "Alice K."].
  • Rótulo do grupo: group boys [label: "Boys"].
  • Rótulo da aresta: alice -> bob [label: "lab partners"].
  • Comentários: # no início de uma linha (após espaços em branco iniciais).

8. Palavras reservadas e escapamento

Reservadas no início da linha: sociogram (cabeçalho), group, config:.

Tokens operadores reservados — evite estas sequências dentro de IDs: ->, <-, <->, --, ===, ==>, <==, <===>, -x>, <x-, -x-, <x->, -.>, <.->, -.-.

Strings com espaços devem estar entre aspas duplas nos valores de label: e color:.


9. Erros comuns

Você escreveuO parser dizCorreção
tom; jack; mike em uma linha de grupotom; não passa na regex de ID — silenciosamente ignoradoUm nó por linha, cada um indentado ≥4 espaços
Membros do grupo indentados com 2 espaçosNão tratados como membros do grupo (o parser exige ≥4)Use 4+ espaços de indentação
alice <> bobSem operador correspondente — não parseado como arestaUse <-> para mútuo positivo
config: layout = gridValor desconhecido silenciosamente ignorado; layout permanece circularUse circular, force-directed ou concentric
Nó com espaço no ID: dr parkO parser toma dr como ID e park como token perdidoUse underscore: dr_park [label: "Dr. Park"]

10. Gramática (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

Fonte autoritativa: src/diagrams/sociogram/parser.ts. Se houver divergência com o parser, o parser prevalece — por favor, abra uma issue.


11. Conformidade com padrões

Os sociogramas do Schematex seguem as convenções de sociometria de Moreno (1934) para papéis de nós (star, isolate, neglectee) e semântica de escolha direcionada. O conjunto de operadores de aresta é estendido com valência (positiva / negativa / neutra) e níveis de peso seguindo a prática moderna de análise de redes sociais (Hanneman & Riddle, 2005).

O que está implementado atualmente:

  • ✅ Arestas direcionadas, mútuas e não direcionadas
  • ✅ Operadores de valência positiva, negativa e neutra
  • ✅ Quatro níveis de peso (1–4) com operadores abreviados e [weight: N]
  • ✅ Grupos com cor
  • ✅ Declarações de papel de nó (star, isolate, bridge, neglectee, rejected)
  • ✅ Três layouts: circular, force-directed, concentric
  • ✅ Três modos de dimensionamento: uniform, in-degree, betweenness
  • ⏳ Destaque automático de cliques — casco convexo sombreado (ver §13)
  • ⏳ Visão de átomo social (layout centrado no ego)

Referências:

  • 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. Exemplos relacionados

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. Roadmap

Planejado — ainda não parseável. Não use estes itens em DSL gerado hoje; o parser os rejeitará ou ignorará.

  • Destaque automático de cliques — casco convexo sombreado desenhado ao redor de subgrupos de escolha mútua com ≥3 membros.
  • Detecção automática de bridgerole: bridge inferido a partir da centralidade de intermediação sem declaração explícita.
  • Visão de átomo social — layout centrado no ego onde um nó indicado fica no centro.
  • Exportação de matriz de reciprocidade — saída de tabela estruturada ao lado do diagrama.

Acompanhe nas issues do GitHub se precisar de algum desses itens mais cedo.

Found this useful?

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