Network schema¶
The network schema provides the authoritative definition of the structure of a network object, the meaning of each property, and the rules that must be followed to publish, store or exchange data that conforms to the OFDS data model as JSON data. The schema is used to validate the structure and format of OFDS JSON data.
Note
Use the canonical schema URL to make sure that your software, documentation or other resources refer to the specific version of the schema with which they were tested. The canonical URL for version 0.4.0 is:
This page presents the schema in an interactive browser and in reference tables with additional information in paragraphs. You can also download the canonical version of the schema as JSON Schema or download it as a CSV spreadsheet.
Note
If any conflicts are found between the text on this page and the text within the schema, the text within the schema takes precedence.
See also
For more information on the data types, string formats and other validation keywords used in the network schema, refer to the JSON Schema Reference documentation:
Browser¶
Click on schema elements to expand the tree, or use the ‘+’ icon to expand all elements. Use { } to view the underlying schema for any section. Required properties are indicated in bold.
Reference tables¶
This section presents each property in the schema in tables with additional information in paragraphs. Required properties are indicated in the Required column. For properties that reference sub-schemas, a link is provided to a table with details of the sub-schema.
Network¶
The top-level object in the network schema is a network, defined as:
A telecommunication network. A network consists of a set of nodes interconnected by spans.
A network has the following properties:
Title |
Description |
Type |
Format |
Required |
|---|---|---|---|---|
id |
string |
uuid |
Required |
|
UUID |
A universally unique identifier for this network, as defined by RFC 4122. For more information, see the identifier reference. |
|||
identifier |
string |
|||
Identifier |
A local identifier for this network in an internal system. |
|||
name |
string |
|||
Network name |
A name for this network. |
|||
nodes |
array[Node] |
|||
Nodes |
The nodes that belong to this network. See Node |
|||
spans |
array[Span] |
|||
Spans |
The spans that belong to this network. See Span |
|||
phases |
array[Phase] |
|||
Phases |
The phases in which this network was, or will be, deployed. See Phase |
|||
organisations |
array[Organisation] |
|||
Organisations |
The organisations involved in this network. See Organisation |
|||
wayleaves |
array[Wayleave] |
|||
Wayleaves |
Formal agreements that grant network operators rights to install, maintain or operate telecommunications infrastructure on, over, or under grantors’ property or assets. See Wayleave |
|||
contracts |
array[Contract] |
|||
Contracts |
Contracts related to this network. See Contract |
|||
website |
string |
iri |
||
Website |
The URL of the website for this network. |
|||
publisher/name |
string |
|||
Name |
A name for this organisation. |
|||
publisher/identifier/id |
string |
|||
Identifier |
The identifier assigned to the organisation in the register identified in |
|||
publisher/identifier/scheme |
string |
|||
Scheme |
The register from which the identifier in |
|||
publisher/identifier/legalName |
string |
|||
Legal name |
The legally registered name of the organisation |
|||
publicationDate |
string |
date |
||
Publication date |
The date when this network was published. |
|||
collectionDate |
string |
date |
||
Collection date |
The date when the location data was collected. If a dataset was produced by digitising a map, the date that the data for the map was collected. |
|||
crs/name |
string |
uri |
Required |
|
Name |
The name of the coordinate reference system. |
|||
crs/uri |
string |
uri |
Required |
|
Uniform Resource Identifier |
A URI for the coordinate reference system. |
|||
accuracy |
number |
|||
Accuracy |
The horizontal uncertainty, in metres, of the coordinates in this dataset relative to the datum of the coordinate reference system specified in |
|||
accuracyDetails |
string |
|||
Accuracy details |
Further details about the accuracy specified in |
|||
language |
string |
|||
Language |
The default language used in text attributes,from the open language codelist. A BCP47 language tag is allowed, if there is a user need for the additional information. |
|||
links |
array[Link] |
Required |
||
Links |
Links to related resources. The first item in the links array must be a link to the canonical JSON schema that describes the structure of the data. Links to API endpoints for nodes and spans should be provided when a network is too large to return in a single API response and links to bulk files should be provided when a network is too large to load into memory, for more information, see how to publish large networks. See Link |
|||
Node¶
Node is defined as:
A point within a network. A node may be an access point or may reflect a geographic point at which a span splits, aggregates or crosses a border. Nodes can allow for interconnections to other networks or connections to end users.
This sub-schema is referenced by the following properties:
Each Node has the following properties:
Title |
Description |
Type |
Format |
Required |
|---|---|---|---|---|
id |
string |
Required |
||
Identifier |
A locally-unique identifier for this node. |
|||
name |
string |
|||
Name |
A name for this node. The name should be unique amongst the nodes belonging to a network. |
|||
phase |
object |
|||
Phase |
The phase to which this node belongs. See PhaseReference |
|||
status |
string |
|||
Status |
The status of this node, from the closed nodeStatus codelist. |
|||
location |
object |
|||
Location |
The physical location of this node. See PointGeometry |
|||
address |
object |
|||
Address |
The physical address of this node. See Address |
|||
type |
array[[string]] |
|||
Type |
This node’s function, from the open [nodeType codelist]https://standard.ofds.info/en/latest/reference/codelists#nodetype). For nodes with multiple network providers, the union of the node types for each provider. If a node’s only function is to serve as a junction between spans, this attribute should be omitted. Junction nodes are identified by the existence of more than two spans that begin or end at the node. |
|||
supportingInfrastructure |
object |
|||
Supporting infrastructure |
The infrastructure that supports this node. |
|||
supportingInfrastructure/type |
string |
|||
Type |
The type of supporting infrastructure, from the open nodeSupportingInfrastructure codelist. |
|||
supportingInfrastructure/description |
string |
|||
Description |
A description of the supporting infrastructure for this node. |
|||
supportingInfrastructure/owner |
object |
|||
Owner |
The organisation that owns the supporting infrastructure. |
|||
supportingInfrastructure/owner/id |
string |
Required |
||
Local identifier |
The local identifier of the organisation being referenced. |
|||
supportingInfrastructure/owner/name |
string |
|||
Name |
The name of the organisation being referenced. This must match the name of the organisation referenced in |
|||
supportingInfrastructure/spareCapacity |
boolean |
|||
Spare capacity |
Whether the supporting infrastructure has spare capacity for the installation of additional network equipment. |
|||
accessPoint |
boolean |
|||
Access point |
Whether active or passive transmission equipment is installed at this node which is capable of providing access to the network. |
|||
internationalConnections |
array[Address] |
|||
International connections |
The international connections available at this node. For all connections, See Address |
|||
power |
boolean |
|||
Power availability |
Whether power for active network equipment is available at this node. |
|||
technologies |
array[[string]] |
|||
Technologies |
The active technologies used at this node, from the open nodeTechnologies codelist. For nodes with multiple network providers, the union of the active technologies used by each provider. |
|||
transmissionMediumOwner |
object |
|||
Transmission medium owner |
The organisation that owns the transmission media for this node, i.e. the passive network equipment such as splitters, combiners and fibre distribution panels. |
|||
networkProviders |
array[Organisation reference] |
|||
Network providers |
The organisations that operate the active network infrastructure for this node, i.e. the electrical elements, such as optical transceivers, switches and routers. In open business models, network providers provide wholesale access to service providers such as retail internet service providers. Network providers can own or lease the active network infrastructure. |
|||
Span¶
Span is defined as:
A physical connection between two nodes.
This sub-schema is referenced by the following properties:
Each Span has the following properties:
Title |
Description |
Type |
Format |
Required |
|---|---|---|---|---|
id |
string |
Required |
||
Identifier |
A locally-unique identifier for this span. |
|||
name |
string |
|||
Name |
A name for this span. The name should be unique amongst the spans belonging to a network. |
|||
phase |
object |
|||
Phase |
The phase to which this span belongs. See PhaseReference |
|||
status |
string |
|||
Status |
The status of the network infrastructure for this span, from the closed spanStatus codelist. |
|||
readyForServiceDate |
string |
date |
||
Ready for service date |
The date this span was ready to carry traffic. For spans with multiple network providers, the earliest of the dates at which each provider’s network was ready to carry traffic on this span. |
|||
start |
string |
|||
Start |
The identifier of one of two nodes that this span connects. If the span is directed, it represents the starting point of the span. |
|||
end |
string |
|||
End |
The identifier of one of two nodes that this span connects. If the span is directed, it represents the end point of the span. |
|||
directed |
boolean |
|||
Directed |
Whether this span is directed. If the span is directed, the span begins at the node referenced in |
|||
route |
object |
|||
Route |
The physical route that this span takes between the nodes that it connects. |
|||
transmissionMediumOwner |
object |
|||
Owner |
The organisation that owns the transmission media for this span, i.e. the fibre cables. |
|||
networkProviders |
array[Organisation reference] |
|||
Network providers |
The organisations that operate the active network infrastructure for this span, i.e. the electrical elements, such as optical transceivers, switches and routers. In open business models, network providers provide wholesale access to service providers such as retail internet service providers. Network providers can own or lease the active network infrastructure. |
|||
supplier |
object |
|||
Supplier |
The organisation responsible for installing the cable for this span. |
|||
transmissionMedium |
array[[string]] |
|||
Transmission medium |
The physical media of this span, from the closed transmissionMedium codelist. |
|||
deployment |
array[[string]] |
|||
Deployment |
The physical deployment of this span, from the closed deployment codelist. Further details of this span’s deployment can be provided in |
|||
supportingInfrastructure |
object |
|||
Supporting infrastructure |
The infrastructure that supports this span. |
|||
supportingInfrastructure/type |
string |
|||
Type |
The type of supporting infrastructure, from the open spanSupportingInfrastructure codelist. |
|||
supportingInfrastructure/description |
string |
|||
Description |
A description of the supporting infrastructure for this span. |
|||
supportingInfrastructure/owner |
object |
|||
Owner |
The organisation that owns the supporting infrastructure. |
|||
supportingInfrastructure/owner/id |
string |
Required |
||
Local identifier |
The local identifier of the organisation being referenced. |
|||
supportingInfrastructure/owner/name |
string |
|||
Name |
The name of the organisation being referenced. This must match the name of the organisation referenced in |
|||
supportingInfrastructure/spareCapacity |
boolean |
|||
Spare capacity |
Whether the supporting infrastructure has spare capacity for the installation of additional fibre cables. |
|||
codeployment |
string |
|||
Codeployment |
The type of utility or transport infrastrucutre with which this span is codeployed. |
|||
cableType |
string |
|||
Cable type |
The type of cable used in this span. |
|||
darkFibre |
boolean |
|||
Dark fibre availability |
Whether access to dark fibre is available on this span. |
|||
fibreType |
string |
|||
Fibre type |
The type of fibre used in this span, from the closed fibreType codelist. Further details of the span’s fibre type can be provided in |
|||
fibreTypeDetails |
object |
|||
Fibre type details |
Further details about this span’s fibre type. |
|||
fibreCount |
integer |
|||
Fibre count |
The number of individual optical fibres in this span. |
|||
fibreLength |
number |
|||
Fibre length |
The physical length in kilometres, of fibre optic cable used in this span. |
|||
technologies |
array[[string]] |
|||
Technologies |
The active technologies used on this span, from the open spanTechnologies codelist. For spans with multiple network providers, the union of the active technologies used by each provider. |
|||
capacity |
number |
|||
Equipped capacity |
The transmission rate, or throughput, of this span, expressed in Gbit/sec (Gbps). The equipped capacity is the total capacity of the circuits (e.g. E1, DS3, STM-1 etc.) which have been activated in the network transmission equipment of the span. For spans with multiple network providers, the sum of the capacity of each provider’s network on this span. Further details of this span’s capacity can be provided in |
|||
capacityDetails |
object |
|||
Capacity details |
Further details about this span’s capacity. |
|||
wayleaves |
array[string] |
|||
Wayleaves |
The identifiers of the formal agreements that grant network operators rights to install, maintain or operate this span’s infrastructure on, over, or under grantors’ property or assets. |
|||
countries |
array[[string]] |
|||
Countries |
The countries in which this span is physically located, from the closed country codelist. |
|||
Phase¶
Phase is defined as:
A set of nodes and/or spans deployed as a group.
This sub-schema is referenced by the following properties:
Each Phase has the following properties:
Title |
Description |
Type |
Format |
Required |
|---|---|---|---|---|
id |
string |
Required |
||
Identifier |
A locally-unique identifier for this phase. |
|||
name |
string |
|||
Name |
A name for this phase. The name should be unique amongst the phases belonging to a network. |
|||
description |
string |
|||
Description |
A description for this phase. |
|||
funders |
array[Organisation reference] |
|||
Funders |
The organisations that provide financing for the development or operation of this phase, also known as investors or financers. |
|||
Organisation¶
Organisation is defined as:
An organisation.
This sub-schema is referenced by the following properties:
Each Organisation has the following properties:
Title |
Description |
Type |
Format |
Required |
|---|---|---|---|---|
id |
string |
Required |
||
Local identifier |
A locally-unique identifier for this organisation. |
|||
name |
string |
|||
Name |
A name for this organisation. The name should be unique amongst the organisations belonging to a network. |
|||
identifier |
object |
|||
Organisation identifier |
An identifier for this organisation. |
|||
identifier/id |
string |
|||
Identifier |
The identifier assigned to the organisation in the register identified in |
|||
identifier/scheme |
string |
|||
Scheme |
The register from which the identifier in |
|||
identifier/legalName |
string |
|||
Legal name |
The legally registered name of the organisation |
|||
identifier/uri |
string |
iri |
||
URI |
A canonical URI for this identifier, such as those provided by Open Corporates. Do not use this field to provide the website of the organisation: instead, use |
|||
country |
string |
|||
Country |
The country in which this organisation is legally registered, from the closed country codelist. |
|||
roles |
array[[string]] |
|||
Roles |
This organisation’s roles in this network, from the open organisationRole codelist. Further details about this organisation’s roles can be provided in |
|||
roleDetails |
string |
|||
Role details |
Further details about this organisation’s roles in the network |
|||
website |
string |
iri |
||
Website |
The URL of the website for this organisation. |
|||
logo |
string |
iri |
||
Logo |
The URL of the logo for this organisation. |
|||
Contract¶
Contract is defined as:
An agreement between the public and private sectors to develop a network.
This sub-schema is referenced by the following properties:
Each Contract has the following properties:
Title |
Description |
Type |
Format |
Required |
|---|---|---|---|---|
id |
string |
Required |
||
Identifier |
A locally-unique identifier for this contract. |
|||
title |
string |
|||
Title |
A title for this contract. |
|||
description |
string |
|||
Description |
A description for this contract. |
|||
type |
string |
|||
Type |
The type of this contract, from the open contractType codelist. |
|||
value |
object |
|||
Value |
The value of this contract. See Value |
|||
dateSigned |
string |
date |
||
Date signed |
The date this contract was signed. |
|||
documents |
array[Document] |
|||
Documents |
The documents related to this contract. See Document |
|||
relatedPhases |
array[Phase reference] |
|||
Related phases |
The phases to which this contract relates. See PhaseReference |
|||
Wayleave¶
Wayleave is defined as:
A formal agreement that grants a network operator rights to install, maintain or operate telecommunications infrastructure on, over, or under the grantor’s property or asset.
This sub-schema is referenced by the following properties:
Each Wayleave has the following properties:
Title |
Description |
Type |
Format |
Required |
|---|---|---|---|---|
id |
string |
Required |
||
Identifier |
A locally-unique identifier for this wayleave. |
|||
grantor |
object |
|||
Grantor |
The entity that grants a network operator the legal right to install, maintain, or operate telecommunications infrastructure on, over, or under property or assets. |
|||
grantor/id |
string |
Required |
||
Local identifier |
The local identifier of the organisation being referenced. |
|||
grantor/name |
string |
|||
Name |
The name of the organisation being referenced. This must match the name of the organisation referenced in |
|||
yearSigned |
integer |
|||
Year signed |
The year in which this wayleave was signed. |
|||
term |
object |
|||
Term |
Information about the duration of the wayleave. |
|||
term/indefinite |
boolean |
|||
Indefinite |
Whether the term of wayleave is indefinite, i.e. without an end date. |
|||
term/years |
integer |
|||
Years |
If the wayleave’s term is definite, its duration in years. |
|||
cost |
object |
|||
Cost |
Information about the cost of the wayleave. |
|||
cost/recurring |
boolean |
|||
Recurring |
Whether this is a recurring cost. |
|||
cost/perMetre |
object |
|||
Cost per metre |
The average cost per metre for this wayleave. Wayleave costs can include a mix of per length and per item fees, e.g. a fee per metre of cable and a fee per pole. The average cost per metre should be calculated by dividing the total cost of all fees by the total length in metres of cable covered by the wayleave. For recurring fees, the average cost per metre should be annualised. See Value |
|||
cost/perMetre/amount |
number |
|||
Amount |
The amount of this value. |
|||
cost/perMetre/currency |
string |
|||
Currency |
The currency of this value, from the closed currency codelist. |
|||
Other sub-schemas¶
This section lists each sub-schema in the OFDS schema. Sub-schemas are reused in multiple places in the schema. For information on how the sub-schemas fit together, see the network object section or the schema browser.
PointGeometry¶
PointGeometry is defined as:
A GeoJSON Geometry object of type Point.
This sub-schema is referenced by the following properties:
Additional properties are not permitted within PointGeometry objects.
Each PointGeometry has the following properties:
Title |
Description |
Type |
Format |
Required |
|---|---|---|---|---|
type |
string |
Required |
||
Type |
The GeoJSON geometry type that is described by |
|||
coordinates |
array[number] |
Required |
||
Coordinates |
A single GeoJSON position. A position is an array of numbers with two or more elements. The first two elements are longitude and latitude, or easting and northing, precisely in that order. Longitude and latitude must be expressed using the World Geodetic System 1984 WGS 84 datum in units of decimal degrees. Altitude or elevation may be included as an optional third element and must be expressed as the height in meters above or below the WGS 84 reference ellipsoid. |
|||
LineStringGeometry¶
LineStringGeometry is defined as:
A GeoJSON Geometry object of type LineString.
This sub-schema is referenced by the following properties:
Additional properties are not permitted within LineStringGeometry objects.
Each LineStringGeometry has the following properties:
Title |
Description |
Type |
Format |
Required |
|---|---|---|---|---|
type |
string |
Required |
||
Type |
The GeoJSON geometry type that is described by |
|||
coordinates |
array[array] |
Required |
||
Coordinates |
Two or more GeoJSON positions. A position is an array of numbers with two or more elements. The first two elements are longitude and latitude, or easting and northing, precisely in that order. Longitude and latitude must be expressed using the World Geodetic System 1984 WGS 84 datum in units of decimal degrees. Altitude or elevation may be included as an optional third element and must be expressed as the height in meters above or below the WGS 84 reference ellipsoid. |
|||
OrganisationReference¶
OrganisationReference is defined as:
The local identifier and name of the organisation being referenced. Used for cross-referencing within the dataset.
This sub-schema is referenced by the following properties:
Each OrganisationReference has the following properties:
Title |
Description |
Type |
Format |
Required |
|---|---|---|---|---|
id |
string |
Required |
||
Local identifier |
The local identifier of the organisation being referenced. |
|||
name |
string |
|||
Name |
The name of the organisation being referenced. This must match the name of the organisation referenced in |
|||
PhaseReference¶
PhaseReference is defined as:
The identifier and name of the phase being referenced. Used for cross-referencing.
This sub-schema is referenced by the following properties:
Each PhaseReference has the following properties:
Title |
Description |
Type |
Format |
Required |
|---|---|---|---|---|
id |
string |
Required |
||
Identifier |
The identifier of the phase being referenced. |
|||
name |
string |
|||
Name |
The name of the phase being referenced. This must match the name of the phase referenced in |
|||
Address¶
Address is defined as:
An address.
This sub-schema is referenced by the following properties:
Each Address has the following properties:
Title |
Description |
Type |
Format |
Required |
|---|---|---|---|---|
streetAddress |
string |
|||
Street address |
The street address. For example, 1600 Amphitheatre Pkwy. |
|||
locality |
string |
|||
Locality |
The locality. For example, Mountain View. |
|||
region |
string |
|||
Region |
The region. For example, CA. |
|||
postalCode |
string |
|||
Postal code |
The postal code. For example, 94043. |
|||
country |
string |
|||
Country |
The country in which the address is physically located, from the closed country codelist. |
|||
Value¶
Value is defined as:
A financial value.
This sub-schema is referenced by the following properties:
Each Value has the following properties:
Title |
Description |
Type |
Format |
Required |
|---|---|---|---|---|
amount |
number |
|||
Amount |
The amount of this value. |
|||
currency |
string |
|||
Currency |
The currency of this value, from the closed currency codelist. |
|||
Document¶
Document is defined as:
A piece of electronic or physical matter that provides information or evidence or that serves as an official record.
This sub-schema is referenced by the following properties:
Each Document has the following properties:
Title |
Description |
Type |
Format |
Required |
|---|---|---|---|---|
title |
string |
|||
Title |
A title for this document. |
|||
description |
string |
|||
Description |
A description of this document. Descriptions should not exceed 250 words. If the document is not accessible online, the description should describe how to access a copy of the document. |
|||
url |
string |
iri |
||
URL |
A web address for accessing this document. |
|||
format |
string |
|||
Format |
The format of this document, from the open mediaType codelist. |
|||
Link¶
Link is defined as:
A link to a related resource.
This sub-schema is referenced by the following properties:
Each Link has the following properties:
Title |
Description |
Type |
Format |
Required |
|---|---|---|---|---|
href |
string |
iri |
Required |
|
Target |
The URL of this related resource. |
|||
rel |
string |
Required |
||
Relation type |
The relationship with this related resource, from the open linkRelationType codelist. The ‘describedby’ code must only be used in the first item in the |
|||