Sociograma

Sobre los sociogramas

Un sociograma traza la red de elecciones, rechazos y alianzas dentro de un grupo: quién simpatiza con quién, quién está aislado, dónde se forman camarillas. Jacob Moreno introdujo el método en 1934 como herramienta clínica para la terapia de grupo; desde entonces lo han adoptado maestros en aulas (para detectar exclusión y acoso), equipos de RR. HH. (mapeo de influencia informal) e investigadores organizacionales. A diferencia del ecomap, que se centra en el entorno externo de una persona, el sociograma trata a todos los miembros del grupo de forma simétrica.

Schematex sigue las convenciones sociométricas de Moreno (1934) para roles de nodos y tipos de aristas, extendidas con notaciones modernas de análisis de redes sociales para valencia, dirección y peso. Esta página documenta lo que el parser acepta actualmente.

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

1. Tu primer sociograma

El sociograma mínimo útil: cuatro personas, tres tipos distintos de relación.

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

Cuatro reglas cubren el 80 % del uso:

  1. Comienza con la palabra clave sociogram, seguida opcionalmente de un título entre comillas.
  2. Cada persona es un nodo — declarado explícitamente con id [label: "…"] o creado automáticamente la primera vez que aparece en una arista.
  3. Conecta dos nodos con un operador de arista<-> (mutuo), -> (unidireccional), -x> (rechazo), -.- (neutral). Ver §3.
  4. Declara opcionalmente grupos y líneas de config para controlar el diseño y la coloración.

Los comentarios deben comenzar con # en su propia línea.


2. Nodos

Una línea de nodo es id [attr: value, …]. Los nodos también se crean implícitamente la primera vez que se referencian en una arista, pero la declaración explícita permite establecer etiquetas, grupos y roles.

Reglas de ID. Debe coincidir con [a-zA-Z][a-zA-Z0-9_-]*. El ID se usa internamente; el atributo label: establece el nombre visible.

Atributos de nodo:

AtributoValoresEfecto
label: "…"cadena entre comillasNombre visible (por defecto es el ID)
group: idID de grupoAsocia el nodo a un grupo para coloración
role: …star, isolate, bridge, neglectee, rejectedAnotación de rol sociométrico explícito
size: …small, medium, largeTamaño del nodo personalizado
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. Aristas

Una línea de arista es idIzquierdo OP idDerecho, seguida opcionalmente de [label: "…", weight: N]. Ambos IDs se registran automáticamente como nodos si aún no fueron declarados.

3.1 Dirección y valencia

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
OperadorDirecciónValenciaSignificado
A -> BunidireccionalpositivaA eligió a B
A <- BunidireccionalpositivaB eligió a A (igual que B -> A)
A <-> BmutuapositivaAmbos se eligieron mutuamente
A -- Bno dirigidapositivaRelación conocida; dirección no registrada
A -x> BunidireccionalnegativaA rechaza a B
A <x- BunidireccionalnegativaB rechaza a A
A <x-> BmutuanegativaRechazo mutuo
A -x- Bno dirigidanegativaConflicto; dirección desconocida
A -.> BunidireccionalneutralA es indiferente hacia B
A <.-> BmutuaneutralIndiferencia mutua
A -.- Bno dirigidaneutralRelación neutral

3.2 Peso / intensidad

Mayor peso = línea más gruesa. Usa los operadores abreviados o anula explícitamente con [weight: N].

PesoAbreviaturaDirecciónSignificado
2 (por defecto)-> <-> -- -x> -.-cualquieraConexión estándar
3==> <== <==> ===unidireccional / mutuo / no dirigidoFuerte
4===> <=== <===>unidireccional / mutuoMuy fuerte
personalizado[weight: N]Cualquier entero
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 Etiquetas de arista

A -> B [label: "mejor amigo"] — la etiqueta aparece en la línea de conexión.


4. Grupos

Un bloque group reúne nodos en un subgrupo con nombre para coloración y agrupamiento en el diseño.

Sintaxis de grupo:

  • group id [label: "…", color: "#hex"] — la línea de encabezado del grupo.
  • Las líneas de miembros siguen, cada una indentada al menos 4 espacios, un nodo por línea.
  • Una línea no indentada (o el siguiente group) cierra el grupo actual.
  • Los miembros pueden llevar sus propias propiedades: anna [label: "Anna K.", size: large].

Los nodos también se pueden asignar en línea: 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. Configuración

Las líneas config: ajustan el diseño y la codificación visual. Cada una es su propia línea.

Clave de configValoresPor defectoEfecto
layoutcircular, force-directed, concentriccircularAlgoritmo de posicionamiento
sizinguniform, in-degree, betweennessuniformTamaño del nodo según métrica
coloringdefault, group, roledefaultEsquema de color de nodos
highlightlista separada por comas: stars, isolates, cliquesstars,isolatesPatrones a anotar

