CSV

0.3.0 release

Welcome to the Open Fibre Data Standard 0.3.0 release.

We want to hear your feedback on the standard and its documentation. For general feedback, questions and suggestions, you can comment on an existing discussion or start a new one. For bug reports or feedback on specific elements of the data model and documentation, you can comment on the issues in the issue tracker or you can create a new issue.

To comment on or create discussions and issues, you need to sign up for a free GitHub account. If you prefer to provide feedback privately, you can email info@opentelecomdata.net.

The CSV format consists of several tables, reflecting the structure of the schema. This pages describes the CSV publication format, including the structure of the tables, the relationship between the tables and the representation of location data. Example CSV files and blank templates are provided for each table.

The networks table is the main table. Arrays of objects in the schema are represented as separate tables:

The field in the schema that each column represents is identified by the field’s JSON Pointer. Rows in child tables are related to rows in parent tables using the parent object’s id field.

The following example shows a network with two nodes represented in JSON format and as tables. Note how the network’s .id appears in both tables.

{
    "id": "a096d627-72e1-4f9b-b129-951b1737bff4",
    "name": "Ghana Fibre Network",
    "nodes": [
        {
            "id": "1",
            "name": "Accra",
            "phase": {
                "id": "1",
                "name": "NextGen Phase 1"
            },
            "status": "operational",
            "location": {
                "type": "Point",
                "coordinates": [
                    -0.174,
                    5.625
                ]
            },
            "address": {
                "streetAddress": "Boundary Rd",
                "locality": "Shiashie",
                "region": "Accra",
                "postalCode": "12345",
                "country": "GH"
            },
            "type": [
                "pop"
            ],
            "accessPoint": true,
            "internationalConnections": [
                {
                    "region": "Lom\u00e9",
                    "country": "TG"
                }
            ],
            "power": true,
            "technologies": [
                "ip"
            ],
            "physicalInfrastructureProvider": {
                "id": "GH-RGD-CS111111111",
                "name": "FibreCo"
            },
            "networkProviders": [
                {
                    "id": "GH-RGD-CS222222222",
                    "name": "FastWeb"
                }
            ]
        },
        {
            "id": "2",
            "name": "Kumasi",
            "phase": {
                "id": "1",
                "name": "NextGen Phase 1"
            },
            "status": "operational",
            "location": {
                "type": "Point",
                "coordinates": [
                    -1.628,
                    6.711
                ]
            },
            "address": {
                "streetAddress": "Kejetia Road",
                "locality": "Bantama",
                "region": "Kumasi",
                "postalCode": "00000",
                "country": "GH"
            },
            "type": [
                "pop"
            ],
            "accessPoint": false,
            "power": true,
            "technologies": [
                "ip"
            ],
            "physicalInfrastructureProvider": {
                "id": "GH-RGD-CS111111111",
                "name": "FibreCo"
            },
            "networkProviders": [
                {
                    "id": "GH-RGD-CS222222222",
                    "name": "FastWeb"
                }
            ]
        }
    ],
    "website": "http://example.com/network",
    "publisher": {
        "name": "FibreCo",
        "identifier": {
            "id": "CS111111111",
            "scheme": "GH-RGD",
            "legalName": "FibreCo Ghana Limited",
            "uri": "https://example.com/companies/CS111111111"
        }
    },
    "publicationDate": "2022-01-01",
    "collectionDate": "2021-09-30",
    "crs": {
        "name": "urn:ogc:def:crs:OGC::CRS84",
        "uri": "http://www.opengis.net/def/crs/OGC/1.3/CRS84"
    },
    "accuracy": 250,
    "accuracyDetails": "Measured according to the US National Standard for Spatial Data Accuracy.",
    "language": "en",
    "links": [
        {
            "rel": "describedby",
            "href": "https://raw.githubusercontent.com/Open-Telecoms-Data/open-fibre-data-standard/0__3__0/schema/network-schema.json"
        }
    ]
}

id

name

website

publisher/name

publisher/identifier/id

publisher/identifier/scheme

publisher/identifier/legalName

publisher/identifier/uri

publicationDate

collectionDate

crs/name

crs/uri

accuracy

accuracyDetails

language

a096d627-72e1-4f9b-b129-951b1737bff4

Ghana Fibre Network

http://example.com/network

FibreCo

