Open research, August 2026
The identifiers underneath American academic standards are all dead, and the redirect still works
We dereferenced 67,141 Achievement Standards Network identifiers, the names that American K-12 academic standards were published under and that learning-resource metadata across the open education web still carries. Every single one returns 404. The vocabulary that describes them still resolves, cheerfully, from a static object store, so a system checking whether the scheme is alive gets a reassuring answer. Alongside that census we measured what the surviving standards can actually reject, and built the open ontology that records identifier resolvability as data rather than assuming it. This page explains what we found, how, and what it means if you align content to standards for a living.
The short version
- The census: 67,141 ASN identifiers dereferenced across three populations, two of them complete censuses rather than samples. Zero resolve. Every one returns HTTP 404.
- The irony that makes it a governance finding:
purl.org/ASN/schema/core/returns 200 and serves real RDF/XML. The vocabulary outlived the identifiers it describes. - The reach: 1EdTech, the body behind CASE, the specification that succeeded ASN, ships a QTI v3 example package whose curriculum references are dead ASN URIs. So do DCMI's own published LRMI examples.
- The measurement: given six specific mis-statements, the CEDS Ontology v14 detects none, five of them being inexpressible in it at all. The abandoned ASN schema, 524 times smaller, detects one.
- The artefact: an open OWL 2 ontology, SKOS identifier-scheme registry and three-layer SHACL suite, in which an identifier is a node carrying its observed HTTP status and an alignment carries its own falsifiability grade. CC BY 4.0 and MIT.
- The evidence base: 1,931,913 standard statements across 23,700 sets and 771 jurisdictions, joined into a 21,404,069 triple graph.
What ASN was, and why its death is not just a dead website
The Achievement Standards Network was the linked-data identifier layer for American academic standards. It minted a persistent, dereferenceable URI for every standards document and every individual standard statement, and it was the scheme the Learning Resource Metadata Initiative was designed around. When LRMI defined educationalAlignment, and when that pattern went into schema.org and from there into the metadata of open educational resources everywhere, the thing on the other end of the alignment was an ASN URI.
That means ASN identifiers are not confined to one dead service. They are sitting inside learning-object records, repository indexes, publisher catalogues and alignment tables built over fifteen years. A search of public code alone finds 44,084 distinct ASN identifiers across 52 repositories, cited 57,769 times: the Learning Registry, inBloom's tagging application, NCAR's digital library stack, the T3 Innovation Network's schema mapper, the CASS competency system, and DCMI's own worked examples of how to do this correctly.
The sharpest instance is 1EdTech. The organisation that publishes CASE, the specification the sector migrated to precisely because ASN was fading, ships a QTI version 3 example package whose curriculum-standard references are ASN URIs. All nine of them are dead. That is not a criticism of 1EdTech specifically; it is evidence of how deep the dependency runs, that even the successor's reference material still points at the predecessor.
We measured three populations. Identifiers still cited in public code: all 44,084 dereferenced, a complete census. Standards-document identifiers carried by the live standards corpus: all 3,057, a complete census. Statement identifiers in that corpus: a random sample of 20,000 drawn from 770,861, which at zero successes puts the 95 per cent upper bound on the resolving proportion below 0.02 per cent. A full census of the third population would have taken about eleven hours at a polite request rate, and sampling is stated rather than hidden.
The result in all three: nothing resolves. Not degraded, not slow, not partially migrated. The canonical form http://purl.org/ASN/resources/{id} redirects faithfully to the origin host and the origin host returns 404. Meanwhile http://purl.org/ASN/schema/core/ returns 200 with valid RDF/XML, served from an Amazon S3 bucket, and the education-level scheme still resolves too. Someone kept the vocabulary alive. Nobody kept the data.
This is the failure mode that persistent identifier schemes are supposed to prevent, arriving through the mechanism that was supposed to prevent it. A PURL is an indirection layer whose whole purpose is to outlive the hosting arrangement behind it. Here the indirection layer works perfectly and forwards every request to a 404, which is worse than an outage, because an outage is visible and this is not.
One standard, all the way down
Take AP Microeconomics learning objective POL-5.B, "Explain sources of income and wealth inequality." It is current, published by the College Board in the 2022 course and exam description, and in force. In the standards corpus it carries three names: a Common Standards Project identifier, the human coding scheme POL-5.B that a teacher would recognise, and the ASN identifier S21370147.
Only one of those is a globally unique, dereferenceable name, and it returns 404. The human coding scheme is not unique outside its own document, so any system joining two frameworks on it is joining on a label. The record also carries a rights holder, D2L Corporation, and a licence title of null, so the statement cannot be lawfully redistributed by anyone relying on the published metadata. Nothing in the source data flags any of this. The identifier is simply printed, and everything downstream assumes.
What the surviving standards can actually reject
An ontology earns its keep by ruling things out. If nothing you can write is inconsistent with it, it is a glossary. So we asked a mechanical question of each published artefact: given a specific wrong statement, does it notice?
Six mis-statements, each translated into the artefact's own vocabulary, each counted as detected only when an axiom actually present in that artefact is violated. Where an artefact has no term for what the mutation says, the result is recorded as inexpressible rather than as undetected, because an artefact cannot be blamed for failing to reject a sentence it cannot form. The Learning Standards Ontology detects six of six. The ASN schema detects one. The CEDS Ontology v14 detects none, and five of the six are inexpressible in it.
Underneath that sits an axiom census. CEDS v14 is 243,601 triples and carries 24 axioms of the kinds that let data contradict a model: domains, ranges, disjointness, cardinality, functionality. Six of those 24 are ranges on CEDS's own annotation properties such as textFormat and maxLength, and the other 18 are universal restrictions. Across all 2,336 of its domain properties it declares zero rdfs:domain, zero disjointness, and zero cardinality constraints. The ASN schema is 465 triples, has been unmaintained for years, and carries 121.
Two further results from the same parse. CEDS v14 declares zero owl:ObjectProperty, while the repository README states that the ontology provides "definitions and meaning about those relationships through Object Properties". The relationships are there, as 2,336 bare rdf:Property terms annotated with schema.org's domainIncludes and rangeIncludes, which schema.org defines as indicative rather than constraining. They are documentation, not logic. And 965 CEDS terms are typed as both an owl:Class and a skos:ConceptScheme, conflating a set of individuals with a container of concepts, while its 19,546 concepts carry zero skos:broader relations, so genuinely hierarchical vocabularies inside it, including 1,753 SCED course codes and 7,916 ISO 639-3 language codes, ship as flat lists.
None of this is a verdict on the people who built these things. CEDS calls its ontology a draft, maintains it actively, licenses it Apache-2.0, and runs a SHACL and JSON-LD workstream with NCES precisely because the shipped artefact does not constrain. The measurement says how large the gap currently is, which is the useful thing to know if you are about to validate a pipeline against it.
One correction, stated because it moved a number against us. Our first checker read multiple rdfs:range declarations conjunctively, which is what RDFS actually says. Under that reading ASN appeared to detect three mutations. It was not detecting them: asn:isChildOf declares two ranges plainly meaning "either", and the strict reading makes every ordinary ASN parent link violate its own schema. We switched to the charitable disjunctive reading, ASN's score fell from three to one, and the strict-reading defect is now reported separately as ten ASN properties declaring more than one domain or range. The lower number is the honest one.
The corpus fails in both directions at once
Identifier systems fail in two opposite ways, and this corpus does both simultaneously.
One name, several things. 433 ASN identifiers are attached to statements whose text is materially different. The clearest case we verified by hand against the live API: S100EC5D is attached to five statement records inside one document, Arizona's Academic Content Standards for Science. Four of them read "Design and conduct controlled investigations." The fifth reads "State that respiration involves the action of enzymes in cells."
One thing, many names. "Demonstrate command of the conventions of standard English capitalization, punctuation, and spelling" appears verbatim under 718 distinct ASN identifiers. Nothing in the published data says those are the same expectation. A system asked whether two states teach the same thing has to decide by comparing strings, which is exactly the problem the identifier layer existed to solve.
And the alignment layer that should adjudicate is mostly not alignment. In the live Georgia CASE package we examined, 2,453 of 2,483 associations, 98.8 per cent, are isChildOf: document structure, a table of contents. There are 30 isRelatedTo and zero cross-framework associations of any kind. isRelatedTo is itself worth naming, because no observation counts against it. It is the most common cross-framework predicate in practice and it is unfalsifiable, and a claim that cannot fail cannot inform a decision.
Ten findings, and what each one costs
| Finding | Number | Class | Operational consequence |
|---|---|---|---|
| ASN identifiers dereferenced across three populations: every one still cited in public code, every standards-document identifier in the live corpus, and a random sample of statement identifiers | 0 of 67,141 resolve | defect | Every learning-resource record, alignment table and metadata store that persisted an ASN URI now holds a name that dereferences to nothing. The redirect still works, which is why nobody noticed. |
| The ASN schema document itself, which describes those identifiers, served from a static object store | HTTP 200, valid RDF/XML | signal | The vocabulary outlived the data. A consumer checking whether ASN is alive by fetching its namespace gets a reassuring answer and a false one. |
| Object properties and domain declarations in the CEDS Ontology v14, the US Department of Education artefact, across its 2,336 properties | 0 owl:ObjectProperty, 0 rdfs:domain | gap | Relationships are documented but carry no logical force, so no assertion made in CEDS terms can contradict CEDS. Its own README describes object properties it does not declare. |
| Terms in CEDS v14 typed as both an owl:Class and a skos:ConceptScheme, conflating a set of individuals with a container of concepts | 965 | defect | No reasoner can distinguish an instance from a member. Its 19,546 concepts also carry zero broader or narrower relations, so hierarchical vocabularies inside it ship as flat lists. |
| Mis-statements detected out of six, each translated into the artefact’s own vocabulary: LSO, then the abandoned ASN schema, then the maintained federal ontology | 6, then 1, then 0 | defect | Five of the six are inexpressible in CEDS at all. A 465-triple abandoned vocabulary constrains more than a 243,601-triple maintained one. |
| ASN identifiers attached to statements whose text is materially different: one globally unique name, two different standards | 433 | defect | Any system joining on the identifier merges unrelated expectations. One case attaches four statements about controlled investigations and one about cellular respiration to the same name. |
| Distinct ASN identifiers carrying the single most replicated statement text, verbatim: the mirror-image failure | 718 | defect | One expectation, 718 names, and nothing in the data saying they are the same. Cross-state comparison falls back to comparing strings. |
| Associations in the live Georgia CASE package that are isChildOf, which is document structure rather than correspondence between frameworks | 2,453 of 2,483 (98.8%) | gap | Cross-framework associations number zero. The layer that should answer "do these two states teach the same thing" is almost entirely a table of contents. |
| Standard sets stating no licence at all, and sets carrying no publication status so a consumer cannot tell whether they are in force | 1,498 and 10,314 of 23,700 | gap | Public curriculum policy that cannot lawfully be redistributed by anyone relying on the published metadata, and standards whose currency is unknowable from the record. |
| Where a licence is stated in the corpus, whether it is open | 22,202 of 22,202 are CC BY | clean | The sector is not trying to lock this data up. 13,707 sets are CC BY 4.0 US and 8,495 CC BY 3.0 US. The failure is silence and identifier custody, not licensing policy. |
All figures computed on 16 August 2026. Only the CEDS measurement is pinned and byte-for-byte reproducible, from the V14.0.0.0 tag. The standards corpus, the CASE server and the citation population are live systems, so a later run gives different totals while the method reproduces exactly.
What the ontology does about it
Resolvability is recorded data, not an assumption. An identifier assertion carries its scheme, the source that asserted it, and a dated resolution observation holding the HTTP status, the media type and the final URL after redirects. That last field is what distinguishes a live indirection layer over dead data from a healthy scheme, and it is the distinction that made this whole study possible. No incumbent artefact in this space has anywhere to put that fact, which is why the failure went unmeasured for years.
Scope and custody are declared. The SKOS registry records for each of seven schemes whether it is document-, statement- or jurisdiction-scoped, whether it is globally unique, whether it promises dereferenceability, and whether anyone is currently honouring that promise. ASN is recorded as dereferenceable and orphaned, and the gap between those two is the subject of this page. The human coding scheme is recorded as not globally unique and minted per document, which is the fact that stops a team joining two frameworks on it.
Alignments record what would refute them. An alignment assertion carries a falsifiability grade and may carry explicit refutation criteria; one with neither is classified automatically as an unfalsifiable alignment. An exact match asserted between a statement and its own ancestor is a contradiction the shapes reject outright, because containment and equality cannot both hold. That is a rule no incumbent standard here can express, which is why injected mis-mappings survive validation against them.
The test suite enforces on this ontology the properties whose absence it measures in others: every property declares exactly one domain and one range, the ontology declares disjointness, and no term is typed as both a class and a concept scheme. A pull request breaking any of those fails CI, deliberately. It would be embarrassing to publish this study and repeat the defects.
The identifier discipline here was first proved on the United States fund universe in our Investment Fund Ontology and then on European insurance in the Insurance Register Ontology. Education is its third instantiation, and the transfer without redesign is itself the finding: regulated register fabrics fail the same way whatever they name.
Why this matters if you work in education data
Content alignment claims. Publishers and assessment providers sell alignment to standards. If the identifier those claims resolve against is dead, the claim is unverifiable by anyone outside the company that made it, and internal drift is undetectable. That is a commercial exposure, not just a metadata problem.
Cross-state and cross-framework comparison. Any product that promises "this works for your state's standards too" is doing framework-to-framework mapping. With 433 colliding identifiers, 718 names for one common expectation, and 98.8 per cent of the available associations being table-of-contents structure, that mapping is being done by string similarity whether or not anyone says so out loud.
Migration off a dead scheme. Moving from ASN to CASE or CTDL-ASN means minting new identifiers. Unless the old identifier is carried forward explicitly, every historical alignment silently loses its anchor. The measurement to run before that migration is simple: how many of your stored identifiers still resolve, and what will you record for the ones that do not.
Grounding for automated systems. Every serious education data programme in 2026 wants language models and agents reading its curriculum graph. A model grounded in a graph where one identifier names both a statement about controlled investigations and a statement about cellular respiration will answer confidently and wrongly, and the confidence is the dangerous part. Validation is not a step before the interesting work; it is what makes the interesting work safe to ship.
Hiring signals. The sector has noticed. HMH is currently recruiting an Ontology Engineer for the K-12 domain, remote, at $100,000 to $115,000, asking for RDF, OWL, SHACL, SPARQL and experience with foundational ontologies including BFO, DOLCE and the Common Core Ontologies. That is a serious specification, and it exists because the artefacts this page measures do not yet do the job.
Common questions
Do Achievement Standards Network (ASN) identifiers still resolve?
No. Measured in August 2026 across three populations totalling 67,141 identifiers, every single one returns HTTP 404. That covers 44,084 identifiers still cited in public code repositories (a full census), 3,057 standards-document identifiers carried by the live standards corpus (a full census), and a random sample of 20,000 drawn from the 770,861 statement identifiers in that corpus. The canonical form, http://purl.org/ASN/resources/{id}, redirects faithfully to asn.jesandco.org and then returns 404. The ASN schema itself, at http://purl.org/ASN/schema/core/, still returns 200 and serves valid RDF/XML from a static object store. The vocabulary survives; the identifiers it describes do not.
What replaced ASN, and does the replacement carry the old identifiers forward?
CASE, the Competencies and Academic Standards Exchange from 1EdTech, is the specification the sector migrated to. It mints fresh UUIDs per server and defines no obligation to carry a prior identifier forward, so in general it does not say which ASN identifier its items replace. A live CASE package from the Georgia Department of Education contains 2,453 items and 2,483 associations, with zero references to ASN and zero to CEDS. Separately, Credential Engine maintains CTDL-ASN, which inherited the ASN name and vocabulary lineage but mints its own ce-prefixed UUIDs rather than the ASN identifier space. The Common Standards Project API is the best surviving bridge, because it publishes each standard alongside its original ASN identifier, which is what makes the loss measurable at all.
Does the CEDS Ontology have object properties?
The shipped v14.0.0.0 file declares zero owl:ObjectProperty and zero owl:DatatypeProperty, verified by parsing the release tagged V14.0.0.0 in the CEDStandards/CEDS-Ontology repository. The repository README states that the ontology provides "definitions and meaning about those relationships through Object Properties". Relationships are present in the file, but as 2,336 bare rdf:Property terms annotated with schema.org domainIncludes and rangeIncludes, which schema.org defines as indicative rather than constraining. Across all of those properties the file declares zero rdfs:domain. CEDS describes the ontology as a draft project, is actively maintained, and has a live SHACL and JSON-LD workstream with NCES precisely because the shipped artefact does not constrain.
Can an ontology be tested for whether it can reject a wrong statement?
Yes, and mechanically. Construct specific mis-statements, translate each into the artefact’s own vocabulary, and check whether any axiom actually present in that artefact is violated. Where the artefact has no term for what the mutation says, record the result as inexpressible rather than as undetected, because an artefact cannot be blamed for failing to reject a sentence it cannot form. Applied to six mis-statements: the Learning Standards Ontology detects six, the ASN schema detects one, and CEDS Ontology v14 detects none, with five of the six inexpressible in CEDS at all. The underlying reason is an axiom census: CEDS carries 24 refuting axioms across 243,601 triples, while the abandoned ASN schema carries 121 across 465 triples.
How many academic standards are published without a licence?
Of 23,700 standard sets harvested from the Common Standards Project in August 2026, 1,498 (6.3 per cent) state no licence at all, and a further 10,314 (43.5 per cent) carry no publication status, so a consumer cannot tell from the record whether those standards are in force, superseded or draft. 4,760 (20.1 per cent) are marked Deprecated. Where a licence is stated it is usually open: 13,707 sets are CC BY 4.0 US and 8,495 are CC BY 3.0 US. The problem is the silence, not the terms.
Why can two US states not tell whether they teach the same thing?
Because the identifier layer fails in both directions at once. In the measured corpus, 433 ASN identifiers are attached to statements whose text is materially different, meaning one globally unique name points at two different standards. In the opposite direction, the single most replicated statement text appears under 718 distinct identifiers, so one expectation carries 718 names. Nothing in the published data says those 718 are the same thing. The alignment layer that should answer the question mostly does not: in the Georgia CASE package examined, 2,453 of 2,483 associations (98.8 per cent) are isChildOf, which is document structure rather than correspondence between frameworks, and cross-framework associations number zero.
Open, reproducible, and free to use
The ontology, the identifier-scheme registry, the three-layer SHACL suite, the citation harvester, the resolution census, the corpus harvester, the graph builder and the query library are public. Ontology and documentation under CC BY 4.0, code under MIT. The build report lists what could not be obtained as carefully as what could, including the corrections we made against ourselves during the build, because a study that only reports its successes is marketing. Harvested source data is deliberately not redistributed: some of it states no licence, which is one of the findings.
Working with us
We build this for publishers, assessment providers, ministries and awarding bodies on their own data. The public version took days against open sources; the private version is the same discipline applied to content catalogues, item banks, curriculum maps and alignment tables that disagree with each other in ways nobody has measured yet.
A typical first engagement is bounded and diagnostic. We take your alignment data as it is, resolve every identifier in it, build the identifier fabric, run the validation layers, and return a graded findings report separating the dead from the colliding from the merely unlicensed, with the queries attached so your team can re-run it whenever they like. That report is useful whether or not the work continues, which is the point.
If you run curriculum alignment, standards migration, item banking or an education knowledge graph, write to fabio@thetesseractacademy.com. Send a sample of the identifiers you store and we will tell you what proportion of them still resolve, before any commitment.
Related work: our machine-validated ontologies study measures when an ontology can reject a wrong statement, the Skills England occupational maps apply the same discipline to the UK skills system, and the industrial ontology crosswalks measure how often standards crosswalks can detect a wrong mapping at all.
