Parte II · Las siete coordenadas
Cuál: el zócalo categórico (K)
Los cuatro pilares saben dónde guardar a un vendedor y a la camiseta que vende, pero no saben decir qué son. Falta un eje para los tipos, las unidades y los estados: el segundo gran zócalo del modelo.
El vendedor pone delante de ti, sobre el mostrador, una prenda doblada de tela suave, con el escudo bordado al pecho. Sabes muchas cosas concretas de esa prenda: que te la mostró el vendedor, que está sobre el mostrador, que cuesta 49,90 dólares. Pero hay otra pregunta que tu mente responde antes incluso de tocarla, y que ninguno de los cuatro pilares del capítulo anterior puede contestar: ¿qué es esto? Es una camiseta. No esa camiseta en particular (la que tienes enfrente), sino un ejemplar de una categoría que existía mucho antes de que llegara a la tienda y seguirá existiendo cuando la prenda esté guardada en tu armario.
Esa pregunta (¿de qué tipo es?) parece menor, casi una formalidad. No lo es. Es la grieta por la que se cuela un eje entero, y con él la mitad del poder de razonamiento de cualquier sistema serio. Este capítulo trata de ese eje: K, el zócalo categórico, la respuesta a la pregunta cuál.
Lo que los pilares dejan sin decir
Conviene volver un momento a la escena con la que cerró el capítulo dos. Teníamos un hecho (la venta que el vendedor cerró en el mostrador de la tienda) repartido limpiamente en cuatro casilleros: el vendedor en el Q, la camiseta en el O, la tienda en el L y el instante en el T. A primera vista, el hecho quedó descrito por completo. Pero si lo miras con ojos de ingeniero de datos, descubres un punto ciego enorme: hay información crítica que esos cuatro pilares, por diseño, no te dejan expresar.
Sabemos que el vendedor vive en el eje Q. Y como en la escena aparece también el cliente que
compró la camiseta, sabemos que él vive igualmente en Q. Hasta ahí, sin problemas. Pero un
sistema que aspire a ser útil necesita algo más profundo que un lugar donde guardar dos
nombres: necesita saber que ambos son personas. Necesita la capacidad lógica de
reconocer que vendedor_17 y cliente_1042 comparten una
naturaleza (pertenecen a la misma categoría) para poder, por ejemplo,
contar cuánta gente pasó por la tienda sin confundirla con las prendas.
Lo mismo ocurre con la camiseta. Ese objeto físico concreto, con su escudo bordado y su etiqueta de talla, vive correctamente en el eje O. Pero la palabra «camiseta» nombra algo mucho más amplio que ese ejemplar específico que descansa sobre el mostrador. «Camiseta» es el tipo de cosa al que pertenece esa prenda. Cualquier sistema con aspiraciones de inteligencia tiene que distinguir sin esfuerzo entre el ejemplar concreto (esta camiseta puntual, con su talla y su color) y la categoría universal a la que pertenece: la camiseta como concepto general, la prenda, el tipo de producto que se cataloga en cualquier tienda del mundo.
La limitación es estructural y vale la pena nombrarla con claridad: los pilares que hemos visto funcionan como un inventario de individuos. Catalogan a esta persona, a este objeto, a este lugar exacto, a este instante del reloj. Lo que falta es un inventario distinto, uno que defina lo que esos individuos son. Y esa definición de identidad no cabe en Q ni en O. Reclama su propio eje.
Qué es K, exactamente
La letra K se eligió por convergencia lingüística: Kind en inglés,
Klasse en alemán, la raíz griega katēgoría que comparten las lenguas
latinas. Es el eje que responde a la pregunta ¿cuál?: cuál, de entre un
conjunto acotado de tipos, estados o categorías, le corresponde a algo. Está diseñado en
exclusiva para alojar tipos, categorías y conceptos abstractos. Es el
territorio lógico donde viven ideas genéricas como camiseta,
prenda, largometraje, genero_drama,
gol_jugada_abierta, ordenanza_municipal, kilogramo,
infarto_agudo_de_miocardio o arquitectura_transformer.
La imagen que mejor lo captura es la de un edificio sostenido por dos grandes fundaciones. Los pilares Q, O, L y T forman el primer zócalo, el de lo concreto. Allí viven las cosas que existen materialmente, entidades con identidad propia y, casi siempre, una ubicación en el espacio y en el tiempo. K es el segundo zócalo, el de lo categórico. Allí no hay nada que puedas tocar: hay nombres genéricos, patrones y moldes bajo los cuales agrupamos a los ejemplares del primer zócalo.
Idea clave
El modelo descansa sobre dos zócalos, no uno. El primero (Q, O, L, T) cataloga los individuos del mundo. El segundo (K) define las categorías a las que esos individuos pertenecen. Sin el segundo, un sistema puede guardar datos, pero no puede razonar sobre ellos.
Esta distinción entre el individuo y su categoría es sutil, pero es la herramienta más
potente del modelo. Una directora de cine de carne y hueso vive en Q: es una
persona, serra, con fecha de nacimiento, nacionalidad y una filmografía. Pero
el concepto de directora (el rol, el oficio) vive en K. Un partido de
fútbol concreto vive en O: partido_arg_per_2026, ocurrió un sábado,
terminó 2 a 1. Pero el concepto de partido de fútbol vive en K. La ciudad
donde se jugó vive en L; la categoría abstracta de ciudad sede vive en K.
Separar las instancias de sus categorías es justamente lo que le permite a un sistema razonar con generalidad. Es lo que hace posible que el buscador de una plataforma de streaming entienda la orden «muéstrame todos los largometrajes de género drama», en lugar de obligar al usuario a teclear, uno por uno, el título de cada película que cumple esa condición.
subtipo_de y arman la jerarquía categórica: camiseta_deportiva es
subtipo de camiseta, que es subtipo de prenda. Las flechas
punteadas son
instancia_de y atan cada individuo concreto a sus tipos:
camiseta_88 (una prenda en O) y vendedor_17 (una persona en Q).
Las categorías también se conectan entre sí (camiseta_deportiva tiene una
talla_m): K no es una lista, es un grafo.Cuatro familias dentro de K
El eje K no es una bolsa plana donde arrojamos etiquetas al azar. Es un entorno muy estructurado que aloja, al menos, cuatro familias distintas de entidades categóricas. Vale la pena recorrerlas una a una para entender su alcance.
1 · Tipos de objetos y eventos
Conceptos como camiseta, largometraje, gol_jugada_abierta,
ordenanza_municipal o sesion_ia son, en sentido estricto, tipos.
La camiseta física está en O; el molde teórico camiseta está en K. Para coser
ambos ejes usamos una relación fundamental que llamaremos instancia_de. Esa única
tripleta es el cordón umbilical entre la prenda concreta y su concepto:
Esa misma forma se repite para cualquier individuo de cualquier pilar; lo que cambia es el eje de origen:
(camiseta_88, instancia_de, camiseta) ∈ M(O, K)
(vendedor_17, instancia_de, rol_vendedor) ∈ M(Q, K)
(pelicula_marea, instancia_de, largometraje) ∈ M(O, K)
(modelo_lumen_2026, instancia_de, modelo_de_lenguaje) ∈ M(O, K)
Cualquier individuo registrado en Q, O o L (y a veces en T) debe poder responder a la pregunta «¿de qué concepto eres instancia?». Ese hilo es lo que ata el grafo de hechos concretos con el diccionario abstracto del sistema. Sin él, los pilares serían un montón de nombres flotando sin red.
2 · Unidades de medida
Términos como kilogramo, segundo, token,
dolar, milisegundo o grado_celsius son categorías
puras; no son entidades materiales. Nunca te cruzarás por la calle con «un kilogramo físico»
flotando en el aire como una botella; lo que experimentas es el patrón de «ser un kilogramo»
aplicado a la masa de una botella. Como son conceptos teóricos para medir, todas las unidades
habitan en K.
Que las unidades vivan en K no es un capricho de catalogación: es una necesidad arquitectónica. Como veremos en el próximo capítulo, un número desnudo no significa nada («18» no es nada hasta que sabes que son 18 gramos de café molido) y el único lugar donde puede habitar esa unidad es el zócalo categórico. Por eso K tenía que presentarse antes que N.
3 · Estados y valores enumerativos
En el diseño de software es muy común encontrar atributos que solo admiten un valor de una lista estricta y cerrada: casado / soltero / viudo, aprobado / pendiente / rechazado, titular / suplente, encendido / apagado. Esos valores predefinidos no son números ni deberían tratarse como texto libre: son categorías de estado. Y como son conceptos genéricos aplicables a muchos casos, viven en K.
(gol_001, pierna_ejecutora, pierna_zurda) ∈ M(O, K)
(ordenanza_142, estado_tramite, promulgada) ∈ M(O, K)
(sesion_ia_5521, modo_entrega, streaming) ∈ M(O, K)
4 · Conceptos abstractos y nomenclaturas
Todo dominio profesional serio cuenta con diccionarios controlados. Aquí entran los diagnósticos médicos oficiales (CIE-10, SNOMED), las categorías comerciales y códigos de producto (SKU), los géneros cinematográficos y musicales, las tipologías de actos administrativos o las arquitecturas de inteligencia artificial. Cualquier nomenclatura controlada, sin excepción, aterriza en el eje K.
(pelicula_marea, genero, genero_drama) ∈ M(O, K)
(camiseta_88, sku, "cam_dep_m_azul") ∈ M(O, K)
(ordenanza_142, tipo_norma, ordenanza_municipal) ∈ M(O, K)
(modelo_lumen_2026, arquitectura, transformer) ∈ M(O, K)
Si una línea atraviesa a las cuatro familias es esta: todo lo que vive en K no es un ejemplar único del mundo, sino un patrón conceptual que puede aplicarse a decenas, miles o millones de casos.
Una sola plantilla, todas sus instancias
Que la plantilla viva separada de sus ejemplares no es solo orden conceptual: es lo que
hace barata una pregunta que en otros modelos sale cara. Si camiseta es una
categoría en K, entonces «todas las prendas de ese tipo» ya está dicho —son los individuos
que cuelgan de ella por instancia_de, y camiseta_88 es solo uno
entre ellos—. Preguntar por una unidad o por las diez mil cuesta lo mismo: en ambos casos
recorres el mismo cable hacia la misma plantilla.
# Cuántos ejemplares instancian la misma plantilla de K
count(u, Pattern(type_constraint=u.ind("camiseta")))
La frontera resbaladiza: ¿instancia (O) o clase (K)?
El lector técnico choca tarde o temprano con un caso incómodo: ciertos objetos híbridos (un VAR en el fútbol, un algoritmo de recomendación, un modelo de lenguaje) parecen vivir en varios ejes a la vez. La confusión se disuelve apenas se entiende que no es la cosa la que tiene un eje, sino cada uno de sus papeles. Una misma palabra nombra cosas distintas según qué le preguntemos.
| Si te refieres a… | Eje | VAR | Algoritmo de recomendación |
|---|---|---|---|
| El tipo o concepto (la tecnología, la categoría) | K | var como clase de sistema arbitral |
filtrado_colaborativo como técnica |
| El ejemplar concreto (un despliegue, una unidad) | O | el VAR instalado en el estadio Monumental | el motor de recomendación de una plataforma |
| Una acción suya, reificada (un evento que ejecutó) | O | «revisó la jugada del minuto 87» | «recomendó la serie a Paredes» |
Cuando actúa (ocupa el rol agente) |
Q | el VAR como agente de anular_gol | el motor como agente de recomendar |
Aquí se ve la reificación en movimiento, y su parentesco con la agencia
contextual (la regla D5 que formalizaremos en el capítulo
9). El mismo VAR es un objeto pasivo en O cuando describimos su
instalación; es el agente en Q cuando anula un gol; y ese «anular
el gol» es, a su vez, una situación reificada que vive en O. La entidad no se
duplica al cambiar de eje: es un solo individuo, referido desde situaciones
distintas. Y un evento activo en un nivel (la revisión del VAR) puede volverse el objeto
pasivo de otro («la revisión del minuto 87 fue impugnada por el club»): eso es,
exactamente, reificar.
La regla de los tres dedos
Ante cada mención, pregúntate qué se está nombrando:
- ¿De qué tipo es? → K (la categoría).
- ¿Qué ejemplar, o qué evento, es? → O (la instancia concreta o la acción reificada).
- ¿Quién actúa en esta situación? → Q (el agente, por contexto, no por naturaleza).
La misma disciplina ordena a los demás híbridos del libro: transformer es la
arquitectura (K), modelo_lumen_2026 el modelo desplegado (O),
«el modelo resumió la consulta» el evento (O), y el modelo en su papel de redactor
del informe el agente (Q).
Por qué K necesita un eje propio
Hay una objeción legítima que cualquier ingeniero de bases de datos plantea al llegar
aquí: ¿para qué crear todo un eje nuevo? ¿Por qué no tratar las categorías como simples
cadenas de texto guardadas en una columna? Que el atributo sea estado_civil y
el valor sea la palabra "casado", y asunto resuelto.
A corto plazo, parece pragmático. A escala de arquitectura empresarial, es la receta perfecta para la fragmentación de datos. La objeción del texto plano no se sostiene por tres razones técnicas que se acumulan hasta colapsar los sistemas tradicionales.
Razón 1 · Las categorías tienen estructura interna
La palabra genero_drama no es solo una secuencia de letras. Es un nodo
semántico con una enorme riqueza de propiedades. Tiene equivalentes en otros idiomas
(drama, Drama). Tiene dependencias lógicas con otras categorías (el drama
es un tipo de género narrativo). Tiene contextos de aplicabilidad. Si guardamos
«drama» como un simple string en una tabla SQL, toda esa estructura queda
inaccesible para el motor: la palabra está «ciega». En cambio, si la tratamos como un
individuo con derechos propios dentro de K, esa categoría puede tener sus propios hechos
conectados:
(genero_drama, etiqueta_en, "drama") ∈ M(K, K)
(genero_drama, subtipo_de, genero_narrativo) ∈ M(K, K)
(genero_drama, contrasta_con, genero_comedia) ∈ M(K, K)
(genero_drama, uri_canonica, "schema:DramaSeries") ∈ M(K, K)
Visto así, K no es un archivo plano: es una red de conceptos interconectados (exactamente la red que dibujamos en la Figura 3.1). Los individuos de K son ciudadanos de primera clase del modelo. Esta capacidad de vincular conceptos entre sí será la clave cuando analicemos cómo WQuestions se integra con los diccionarios de otras industrias.
Razón 2 · El vocabulario serio exige autoridad externa
Las categorías de alto nivel que usan hospitales, bancos o gobiernos no se inventan en una lluvia de ideas de programadores; provienen de autoridades internacionales que las publican con identificadores únicos, los URI. QUDT regula las unidades; Schema.org(30) da los estándares del comercio web; SNOMED dicta los códigos médicos; la ICAO define las siglas de los aeropuertos. Tratar una de estas categorías como texto ignora por completo su peso legal e internacional. Al registrarla como individuo formal en K, podemos anexarle su URI canónica como atributo permanente:
(qudt_miliseg, uri_canonica, "http://qudt.org/vocab/unit/MilliSEC") ∈ M(K, K)
(snomed_infarto, uri_canonica, "http://snomed.info/id/22298006") ∈ M(K, K)
(cie10_I21, uri_canonica, "http://id.who.int/icd/release/10/2019/I21") ∈ M(K, K)
El caso del CIE-10 (la Clasificación Internacional de Enfermedades
en su décima edición, publicada por la Organización Mundial de la Salud) es el más nítido.
Cuando un médico anota el código I21 no escribe una palabra cualquiera: apunta
a una entrada formal, internacional y traducida a decenas de idiomas, que significa «infarto
agudo de miocardio». Si tu sistema guarda el diagnóstico como el texto libre «infarto»,
pierdes esa conexión: un hospital alemán escribirá «Herzinfarkt», uno brasileño «infarto do
miocárdio», y nadie podrá cruzar datos. En cambio, si el sistema guarda la categoría como un
individuo de K con su URI del CIE-10 anexada, todos los hospitales del mundo hablan el mismo
idioma sin esfuerzo. La estadística global de salud, los estudios epidemiológicos, las
alertas sanitarias internacionales: todo descansa sobre este mecanismo.
Razón 3 · Las consultas sobre categorías son el corazón del sistema
Las preguntas de negocio más valiosas siempre cruzan información categórica. Un analista no
pide buscar un identificador concreto; pide «todos los largometrajes de género drama
estrenados después de 2024», o «todas las sesiones del modelo Lumen con modo de
entrega streaming y más de mil tokens de salida».
Si las categorías estuvieran guardadas como texto libre, estas búsquedas serían un campo minado: un usuario escribió «Drama», otro «drama», otro «Dram.». Al convertir las categorías en nodos estructurados de K, las consultas dejan de depender de la ortografía y pasan a depender de la matemática relacional. Se vuelven exactas, predecibles y combinables.
Dos relaciones canónicas: instancia_de y subtipo_de
Para que esta red de conceptos funcione y sea navegable, hay dos relaciones fundacionales que organizan la estructura interna de K. Es vital entender cómo operan.
La primera es instancia_de. Como adelantamos, es la relación
de uso más intensivo en todo el modelo. Su trabajo exclusivo es actuar como puente, atando
los individuos del mundo físico (los pilares) con sus definiciones conceptuales (el eje K).
Y un punto crucial: un individuo puede ser instancia de varios conceptos a la vez.
(messi, instancia_de, jugador_de_futbol) ∈ M(Q, K)
(messi, instancia_de, capitan_de_seleccion) ∈ M(Q, K)
(messi, instancia_de, persona_humana) ∈ M(Q, K)
(messi, instancia_de, jugador_en_activo) ∈ M(Q, K)
Estas cuatro asignaciones no compiten ni generan errores lógicos: coexisten en paralelo. Si
el motor recibe una consulta filtrando por cualquiera de esas categorías,
messi aparecerá como resultado válido.
La segunda relación es subtipo_de. A diferencia de la
anterior, este conector nunca sale de las fronteras de K. Se usa en exclusiva para
enlazar categorías entre sí, creando jerarquías y árboles de conocimiento (taxonomías):
(jugador_de_futbol, subtipo_de, atleta_profesional) ∈ M(K, K)
(atleta_profesional, subtipo_de, persona_humana) ∈ M(K, K)
(modelo_de_lenguaje, subtipo_de, modelo_de_aprendizaje_automatico) ∈ M(K, K)
(modelo_transformer, subtipo_de, modelo_de_lenguaje) ∈ M(K, K)
¿Por qué importa tanto a nivel tecnológico? Porque cuando declaras bien las reglas
instancia_de y subtipo_de, le otorgas al sistema la capacidad de
realizar inferencias transitivas. Si la máquina sabe que Messi es un
jugador_de_futbol, y por otro lado sabe que todo jugador es un
atleta_profesional, deduce sola que Messi es un atleta profesional. A esa
habilidad se la conoce como cierre transitivo (transitive closure).
Es el mecanismo de razonamiento más simple que existe, pero es el superpoder que evita que
los programadores codifiquen a mano miles de reglas lógicas.
Una taxonomía bien declarada es razonamiento gratis: el sistema deduce lo que nunca le dijiste, solo porque supo encadenar «es un».El cierre transitivo, en una frase
Lo que ya se intentó: tres puertas, ningún piso
Antes de ver cómo K aloja las ontologías del mundo, conviene entender por qué nadie lo había resuelto antes. No fue por falta de intentos: la industria abrió tres grandes puertas, y cada una se quedó a un paso.
Precedente · La primera puerta: las 5W1H como extracción
A fines del siglo XX, varios investigadores vieron las seis preguntas periodísticas como una herramienta para extraer datos de texto: un programa lee una noticia y acomoda las respuestas en casilleros (quién: el alcalde; qué: promulgó una ordenanza; cuándo: ayer). El resultado luce ordenado, pero estalla apenas se intenta almacenarlo y cruzarlo: para la máquina, «el alcalde» y «el titular del municipio» son dos cadenas distintas. Sin una capa de tipos ni un vocabulario canónico, las 5W1H son un buen checklist para no olvidar nada, pero no una arquitectura: les faltan justo las dos piezas que este capítulo introduce —una estructura de tipos (K) y un vocabulario oficial.
Precedente · La segunda puerta: la web semántica
En 2001, Tim Berners-Lee(31) propuso la Web Semántica, con RDF(8) como
pieza maestra: toda la información reducida a tripletas sujeto–predicado–objeto.
La idea es de una elegancia impecable y sostiene proyectos titánicos como Wikidata(32) y DBpedia(33). Pero RDF resolvió
la sintaxis y dejó libre la semántica: un sistema escribe
(serra, dirigio, pelicula_marea), otro (serra, directora_de, …),
un tercero (serra, realizo, …) —las tres correctas, las tres incompatibles—.
Sin un diccionario mínimo común, la diversidad de lenguajes simplemente se mudó a otra
capa.
Precedente · La tercera puerta: las ontologías de dominio
Ante ese caos, el tercer enfoque eligió el control estricto: reunir a
los expertos de cada industria y publicar un vocabulario oficial y obligatorio. Así
nacieron obras de arte de la ingeniería como CIDOC CRM(4) (patrimonio), Biolink(5) (biomedicina), HL7 FHIR(6) (historias clínicas) y Schema.org (web comercial). Cada una es excelente dentro de su
perímetro. El problema asoma apenas hay que vincular profundamente ramas
distintas: la película con la biografía de su directora (Person) y el lugar
de rodaje (Place). Las ontologías crean los nodos, pero no estandarizan los
cables entre ellos, y atarlos vuelve a recaer en código manual. Peor: como cada una se
construyó aislada, todas tuvieron que modelar desde cero lo universal. Para decir «una
persona», los museos usan E21_Person, la genética biolink:Agent,
el comercio Person y las clínicas Patient: cuatro etiquetas
incompatibles para un mismo ser humano físico.
A estas tres puertas se sumaron dos variantes que chocaron con el mismo muro: los estándares de intercambio (FHIR, EDI(20), ISO 20022(21)), que funcionan como un servicio de mensajería (traducen para el transporte, no unifican); y la canonicalización a posteriori (OpenIE(23), sistemas de limpieza de datos), que intenta reconciliar el caos después de que ocurrió, con un costo computacional que se vuelve inmanejable al cruzar decenas de sistemas.
El balance, llevado a cuatro dominios concretos, es elocuente:
| Dominio | 1 · 5W1H (heurística) | 2 · RDF / Web Semántica (libre conexión) | 3 · Ontología de dominio (diccionario estricto) |
|---|---|---|---|
| 👕 La camiseta | Insuficiente: no entiende talla, color ni monto exacto de la venta. | Factible, si los programadores no usan verbos distintos para «vender» o «despachar». | Schema.org modela el producto, pero cuesta cruzarlo con datos del vendedor o de la tienda. |
| ⚽ El gol | Útil para la crónica deportiva, inútil para armar estadística del partido. | Posible vía Wikidata, aunque los términos para describir la jugada varían entre bases. | Existe SportsEvent, pero no llega al detalle de con qué pierna se
ejecutó el remate. |
| 🎬 La película | Sirve para una nota sobre la película, no para modelar la obra. | Soportable, pero los vocabularios de cada base de cine chocan entre sí. | Modelos robustos en la industria, pero operan como burbujas difíciles de integrar. |
| 🏛️ La ordenanza | Excelente: el dominio exacto para el que nació el modelo. | Funcional, pero sin acuerdo sobre cómo nombrar «promulgar» o «derogar», las búsquedas se arruinan. | Legislation estructura el contenedor, pero no entiende qué dice
adentro. |
El patrón de las fallas es nítido. Todas levantaron techos espléndidos; ninguna construyó el piso. Y un piso es justo lo que aporta el eje K: una capa fundacional, por debajo de todos los vocabularios, lo bastante sutil para no estorbar la jerga de médicos o arquitectos y lo bastante firme como para que la información fluya sin traductores. Las preguntas cognitivas (que el capítulo 1 postuló como universales y que el capítulo 6 fundamentará en detalle) son ese piso. Veamos, entonces, cómo K abraza las ontologías existentes en lugar de competir con ellas.
K como zócalo para las ontologías existentes
Quizá la promesa de mayor impacto industrial del eje K es que no obliga a ninguna empresa a reinventar su terminología. Los diccionarios masivos que ya rigen en el mundo (Schema.org, QUDT, SNOMED, CIDOC CRM, Biolink) se mapean dentro de K como subconjuntos de datos, manteniendo intactas sus relaciones internas. WQuestions no llega a competir con estas herramientas ni a reemplazarlas: su objetivo explícito es abrazarlas.
Esta integración pacífica ocurre en tres niveles técnicos.
1 Importar URIs canónicas
En vez de transcribir un diccionario entero, el sistema aloja los conceptos esenciales y ancla a cada uno su URI internacional como validador de identidad.
2 Mapear dialectos locales
Cada organización define alias que apuntan al término oficial. La jerga interna sigue viva, pero por debajo todo señala al concepto canónico.
3 Federar equivalencias
Cuando dos autoridades describen lo mismo con URIs distintas, K declara una equivalencia explícita y se vuelve la red de traducción entre ellas.
Nivel 1 · Importar URIs canónicas
En lugar de copiar un diccionario completo, el sistema aloja los conceptos que necesita y ancla a cada uno su URI internacional:
{
"concepto": "infarto_agudo_de_miocardio",
"eje": "K",
"uri_snomed": "http://snomed.info/id/22298006",
"uri_icd10": "I21",
"etiqueta_es": "infarto agudo de miocardio",
"etiqueta_en": "acute myocardial infarction"
}
El beneficio es inmediato: cuando el software de un laboratorio y el de un hospital referencian la misma URI, la sincronización de los historiales es perfecta, por más que una base esté en español y la otra en inglés.
Nivel 2 · Mapear el vocabulario de dominio
En la práctica, las empresas se resisten a usar términos canónicos largos o formales: prefieren su jerga. K lo resuelve permitiendo que cada organización defina alias que apunten al término oficial. Si en una clínica los médicos registran la enfermedad con las siglas «IAM», el sistema lo mapea así:
(iam_clinica_norte, alias_de, infarto_agudo_de_miocardio) ∈ M(K, K)
Con esa única instrucción, todas las búsquedas que el médico haga tecleando «IAM» apuntarán limpiamente al concepto global de SNOMED. Conviene adelantar que este principio sentará una decisión de diseño de fondo (D9, que veremos en los capítulos de lingüística computacional): la idea rectora de que el usuario final nunca debe verse obligado a tocar etiquetas canónicas. El usuario emplea su vocabulario natural; la capa estructural se encarga de la traducción matemática. K es la maquinaria que lo hace posible.
Nivel 3 · Federar conceptos equivalentes
El caos semántico alcanza su punto máximo cuando dos entidades internacionales describen exactamente la misma enfermedad pero publican URIs distintas. K resuelve el conflicto permitiendo declarar una equivalencia explícita:
(snomed_infarto, equivalente_a, icd10_I21) ∈ M(K, K)
Con el tiempo, a medida que el sistema se alimenta, K se transforma orgánicamente en una red maestra de equivalencias entre normas heterogéneas. Actúa como el puente de traducción universal que las ontologías de dominio nunca lograron —o nunca quisieron— construir entre ellas.
El enchufe: las ontologías ponen los nodos; WQuestions, los cables
El mecanismo no se limita a K. Una entidad de cualquier ontología externa se enchufa
en el eje que le corresponde por naturaleza —una persona de CIDOC CRM (E21_Person)
en Q, un evento de Schema.org en O, un lugar de GeoNames en L— conservando su URI canónica
como ancla de identidad. Lo que ninguna de esas ontologías sabe hacer por sí sola (el
problema que diseccionamos en «Tres puertas, ningún piso») es vincular profundamente
nodos de catálogos distintos. Ahí entra WQuestions: las ontologías aportan los
nodos; el eje M aporta los cables que cruzan de una a
otra.
Cuatro dominios, cuatro vistas de K
Para terminar de materializar la función del eje categórico, resulta ilustrativo ver qué información específica almacena K en distintos sectores. Recorramos nuestros cuatro ejemplos y añadamos el entorno de la inteligencia artificial como caso de estudio.
👕 La camiseta. En K guardaríamos los tipos de prenda (camiseta,
pantalon, chaqueta), los tipos de camiseta
(camiseta_deportiva, camiseta_casual), las tallas
(talla_s, talla_m, talla_l) y los colores. Buena
parte de estos identificadores existe en Schema.org; el léxico de tejidos o materiales
suele importarse de Wikidata.
⚽ El gol. El eje alojaría las taxonomías de los tipos de gol
(gol_jugada_abierta, gol_tiro_libre, gol_penal,
gol_en_contra), las partes del cuerpo utilizadas (pierna_derecha,
pierna_izquierda, cabeza) y las zonificaciones del campo
(area_grande, fuera_del_area). Parte emana de la FIFA; el resto
es jerga analítica de las empresas de estadística deportiva.
🎬 El cine. Aquí vivirían los géneros (genero_drama,
genero_comedia, genero_documental), los formatos
(largometraje, cortometraje, serie) y los roles de
autoría (rol_direccion, rol_guion, rol_fotografia).
Schema.org y bases especializadas de cine aportan catálogos maduros, consumibles vía
API.
🏛️ La ordenanza. K clasificaría la jerarquía institucional
(municipalidad, gerencia, concejo), la tipología de
actos administrativos (ordenanza_municipal, decreto_de_alcaldia,
resolucion) y la escala de jurisdicciones (nivel_nacional,
nivel_regional, nivel_municipal).
🤖 La llamada a un modelo de lenguaje. K ordenaría las arquitecturas subyacentes
(transformer, mamba, mixture_of_experts), las
familias comerciales, los tipos de tarea que pide el usuario (resumir,
clasificar, traducir, generar_codigo) y la modalidad
de entrega (sincrono, streaming, batch). Es un
dominio fascinante porque su vocabulario está en plena expansión: cada laboratorio inventa
sus propios términos comerciales, y K ofrece el sustrato donde todas esas convenciones
podrán converger a medida que la industria madure.
D1 · La plantilla y la instancia
Para blindar la consistencia de la base de datos existe una regla estricta que gobierna la frontera entre el eje abstracto K y los ejes del mundo físico (en particular el eje O). Es un principio que se respeta sin excepciones y, además, es la primera decisión de diseño que el libro registra formalmente.
D1 La plantilla y la instancia
En el eje K habitan exclusivamente los conceptos atemporales y categóricos (las plantillas). En el eje O (y en el resto de los pilares) habitan las entidades creadas, situadas geográficamente e instanciadas (los objetos derivados).
La pregunta operativa que un desarrollador debe hacerse ante cualquier dato nuevo es directa: ¿este individuo tiene una fecha de creación concreta, una historia propia o una ubicación geográfica comprobable? Si la respuesta es sí, su lugar es el eje O. Si carece de esas coordenadas, pertenece a K.
Observemos la diferencia en la práctica:
K (la plantilla atemporal) frente a O (la instancia situada)
Pertenece a K
- El modelo de camiseta deportiva: una plantilla de producto replicable. No caduca ni tiene ubicación física.
- El concepto de «modelo de lenguaje de arquitectura transformer»: teoría informática pura.
Pertenece a O
- La camiseta que el vendedor despachó el 14 de mayo: se vendió a las 16:32, por 49,90 dólares, en la tienda del centro.
- La versión ejecutable Lumen-2026-05, lanzada el 14 de mayo: tiene fecha, consume energía, corre en servidores.
Esta dualidad produce un patrón arquitectónico muy robusto: existe siempre una
plantilla teórica anclada en K, a partir de la cual se genera una
instancia concreta en O, unidas por el cordón umbilical de
instancia_de. El modelo de camiseta que diseña una marca vive abstractamente
como tipo; pero cada vez que un vendedor despacha una unidad, el sistema crea un nuevo
evento-instancia, con sus propios atributos: qué talla y color se vendió, a qué cliente, el
horario exacto de la venta.
# La plantilla teórica (atemporal) — vive en K
(camiseta) ∈ K
tipo_camiseta : camiseta_deportiva
talla_base : talla_m
color_base : azul
# El evento instanciado (situado) — vive en O
(venta_001) ∈ O
instancia_de : venta
objeto : camiseta_88
agente : vendedor_17
cliente : cliente_1042
monto : 49.90 dolar
cuando : 2026-05-14T16:32:00
Esa danza constante entre la plantilla atemporal de K y la ocurrencia situada de O es uno de los patrones de modelado más poderosos en aplicaciones comerciales a gran escala. Lo veremos reaparecer una y otra vez cuando lleguemos a los casos prácticos de la Parte V.
Trampa de programación: la categoría guardada como texto
El atajo que envenena la base
El atajo de todos los días: estado = "promulgada",
pierna = "zurda", guardados como texto libre en una columna. Parece
inofensivo hasta que el sistema crece: un operador escribe "Zurda", otro
"zurda " con un espacio, un tercero "left foot", y la
consulta «dame todos los goles de zurda» devuelve la mitad. No hay validación, no hay
traducción, y no hay forma de saber que "IAM" e
"infarto agudo de miocardio" son lo mismo. La categoría, tratada como
string, pierde su identidad.
El eje K lo corrige tratando cada categoría como un
individuo formal con su URI canónica: pierna_zurda es un
nodo único, no una cadena de caracteres. Las búsquedas son exactas, los alias
("zurda", "izquierda") apuntan al mismo concepto, los idiomas
conviven, y los diccionarios internacionales se enchufan sin reescribir nada. Un valor de
una lista cerrada nunca debería ser texto libre: debería ser un punto en K.
Resumen del capítulo
El eje K opera como el segundo gran zócalo fundacional de la arquitectura, el complemento abstracto de los pilares físicos (Q, O, L, T). Hemos establecido que:
- Aloja tipos conceptuales, unidades de medida, estados enumerativos y nomenclaturas oficiales (las cuatro familias).
- Posee una rica estructura interna: los conceptos se vinculan entre sí generando redes semánticas, no listas planas.
- Proporciona el terreno donde aterrizan las ontologías industriales existentes (Schema.org, QUDT, SNOMED, CIDOC CRM, Biolink), importando su rigor sin exigir que el usuario final hable en código.
- Dota al sistema de inteligencia habilitando la inferencia transitiva
mediante el uso cruzado de
instancia_deysubtipo_de. - Garantiza el orden con la regla fronteriza D1, que separa la plantilla atemporal de la instancia situada.
Con la formalización de K, el universo de individuos que el sistema puede modelar está casi mapeado. Las cajas de Q, O, L, T y K forman el grupo de cinco ejes encargados de dar hogar a todas las cosas materiales del mundo y a todas sus categorías teóricas.
Pero para cuantificar la realidad de forma matemática queda un último eje fundamental en este bloque: N, el de las magnitudes y los números. Y ese eje esconde más complejidad de la que aparenta, porque rige una regla física inviolable del diseño de datos serios: un número desnudo no significa nada; todo número válido viene acoplado a una unidad de medida. El único lugar donde pueden habitar las unidades es el zócalo categórico de K. Por esa interdependencia arquitectónica, K tenía que presentarse con todo detalle antes de que nos atreviéramos a hablar de números. A ese eje dedicamos el capítulo siguiente.