CS111111111

GH-RGD

FibreCo Ghana Limited

https://example.com/companies/CS111111111

2022-01-01

2021-09-30

urn:ogc:def:crs:OGC::CRS84

http://www.opengis.net/def/crs/OGC/1.3/CRS84

250

Measured according to the US National Standard for Spatial Data Accuracy.

en

id

nodes/0/id

nodes/0/name

nodes/0/phase/id

nodes/0/phase/name

nodes/0/status

nodes/0/location

nodes/0/address/streetAddress

nodes/0/address/locality

nodes/0/address/region

nodes/0/address/postalCode

nodes/0/address/country

nodes/0/type

nodes/0/accessPoint

nodes/0/power

nodes/0/technologies

nodes/0/physicalInfrastructureProvider/id

nodes/0/physicalInfrastructureProvider/name

a096d627-72e1-4f9b-b129-951b1737bff4

1

Accra

1

NextGen Phase 1

operational

POINT (-0.174 5.625)

Boundary Rd

Shiashie

Accra

12345

GH

pop

True

True

ip

GH-RGD-CS111111111

FibreCo

a096d627-72e1-4f9b-b129-951b1737bff4

2

Kumasi

1

NextGen Phase 1

operational

POINT (-1.628 6.711)

Kejetia Road

Bantama

Kumasi

00000

GH

pop

False

True

ip

GH-RGD-CS111111111

FibreCo

Node locations and span routes are represented using well-known text (WKT) POINT and LINESTRING geometries, respectively. For example:

nodes/0/location

POINT (-0.174 5.625)

POINT (-1.628 6.711)

spans/0/route

LINESTRING (-0.173 5.626,-0.178 5.807,-0.112 5.971,-0.211 5.963,-0.321 6.17,-0.488 6.29,-0.56 6.421,-0.752 6.533,-0.867 6.607,-1.101 6.585,-1.304 6.623,-1.461 6.727,-1.628 6.713)

networks

This table is related to the following tables:

The fields in this table are listed below. You can also download an example CSV file or a blank template for this table.

Title

Description

Type

Format

Required

id

string

uuid

Required

Identifier

A universally unique identifier for this network, as defined by RFC 4122. For more information, see the identifier reference.

name

string

Network name

A name for this network.

website

string

iri

Website

The URL of the website for this network.

publisher

object

Publisher

The publisher of this network.

publisher/name

string

Name

A name for this organisation.

publisher/identifier

object

Organisation identifier

An identifier for this organisation.

publisher/identifier/id

string

Identifier

The identifier assigned to the organisation in the register identified in .scheme.

publisher/identifier/scheme

string

Scheme

The register from which the identifier in .id is drawn, from the open organisationIdentifierScheme codelist.

publisher/identifier/legalName

string

Legal name

The legally registered name of the organisation

publisher/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 Organisation.website.

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

object

Coordinate reference system

The coordinate reference system used in this network. If this network includes any coordinate data (in Node.location or Span.route) then this field must be provided.

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 crs. Further details about the accuracy of coordinates in this dataset can be provided in .accuracyDetails.

accuracyDetails

string

Accuracy details

Further details about the accuracy specified in accuracy. For example, the confidence level of the accuracy measurement, the methodology used to calculate the accuracy, or a local classification of accuracy.

language

string

Language

The default language of this network,from the open language codelist. A BCP47 language tag is allowed, if there is a user need for the additional information.

nodes

This table is related to the following tables:

The fields in this table are listed below. You can also download an example CSV file or a blank template for this table.

Title

Description

Type

Format

Required

id

string

uuid

Required

Identifier

A universally unique identifier for this network, as defined by RFC 4122. For more information, see the identifier reference.

nodes/0/id

string

Required

Identifier

An identifier for this node. The identifier must be unique within the scope of the nodes array.

nodes/0/name

string

Node name

A name for this node.

nodes/0/phase

object

Phase

The phase to which this node belongs.

nodes/0/phase/id

string

Required

Identifier

The identifier of the phase being referenced. This must match the .id of a phase in the phases array.

nodes/0/phase/name

string

Name

The name of the phase being referenced. This must match the .name of the phase in the phases array whose .id matches the .id of this phase reference.

nodes/0/status

string

Status

The status of this node, from the closed nodeStatus codelist.

