La exportación CTDL: qué lleva y qué no
Este proyecto publica los programas de capacitación de California en CTDL, el vocabulario que mantiene Credential Engine para describir credenciales y oportunidades de aprendizaje. Esta página es el informe que la exportación hace de sí misma: qué clases y propiedades llena, qué dice el registro de origen que ella descarta, y qué encontró un validador aparte al revisar el resultado.
Una correspondencia solo vale algo si alguien puede comprobarla. Por eso las cifras de aquí las produce la exportación en el momento de ejecutarse, las omisiones se cuentan igual que la cobertura, y los hallazgos del validador se publican salgan como salgan.
Qué no es esto
- Nada de esto se ha publicado en el Credential Registry. Ni un envío, ni una prueba, nada. Los registros existen como archivos en este proyecto y en ningún otro lugar.
- Esto no está afiliado a Credential Engine ni cuenta con su respaldo o revisión. Ellos publican CTDL de forma abierta y este proyecto lo lee; ahí termina la relación.
- Los identificadores se derivan localmente y no los asigna el Registry. Un CTID real se emite cuando un recurso se publica en el Registry, y estos no lo están; las direcciones de los identificadores viven a propósito en el servidor de este proyecto y no en un dominio del registro.
- Es una demostración de disciplina en la correspondencia, no una publicación en producción. Existe para mostrar cómo una fuente pública se corresponde con un vocabulario público, y qué se pierde en el camino.
Nota: esta exportación describe la instantánea del 2026-08-07 y el resto del sitio está sirviendo ahora la del 2026-09-18. Las cifras de abajo describen la exportación, no las páginas que la rodean.
En esta página
Qué contiene la exportación
Una entidad por programa de capacitación, una por cada nombre distinto de institución tal como fue reportado, y un perfil de estadísticas por cada programa que reporta al menos un resultado. Un programa que no reportó nada no recibe perfil alguno: uno vacío se leería como «se midió, y salió vacío».
| Clase de CTDL | Entidades |
|---|---|
ceterms:LearningProgram | 3,266 |
ceterms:CredentialOrganization | 584 |
qdata:DataSetProfile | 2,057 |
Contado a partir de la exportación de la instantánea de datos del 2026-08-07, en el momento en que esa exportación se ejecutó.
Qué propiedades están llenas
Cada propiedad de abajo se emite solo donde la fuente afirmó algo. Un vacío es un vacío: sin relleno, sin ceros y sin nada deducido de un campo vecino. El orden es el propio de la exportación, no el de las mejor cubiertas primero.
| Propiedad | Programas que la llevan | Proporción |
|---|---|---|
ceterms:name | 3,266 | 100% |
ceterms:description | 3,266 | 100% |
ceterms:subjectWebpage | 1,654 | 51% |
ceterms:offeredBy | 3,266 | 100% |
ceterms:occupationType | 3,266 | 100% |
ceterms:estimatedCost | 3,265 | 100% |
qdata:relevantDataSet | 2,057 | 63% |
Contado a partir de la exportación de la instantánea de datos del 2026-08-07, en el momento en que esa exportación se ejecutó.
Qué medidas de resultados se proyectan
Cada medida reportada se convierte en una métrica y una observación dentro del perfil de estadísticas del programa. La proporción se calcula sobre los programas que tienen perfil, no sobre todos: una medida que falta porque el programa no reportó nada es un hecho distinto de una medida que falta en un programa que sí reportó otra cosa.
| Medida | Observaciones | De los programas con algún resultado |
|---|---|---|
| Ingresos medianos del segundo trimestre después de salir | 1,384 | 67% |
| Credenciales obtenidas | 1,800 | 88% |
| Con empleo dos trimestres después de salir (conteo) | 1,766 | 86% |
| Tasa de finalización | 2,047 | 100% |
| Tasa de empleo dos trimestres después de salir | 1,760 | 86% |
Contado a partir de la exportación de la instantánea de datos del 2026-08-07, en el momento en que esa exportación se ejecutó.
Qué no lleva la exportación
El registro de origen dice más de lo que esta exportación proyecta. Contar solo lo emitido describiría una proyección como si fuera el registro entero, así que los campos descartados también se cuentan, junto con el término de CTDL que habría podido llevar cada uno cuando ese término existe.
Donde se nombra un término de CTDL, el vocabulario tiene dónde poner ese dato y la exportación no lo usa. Eso es una carencia de la exportación, no un límite de CTDL, y se dice así en vez de dejar que quien lea lo deduzca de una ausencia.
| Qué dice la fuente | Programas que lo reportan | Término de CTDL que lo llevaría |
|---|---|---|
| El código CIP del campo de estudio | 3,266 | ceterms:instructionalProgramType |
| En línea, presencial o ambos | 3,266 | ceterms:learningDeliveryType |
| Cuánto dura el programa | 3,266 | ceterms:estimatedDuration |
| Dónde se imparte el programa | 3,266 | ceterms:availableAt |
| Qué tipo de institución es | 3,266 | ceterms:agentSectorType |
| Cuánto cuesta a quien recibe fondos de WIOA | 3,266 | ceterms:CostProfile with ceterms:directCostType |
| La proyección estatal a diez años de la ocupación | 3,250 | Ninguno en uso |
| Cuatro de las nueve medidas de resultados reportadas | 2,099 | qdata:Metric / qdata:Observation |
Contado a partir de la exportación de la instantánea de datos del 2026-08-07, en el momento en que esa exportación se ejecutó.
- El código CIP del campo de estudio. CTDL tiene una propiedad de programa instruccional que admite una correspondencia CIP, con la misma forma que esta exportación ya usa para el código SOC de la ocupación. El código CIP que reportó la fuente no se lleva.
- En línea, presencial o ambos. CTDL tiene una propiedad de modalidad, pero su valor debe ser un concepto de un vocabulario controlado que credreg.net publica como página web y no como datos. Esta exportación no emite ningún concepto que no pueda contrastar con datos legibles por máquina, así que la modalidad no se lleva.
- Cuánto dura el programa. CTDL tiene una propiedad para la duración estimada de una oportunidad de aprendizaje. La duración en semanas y horas de la fuente no se lleva, ni tampoco la marca de programa por competencias, que significa que el programa termina cuando la persona sabe hacer el trabajo y por diseño no tiene duración fija.
- Dónde se imparte el programa. CTDL tiene una propiedad para dónde está disponible una oportunidad de aprendizaje. Ni la ubicación del programa ni la región que este proyecto deriva de ella se llevan. Por una razón distinta, tampoco se pone dirección a la organización: la ubicación de un registro es la del programa, no necesariamente la de la institución.
- Qué tipo de institución es. La categoría de institución de la fuente no se corresponde con el vocabulario de sector de CTDL sin decisiones de criterio, y ese vocabulario se publica como página web y no como datos. La organización lleva el nombre que reportó la fuente y nada más.
- Cuánto cuesta a quien recibe fondos de WIOA. Ese es otro costo y otro pagador, y CTDL puede llevarlo como un segundo perfil de costo distinguido por un concepto de un vocabulario publicado como página web y no como datos. Solo se lleva el total de gasto de bolsillo.
- La proyección estatal a diez años de la ocupación. Esta exportación proyecta el registro federal de capacitación. Las proyecciones de California para la ocupación a la que lleva cada programa — salario mediano, vacantes previstas, crecimiento — se unen al programa en todo el resto de este sitio y aquí no se llevan. Describen una ocupación y no este programa, y colgarlas del programa afirmaría que el programa lleva a ese salario, cosa que la fuente no dice. El código de la ocupación sí se lleva, de modo que la correspondencia queda dicha y la proyección no.
- Cuatro de las nueve medidas de resultados reportadas. La fuente reporta nueve medidas de desempeño de WIOA y esta exportación proyecta cinco. El total de personas atendidas, el total que salió, el total que completó y el empleo en el cuarto trimestre tras la salida se reportan y no se llevan. La capa de estadísticas podría expresarlas exactamente igual que a las cinco que sí van.
Aparte, 1 programa(s) reportan un costo total que, por tener un componente suprimido, es un mínimo y no un precio. La propiedad de precio de CTDL no tiene forma de decir «al menos», así que para esos no se publica costo alguno en vez de publicar un mínimo como si fuera la tarifa.
Qué encontró un validador aparte
La exportación se revisa a sí misma, pero todas esas revisiones las escribió la misma mano que la exportación, sobre la misma lectura del mismo esquema, que es justo la lectura a la que un error sobreviviría. Por eso también pasa por ctdl-validate 0.1.0, una herramienta aparte con sus propias copias del esquema de Credential Engine y una cita para cada regla que aplica. Tiene la misma autora que este sitio, así que es una segunda lectura del esquema y no una revisión externa. No hace ninguna petición de red ni envía nada a ningún sitio.
Se revisaron 5,907 entidades.
| Gravedad | Hallazgos |
|---|---|
| Error (bloqueante) | 0 |
| Advertencia | 5,907 |
| Información | 0 |
| No verificable | 0 |
Contado a partir de la exportación de la instantánea de datos del 2026-08-07, en el momento en que esa exportación se ejecutó.
Ningún error, y una advertencia en todas las entidades del grafo. La advertencia es la tensión que esta exportación ya tenía anotada: la gramática publicada dice que un identificador es un UUID aleatorio, y una exportación que debe producir los mismos identificadores cada vez no puede usar uno aleatorio. No salió nada más: ninguna propiedad usada en una clase que no la declara, ninguna referencia que apunte a la nada, ninguna relación afirmada en un sentido y contradicha en el otro, ningún término inventado.
| Hallazgo | Gravedad | Veces | Entidades | Estado |
|---|---|---|---|---|
CTID_NOT_UUIDV4 | Advertencia | 5,907 | 5,907 | Aceptado, con motivo |
Contado a partir de la exportación de la instantánea de datos del 2026-08-07, en el momento en que esa exportación se ejecutó.
Un hallazgo aceptado es una decisión anotada, no un filtro: sigue contado aquí y en la declaración legible por máquina. Cualquier hallazgo cuyo código no se haya razonado hace fallar la exportación en vez de aparecer discretamente entre los demás.
Qué pudo y qué no pudo juzgar el validador
Un resultado limpio alcanza solo hasta donde llega el vocabulario que tiene quien revisa. Este basa sus comprobaciones estructurales en los documentos de esquema centrales que lleva consigo, así que estuvo en condiciones de juzgar 4 de las 7 clases y 17 de las 24 propiedades que emite esta exportación.
El resto es la capa de estadísticas de resultados, que publica su propio documento de esquema que el validador no lleva, más una propiedad de moneda. Un término del que quien revisa nunca ha oído hablar es uno que se abstiene de juzgar, no uno que aprueba.
- Clases no juzgadas
qdata:DataSetProfile, qdata:Metric, qdata:Observation- Propiedades no juzgadas
qdata:hasMetric, qdata:hasObservation, qdata:isObservationOf, qdata:median, qdata:metricType, qdata:relevantDataSetFor, schema:currency
Esos términos los revisó la propia exportación contra el esquema de estadísticas, obtenido y anotado en la procedencia de este proyecto. Esa es una garantía más débil que una opinión de fuera, y así se dice.
En qué se apoya cada correspondencia
Cada clase y cada propiedad de aquí se eligió contra una definición publicada y no de memoria, y la exportación se niega, al construirse, a emitir un término que el vocabulario no defina. Estas son las definiciones primarias, no resúmenes de ellas.
Credential Engine las publica solo en inglés, por lo que aquí van marcadas como inglés.
- ceterms:LearningProgram — "Set of learning opportunities that leads to an outcome, usually a credential like a degree or certificate". Every record here is a state-listed training program; ceterms:Course is for a single structured sequence, which the source does not distinguish, so it is never used
- ceterms:offeredBy — "Agent that offers the resource". Chosen over ceterms:ownedBy, whose definition is an enforceable claim or legal title: the training list asserts that a provider offers a program and says nothing about title
- ceterms:occupationType — a credential alignment whose usage note names SOC among the expected frameworks. The alignment carries the code the source filed, and a title only where this dataset matched that exact code
- ceterms:estimatedCost — a cost profile with a price and a currency. Emitted only where the source total is complete, because a total with a suppressed component is a floor and the price property cannot say "at least"
- qdata:relevantDataSet — "Data Set on which earnings or employment data is based", which names ceterms:LearningProgram in its own domain rather than relying on a subclass relation
- qdata:Metric and qdata:Observation — what is being measured, and the value observed for it. Counts carry a value, earnings carry a median with a currency, and rates carry a percentage, which is why the source's 0–1 fractions are multiplied by 100
- About the CTID — "Each CTID is made up of a standard UUID v4 prefixed with ce-". This export uses a v5 so that re-exporting the same data reproduces the same identifiers, which is the one thing a v4 cannot do, and publishes the warning that results
- Schema-Development issue #1080, filed from this project: ceterms:aggregateData did not list ceterms:LearningProgram. The maintainers' answer settled the design — the Registry no longer accepts aggregateData for publishing, and the supported pattern is the data-set profile this export now uses
Leer la exportación, con el motivo anotado junto a cada correspondencia →
Cómo obtener la exportación y cómo reconstruirla
El grafo son unos 17 MB de JSON-LD: demasiado grande para versionarlo y demasiado propio de una instantánea concreta como para servirlo como si fuera actual. Se construye a demanda y se empaqueta con una suma de verificación, y las dos declaraciones que esta página muestra se publican junto a él.
Las declaraciones con las que se arma esta página, tal como se publican:
- Declaración de cobertura (qué se lleva y qué no)
- Declaración de validación (qué encontró el validador)
Para reconstruir el grafo desde el origen: clone el repositorio, ejecute la canalización que descarga los datos públicos federales y estatales, y luego ejecute la exportación y la validación. Ambas son un solo comando y ambas son deterministas: la misma instantánea produce siempre una salida idéntica byte a byte, así que una reconstrucción se puede comparar directamente con una publicada.
Las exportaciones empaquetadas se publican como releases: https://github.com/ChelseaKR/afterward/releases
Leer el archivo de procedencia →
Correcciones
Si alguna correspondencia de aquí está mal, o una propiedad se usa de un modo que el esquema no pretende, eso merece un reporte. Esto es una demostración y su razón de ser es poder comprobarse; una corrección de alguien que trabaja con este vocabulario es lo más útil que esta página podría producir.
Abrir un reporte sobre una cifra de este sitio →
Qué tan completos están los datos de resultados de la capacitación en California →