Notas sobre diseño:

  • circular — nodos distribuidos uniformemente en un anillo. Ideal para grupos pequeños (≤15).
  • force-directed — modelo de resortes; los clústeres emergen automáticamente. Ideal para grupos medianos con subgrupos distintos.
  • concentric — los anillos interiores contienen los nodos con mayor in-degree. Ideal para mostrar estructura núcleo-periferia.

Circular — posicionamiento uniforme en anillo; cada nodo igualmente visible. Ideal para grupos pequeños y cohesionados.

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

Force-directed — la física de resortes acerca los nodos conectados y aleja los desconectados. Los subgrupos se agrupan orgánicamente.

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

Concentric — nodos ordenados por in-degree; los nodos de alta centralidad aparecen en los anillos interiores, los periféricos en los exteriores.

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

6. Roles sociométricos

El parser almacena anotaciones de rol en los nodos. El renderer las usa para aplicar insignias visuales: un marcador de estrella para star, un borde discontinuo para isolate, etc.

RolSignificado
starFigura central elegida por muchos (alto in-degree)
isolateSin conexiones entrantes ni salientes
neglecteeSe acerca a otros pero no recibe elecciones
rejectedRecibe aristas de rechazo de múltiples miembros
bridgeConecta dos clústeres que de otro modo estarían 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.7 ms·8.1 KB SVG

7. Etiquetas y comentarios

  • Título: sociogram "Study group" — solo en la primera línea.
  • Etiqueta de nodo: alice [label: "Alice K."].
  • Etiqueta de grupo: group boys [label: "Boys"].
  • Etiqueta de arista: alice -> bob [label: "lab partners"].
  • Comentarios: # al inicio de una línea (después del espacio en blanco inicial).

8. Palabras reservadas y escapado

Reservadas al inicio de línea: sociogram (encabezado), group, config:.

Tokens de operador reservados — evita estas secuencias dentro de los IDs: ->, <-, <->, --, ===, ==>, <==, <===>, -x>, <x-, -x-, <x->, -.>, <.->, -.-.

Cadenas con espacios deben ir entre comillas dobles en los valores de label: y color:.


9. Errores comunes

Lo que escribisteDice el parserSolución
tom; jack; mike en una línea de grupotom; falla la expresión regular de ID — se ignora silenciosamenteUn nodo por línea, cada uno indentado ≥4 espacios
Miembros de grupo indentados 2 espaciosNo se tratan como miembros del grupo (el parser requiere ≥4)Usa una indentación de 4+ espacios
alice <> bobSin operador coincidente — no se analiza como aristaUsa <-> para positivo mutuo
config: layout = gridValor desconocido ignorado silenciosamente; el diseño queda en circularUsa circular, force-directed o concentric
Nodo con espacio en el ID: dr parkEl parser toma dr como ID y park como token sueltoUsa guion bajo: 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

Fuente autoritativa: src/diagrams/sociogram/parser.ts. Si esto diverge del parser, el parser tiene prioridad — por favor abre un issue.


11. Conformidad con el estándar

Los sociogramas de Schematex siguen las convenciones de sociometría de Moreno (1934) para roles de nodos (star, isolate, neglectee) y semántica de elección dirigida. El conjunto de operadores de arista se amplía con valencia (positiva / negativa / neutral) y niveles de peso siguiendo la práctica moderna de análisis de redes sociales (Hanneman & Riddle, 2005).

Lo que está implementado actualmente:

  • ✅ Aristas dirigidas, mutuas y no dirigidas
  • ✅ Operadores de valencia positiva, negativa y neutral
  • ✅ Cuatro niveles de peso (1–4) con operadores abreviados y [weight: N]
  • ✅ Grupos con color
  • ✅ Declaraciones de rol de nodo (star, isolate, bridge, neglectee, rejected)
  • ✅ Tres diseños: circular, force-directed, concentric
  • ✅ Tres modos de dimensionamiento: uniform, in-degree, betweenness
  • ⏳ Resaltado de cliques detectado automáticamente — casco convexo sombreado (ver §13)
  • ⏳ Vista de átomo social (diseño centrado en el ego)

Referencias:

  • 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. Ejemplos 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. Hoja de ruta

Planificado — aún no analizable. No uses esto en el DSL generado hoy; el parser lo rechazará o ignorará.

  • Resaltado de cliques detectado automáticamente — casco convexo sombreado dibujado alrededor de subgrupos de elección mutua de ≥3.
  • Detección automática de bridgerole: bridge inferido a partir de la centralidad de intermediación sin declaración explícita.
  • Vista de átomo social — diseño centrado en el ego donde un nodo nominado se sitúa en el centro.
  • Exportación de matriz de reciprocidad — salida de tabla estructurada junto al diagrama.

Síguelo en los issues de GitHub si necesitas alguno de estos antes.

Found this useful?

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