nodes/0/location

object

Node location

In the JSON publication format, a GeoJSON Point geometry describing the physical location of this node. In the CSV publication format, a well-known text POINT geometry.

nodes/0/address

object

Node address

The physical address of this node.

nodes/0/address/streetAddress

string

Street address

The street address. For example, 1600 Amphitheatre Pkwy.

nodes/0/address/locality

string

Locality

The locality. For example, Mountain View.

nodes/0/address/region

string

Region

The region. For example, CA.

nodes/0/address/postalCode

string

Postal code

The postal code. For example, 94043.

nodes/0/address/country

string

Country

The country in which the address is physically located, from the closed country codelist.

nodes/0/type

array[[string]]

Node type

The type of this node, from the open nodeType codelist. For nodes with multiple network providers, the union of the node types for each provider.

nodes/0/accessPoint

boolean

Access point

Whether active or passive transmission equipment is installed at this node which is capable of providing access to the network.

nodes/0/power

boolean

Power availability

Whether power for active network equipment is available at this node.

nodes/0/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.

nodes/0/physicalInfrastructureProvider

object

Physical infrastructure provider

The organisation that owns the passive network infrastructure for this node, i.e. the non-electrical elements, such as dark fibre, ducts and physical sites.

nodes/0/physicalInfrastructureProvider/id

string

Required

Local identifier

The local identifier of the organisation being referenced. This must match the .id of an organisation in the organisations array.

nodes/0/physicalInfrastructureProvider/name

string

Name

The name of the organisation being referenced. This must match the .name of the organisation in the organisations array whose .id matches the .id of this organisation reference.

nodes_internationalConnections

This table is related to the following tables:

  • nodes: many-to-one by nodes/0/id

The fields in this table are listed below. You can also download an example CSV file or a blank template for this table.

Title

Description

Type

Format

Required

id

string

uuid

Required

Identifier

A universally unique identifier for this network, as defined by RFC 4122. For more information, see the identifier reference.

nodes/0/id

string

Required

Identifier

An identifier for this node. The identifier must be unique within the scope of the nodes array.

nodes/0/internationalConnections/0/streetAddress

string

Street address

The street address. For example, 1600 Amphitheatre Pkwy.

nodes/0/internationalConnections/0/locality

string

Locality

The locality. For example, Mountain View.

nodes/0/internationalConnections/0/region

string

Region

The region. For example, CA.

nodes/0/internationalConnections/0/postalCode

string

Postal code

The postal code. For example, 94043.

nodes/0/internationalConnections/0/country

string

Country

The country in which the address is physically located, from the closed country codelist.

nodes_networkProviders

This table is related to the following tables:

  • nodes: many-to-one by nodes/0/id

The fields in this table are listed below. You can also download an example CSV file or a blank template for this table.

Title

Description

Type

Format

Required

id

string

uuid

Required

Identifier

A universally unique identifier for this network, as defined by RFC 4122. For more information, see the identifier reference.

nodes/0/id

string

Required

Identifier

An identifier for this node. The identifier must be unique within the scope of the nodes array.

nodes/0/networkProviders/0/id

string

Required

Local identifier

The local identifier of the organisation being referenced. This must match the .id of an organisation in the organisations array.

nodes/0/networkProviders/0/name

string

Name

The name of the organisation being referenced. This must match the .name of the organisation in the organisations array whose .id matches the .id of this organisation reference.

spans

This table is related to the following tables:

The fields in this table are listed below. You can also download an example CSV file or a blank template for this table.

Title

Description

Type

Format

Required

id

string

uuid

Required

Identifier

A universally unique identifier for this network, as defined by RFC 4122. For more information, see the identifier reference.

spans/0/id

string

Required

Identifier

An identifier for this span. The identifier must be unique within the scope of the spans array.

spans/0/name

string

Span name

A name for this span.

spans/0/phase

object

Phase

The phase to which this span belongs.

spans/0/phase/id

string

Required

Identifier

The identifier of the phase being referenced. This must match the .id of a phase in the phases array.

spans/0/phase/name

string

Name

The name of the phase being referenced. This must match the .name of the phase in the phases array whose .id matches the .id of this phase reference.

spans/0/status

string

Span status

The status of the network infrastructure for this span, from the closed spanStatus codelist.

spans/0/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.

