Legislation and codes profile
How laws, ordinances, and municipal codes are described so their text, status, and history can be tracked.
Schemas: 2
Code lists: 2
Standards: schema.org, Akoma Ntoso, ELI
LegislationObject
One file of a piece of legislation - the actual document, not the law itself.
Standards: Akoma Ntoso, ELI
| Field | Type | Definition | Required |
|---|---|---|---|
@id |
string |
This file's own dereferenceable identifier. | No |
@type |
"LegislationObject" |
Always LegislationObject. Dual-typed as Legislation and MediaObject - the FRBR work/expression split that ELI and Akoma Ntoso both rely on: the Legislation is the law, a LegislationObject is a particular rendering of it. |
Yes |
contentUrl |
string |
Where the file actually is. | Yes |
encodingFormat |
string |
The file's IANA media type. Use application/akn+xml for Akoma Ntoso. |
Yes |
legislationLegalValue |
"AuthoritativeLegalValue" | "DefinitiveLegalValue" | "OfficialLegalValue" | "UnofficialLegalValue" |
Which of several parallel renderings of the same law is authoritative. The same law may have an authoritative signed PDF, an Akoma Ntoso XML marked up for machines, and an unofficial HTML reading copy - this is what says which is which, so consumers can pick the citable text rather than guessing from the file extension. Real schema.org LegalValueLevel enumeration. |
Yes |
inLanguage |
string |
This file's language. | No |
contentSize |
string |
The file's size, e.g. 2 MB. |
No |
dateModified |
string |
When this specific file was last modified. | No |
conformsTo |
string |
The document standard this file follows, e.g. the Akoma Ntoso namespace URI. | No |
Legislation
A law, ordinance, resolution, or a numbered part of a code.
Standards: ELI, Akoma Ntoso
| Field | Type | Definition | Required |
|---|---|---|---|
@id |
string |
The law's own dereferenceable identifier. | Yes |
@type |
"Legislation" |
Always Legislation - the abstract work, not a file of it; the text itself lives in one or more LegislationObjects (see encoding). schema.org's legislation vocabulary derives from the European Legislation Identifier, so almost everything needed here already exists. |
Yes |
name |
string |
The law's short title, e.g. 'Noise Control Ordinance'. | Yes |
description |
string |
A plain-language summary of what the law does. | No |
url |
string |
Where this Legislation's canonical human-readable page lives. |
No |
identifier |
Identifier[] |
Any additional scheme-qualified identifiers beyond legislationIdentifier. |
No |
legislationIdentifier |
string |
The citation as the jurisdiction writes it - 'Ordinance 2025-15', 'Chapter 17.40', an ELI or CELEX URI. | No |
legislationType |
string |
termCode from the LegislationType code list. |
Yes |
codificationLevel |
string |
Which structural tier of a code this is. hasPart nests parts but never says what kind of part, which is the one gap in schema.org's legislation vocabulary. | No |
position |
integer |
Ordering among siblings. Real schema.org CreativeWork property. |
No |
legislationJurisdiction |
Reference |
The Jurisdiction this law applies within. |
Yes |
legislationPassedBy |
Reference |
The GovernmentOrganization that adopted it. |
No |
legislationResponsible |
Reference |
The GovernmentOrganization that administers or enforces it, when different from the body that passed it. |
No |
enactedAt |
Reference |
The Meeting at which it was adopted. This is the join to the meetings profile, and the reason the two are built together. |
No |
legislationDate |
string |
Date of adoption or signature. | No |
legislationDateOfApplicability |
string |
When it becomes applicable, which can differ from entry into force. | No |
legislationDateVersion |
string |
The point in time this description of the legislation is valid for. This is how consolidated codes express versioning, and the hardest part of publishing a municipal code correctly. | No |
legislationLegalForce |
"InForce" | "NotInForce" | "PartiallyInForce" |
Real schema.org property with a real enumeration. Do not invent a status field. | No |
datePublished |
string |
When this Legislation was first published. |
No |
dateModified |
string |
When this record was last updated - not when the law itself changed; see legislationDateVersion for that. |
No |
temporalCoverage |
string |
The period the law applies to, when it isn't open-ended. | No |
inLanguage |
string[] |
The language(s) the text is authoritative in. | No |
isPartOf |
Reference |
The parent tier: a section's chapter, a chapter's title. | No |
hasPart |
Reference[] |
The next tier down: a chapter's sections, a title's chapters. | No |
legislationAmends |
Reference[] |
The Legislation this amends, if any. |
No |
legislationRepeals |
Reference[] |
The Legislation this repeals, if any. |
No |
legislationChanges |
Reference[] |
The general effect this has on another Legislation, when legislationAmends/legislationRepeals aren't specific enough. |
No |
legislationConsolidates |
Reference[] |
The prior versions this consolidated text supersedes. | No |
legislationCorrects |
Reference[] |
The Legislation this issues a correction to. |
No |
legislationCommences |
Reference[] |
The Legislation this brings into force. |
No |
encoding |
LegislationObject[] |
The actual files. Attach the Akoma Ntoso XML here. Structural markup inside the text (clauses, provisos, amendment instructions) is out of scope by design - that's what Akoma Ntoso is for. | No |
keywords |
string[] |
Subject keywords. Not schema:about, which ranges over Thing and is for references to entities - free-text strings there expand as relative IRIs. |
No |
sourceDataset |
string |
The Dataset this record was published as part of. |
No |
{
"@id": "https://example-city.gov/id/legislation/municipal-code",
"@type": "Legislation",
"name": "Example City Municipal Code",
"description": "The consolidated body of city ordinances currently in force.",
"url": "https://example-city.gov/municipal-code",
"legislationType": "code",
"codificationLevel": "code",
"legislationIdentifier": "ECMC",
"legislationJurisdiction": {
"@id": "https://example-city.gov/id/jurisdiction/example-city",
"name": "Example City"
},
"legislationLegalForce": "InForce",
"legislationDateVersion": "2025-07-15",
"dateModified": "2025-07-15",
"inLanguage": [
"en-US"
],
"hasPart": [
{
"@id": "https://example-city.gov/id/legislation/municipal-code/title-17",
"name": "Title 17 — Zoning"
}
]
}