spans/0/start

string

Start

The identifier of one of two nodes that this span connects. It must match the .id of a node in the nodes array. If directed == true, it represents the starting point of the span. Otherwise, the distinction between start and end is arbitrary.

spans/0/end

string

End

The identifier of one of two nodes that this span connects. It must match the .id of a node in the nodes array. If directed == true, it represents the end point of the span. Otherwise, the distinction between start and end is arbitrary.

spans/0/directed

boolean

Directed

Whether this span is directed. If True, then .start represents the start of the span and .end represents the end. Otherwise, .start and .end reference this span’s endpoints with no direction implied.

spans/0/route

object

Span route

In the JSON publication format, a GeoJSON LineString geometry describing the route of this span. In the CSV publication format, a well-known text LINESTRING geometry.

spans/0/physicalInfrastructureProvider

object

Physical infrastructure provider

The organisation that owns the passive network infrastructure for this span, i.e. the non-electrical elements, such as dark fibre, ducts and physical sites.

spans/0/physicalInfrastructureProvider/id

string

Required

Local identifier

The local identifier of the organisation being referenced. This must match the .id of an organisation in the organisations array.

spans/0/physicalInfrastructureProvider/name

string

Name

The name of the organisation being referenced. This must match the .name of the organisation in the organisations array whose .id matches the .id of this organisation reference.

spans/0/supplier

object

Supplier

The organisation responsible for installing the cable for this span.

spans/0/supplier/id

string

Required

Local identifier

The local identifier of the organisation being referenced. This must match the .id of an organisation in the organisations array.

spans/0/supplier/name

string

Name

The name of the organisation being referenced. This must match the .name of the organisation in the organisations array whose .id matches the .id of this organisation reference.

spans/0/transmissionMedium

array[[string]]

Transmission medium

The physical media of this span, from the closed transmissionMedium codelist.

spans/0/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 .deploymentDetails.

spans/0/deploymentDetails

object

Deployment details

Further details of this span’s deployment.

spans/0/deploymentDetails/description

string

Description

A description of this span’s deployment.

spans/0/darkFibre

boolean

Dark fibre availability

Whether access to dark fibre is available on this span.

spans/0/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.

spans/0/fibreTypeDetails

object

Fibre type details

Further details about this span’s fibre type.

spans/0/fibreTypeDetails/fibreSubtype

string

Fibre subtype

The sub-category of the fibre type. For example, G.652.B.

spans/0/fibreTypeDetails/description

string

Description

A description of this span’s fibre type.

spans/0/fibreCount

integer

Fibre count

The number of individual optical fibres in this span.

spans/0/fibreLength

number

Fibre length

The physical length in kilometres, of fibre optic cable used in this span.

spans/0/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.

spans/0/capacity

number

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.

spans/0/capacityDetails

object

Capacity details

Further details about this span’s capacity

spans/0/capacityDetails/description

string

Description

A description of this span’s capacity.

spans/0/countries

array[[string]]

Countries

The countries in which this span is physically located, from the closed country codelist.

spans_networkProviders

This table is related to the following tables:

  • spans: many-to-one by spans/0/id

The fields in this table are listed below. You can also download an example CSV file or a blank template for this table.

Title

Description

Type

Format

Required

id

string

uuid

Required

Identifier

A universally unique identifier for this network, as defined by RFC 4122. For more information, see the identifier reference.

spans/0/id

string

Required

Identifier

An identifier for this span. The identifier must be unique within the scope of the spans array.

spans/0/networkProviders/0/id

string

Required

Local identifier

The local identifier of the organisation being referenced. This must match the .id of an organisation in the organisations array.

spans/0/networkProviders/0/name

string

Name

The name of the organisation being referenced. This must match the .name of the organisation in the organisations array whose .id matches the .id of this organisation reference.

phases

This table is related to the following tables:

The fields in this table are listed below. You can also download an example CSV file or a blank template for this table.

Title

Description

Type

Format

Required

id

string

uuid

Required

Identifier

A universally unique identifier for this network, as defined by RFC 4122. For more information, see the identifier reference.

phases/0/id

string

Required

Identifier

An identifier for this phase. The identifier must be unique within the scope of the phases array.

phases/0/name

string

Name

A name for this phase.

phases/0/description

string

Description

A description for this phase.

phases_funders

This table is related to the following tables:

  • phases: many-to-one by phases/0/id

The fields in this table are listed below. You can also download an example CSV file or a blank template for this table.

Title

Description

Type

Format

Required

id

string

uuid

Required

Identifier

A universally unique identifier for this network, as defined by RFC 4122. For more information, see the identifier reference.

phases/0/id

string

Required

Identifier

An identifier for this phase. The identifier must be unique within the scope of the phases array.

phases/0/funders/0/id

string

Required

Local identifier

The local identifier of the organisation being referenced. This must match the .id of an organisation in the organisations array.

phases/0/funders/0/name

string

Name

The name of the organisation being referenced. This must match the .name of the organisation in the organisations array whose .id matches the .id of this organisation reference.

organisations

This table is related to the following tables:

The fields in this table are listed below. You can also download an example CSV file or a blank template for this table.

Title

Description

Type

Format

Required

id

string

uuid

Required

Identifier

A universally unique identifier for this network, as defined by RFC 4122. For more information, see the identifier reference.

organisations/0/id

string

Required

Local identifier

A local identifier for this organisation. The identifier must be unique within the scope of the organisations array.

organisations/0/name

string

Name

A name for this organisation.

organisations/0/identifier

object

Organisation identifier

An identifier for this organisation.

organisations/0/identifier/id

string

Identifier

The identifier assigned to the organisation in the register identified in .scheme.

organisations/0/identifier/scheme

string

Scheme

The register from which the identifier in .id is drawn, from the open organisationIdentifierScheme codelist.

organisations/0/identifier/legalName

string

Legal name

The legally registered name of the organisation

organisations/0/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 Organisation.website.

organisations/0/country

string

Country

The country in which this organisation is legally registered, from the closed country codelist.

organisations/0/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.

organisations/0/roleDetails

string

Role details

Further details about this organisation’s roles in the network

organisations/0/website

string

iri

Website

The URL of the website for this organisation.

string

iri

Logo

The URL of the logo for this organisation.

contracts

This table is related to the following tables:

The fields in this table are listed below. You can also download an example CSV file or a blank template for this table.

Title

Description

Type

Format

Required

id

string

uuid

Required

Identifier

A universally unique identifier for this network, as defined by RFC 4122. For more information, see the identifier reference.

contracts/0/id

string

Required

Identifier

An identifier for this contract. The identifier must be unique within the scope of the contracts array.

contracts/0/title

string

Contract title

A title for this contract.

contracts/0/description

string

Contract description

A description for this contract.

contracts/0/type

string

Contract type

The type of this contract, from the open contractType codelist.

contracts/0/value

object

Contract value

The value of this contract.

contracts/0/value/amount

number

Amount

The amount of this value.

contracts/0/value/currency

string

Currency

The currency of this value, from the closed currency codelist.

contracts/0/dateSigned

string

date

Date signed

The date this contract was signed.

contracts_documents

This table is related to the following tables:

The fields in this table are listed below. You can also download an example CSV file or a blank template for this table.

Title

Description

Type

Format

Required

id

string

uuid

Required

Identifier

A universally unique identifier for this network, as defined by RFC 4122. For more information, see the identifier reference.

contracts/0/id

string

Required

Identifier

An identifier for this contract. The identifier must be unique within the scope of the contracts array.

contracts/0/documents/0/title

string

Title

A title for this document.

contracts/0/documents/0/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.

contracts/0/documents/0/url

string

iri

URL

A web address for accessing this document.

contracts/0/documents/0/format

string

Format

The format of this document, from the open mediaType codelist.

contracts_relatedPhases

This table is related to the following tables:

The fields in this table are listed below. You can also download an example CSV file or a blank template for this table.

Title

Description

Type

Format

Required

id

string

uuid

Required

Identifier

A universally unique identifier for this network, as defined by RFC 4122. For more information, see the identifier reference.

contracts/0/id

string

Required

Identifier

An identifier for this contract. The identifier must be unique within the scope of the contracts array.

contracts/0/relatedPhases/0/id

string

Required

Identifier

The identifier of the phase being referenced. This must match the .id of a phase in the phases array.

contracts/0/relatedPhases/0/name

string

Name

The name of the phase being referenced. This must match the .name of the phase in the phases array whose .id matches the .id of this phase reference.