Open Geospatial Consortium

Submission Date: 2021-07-28

Approval Date:   2021-09-20

Publication Date:   2021-09-27

External identifier of this OGC® document: http://www.opengis.net/doc/POL-NTS/SPEC/2.1

Internal reference number of this OGC® document:    10-103r1

Version: 2.1

Category: OGC® Policy

Editor:   Gobe Hobona, Simon Cox

OGC Name Type Specification - specification elements

Copyright notice

Copyright © 2021 Open Geospatial Consortium

To obtain additional rights of use, visit http://www.opengeospatial.org/legal/

Warning

This document defines a OGC Policy. It is subject to change without notice. This document is an official position of the OGC membership on this particular topic.

Recipients of this document are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.

Document type:    OGC® Policy

Document subtype:    Name Type Spec

Document stage:    Approved

Document language:  English

License Agreement

Permission is hereby granted by the Open Geospatial Consortium, ("Licensor"), free of charge and subject to the terms set forth below, to any person obtaining a copy of this Intellectual Property and any associated documentation, to deal in the Intellectual Property without restriction (except as set forth below), including without limitation the rights to implement, use, copy, modify, merge, publish, distribute, and/or sublicense copies of the Intellectual Property, and to permit persons to whom the Intellectual Property is furnished to do so, provided that all copyright notices on the intellectual property are retained intact and that each person to whom the Intellectual Property is furnished agrees to the terms of this Agreement.

If you modify the Intellectual Property, all copies of the modified Intellectual Property must include, in addition to the above copyright notice, a notice that the Intellectual Property includes modifications that have not been approved or adopted by LICENSOR.

THIS LICENSE IS A COPYRIGHT LICENSE ONLY, AND DOES NOT CONVEY ANY RIGHTS UNDER ANY PATENTS THAT MAY BE IN FORCE ANYWHERE IN THE WORLD.

THE INTELLECTUAL PROPERTY IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE DO NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE INTELLECTUAL PROPERTY WILL MEET YOUR REQUIREMENTS OR THAT THE OPERATION OF THE INTELLECTUAL PROPERTY WILL BE UNINTERRUPTED OR ERROR FREE. ANY USE OF THE INTELLECTUAL PROPERTY SHALL BE MADE ENTIRELY AT THE USER’S OWN RISK. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ANY CONTRIBUTOR OF INTELLECTUAL PROPERTY RIGHTS TO THE INTELLECTUAL PROPERTY BE LIABLE FOR ANY CLAIM, OR ANY DIRECT, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM ANY ALLEGED INFRINGEMENT OR ANY LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR UNDER ANY OTHER LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH THE IMPLEMENTATION, USE, COMMERCIALIZATION OR PERFORMANCE OF THIS INTELLECTUAL PROPERTY.

This license is effective until terminated. You may terminate it at any time by destroying the Intellectual Property together with all copies in any form. The license will also terminate if you fail to comply with any term or condition of this Agreement. Except as provided in the following sentence, no such termination of this license shall require the termination of any third party end-user sublicense to the Intellectual Property which is in force as of the date of notice of such termination. In addition, should the Intellectual Property, or the operation of the Intellectual Property, infringe, or in LICENSOR’s sole opinion be likely to infringe, any patent, copyright, trademark or other right of a third party, you agree that LICENSOR, in its sole discretion, may terminate this license without any compensation or liability to you, your licensees or any other party. You agree upon termination of any kind to destroy or cause to be destroyed the Intellectual Property together with all copies in any form, whether held by you or by any third party.

Except as contained in this notice, the name of LICENSOR or of any other holder of a copyright in all or part of the Intellectual Property shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Intellectual Property without prior written authorization of LICENSOR or such copyright holder. LICENSOR is and shall at all times be the sole entity that may authorize you or any third party to use certification marks, trademarks or other special designations to indicate compliance with any LICENSOR standards or specifications. This Agreement is governed by the laws of the Commonwealth of Massachusetts. The application to this Agreement of the United Nations Convention on Contracts for the International Sale of Goods is hereby expressly excluded. In the event any provision of this Agreement shall be deemed unenforceable, void or invalid, such provision shall be modified so as to make it valid and enforceable, and as so modified the entire Agreement shall remain in full force and effect. No decision, action or inaction by LICENSOR shall be construed to be a waiver of any rights or remedies available to it.

i. Abstract

The mission of the OGC Naming Authority (OGC-NA) is to provide the means through which OGC resources such as OGC documents, namespaces and ontologies can be controlled and managed such that they can provide clear and well-defined names and definitions. In the terminology defined in ISO 19135, OGC-NA is the Control Body for the register of OGC Names. This document specifies a rule for constructing OGC names that may be used for identifying specification elements defined in the OGC Specification Model – Modular Specification.

ii. Keywords

The following are keywords to be used by search engines and document catalogues.

ogcdoc, OGC document, policy, naming authority, specification

iii. Preface

This document specifies a rule for constructing OGC names that may be used for identifying specification elements defined in the OGC Specification Model – Modular Specification.

iv. Submitting organizations

The following organizations submitted this Document to the Open Geospatial Consortium (OGC):

Organization name(s)

  • Open Geospatial Consortium

  • Commonwealth Scientific and Industrial Research Organisation (CSIRO)

v. Submitters

All questions regarding this submission should be directed to the editor or the submitters:

Table 1. Contacts
Name Affiliation

Gobe Hobona

OGC

Simon Cox

CSIRO

1. Scope

An OGC name must be provided for each normative element within an OGC specification, as described in the OGC Specification Model – Modular Specifications (OGC 08-131r3). These include requirement, requirements-module, requirements-class, conformance-test, conformance-module, conformance-class, and the specification as a whole.

Note that a specification as a whole is the structure composed of constituent requirements- and conformance-classes. This is distinguished from a specification document or standard, which is identified by an OGC name from the 'doc' branch.

2. Conformance

This policy defines the OGC name-type specification for specification elements.

Conformance with this policy shall be checked using the naming rule and naming assignment policy defined in this document.

3. References

IETF: RFC 2141 URN Syntax http://tools.ietf.org/html/rfc2141 (1997)

IETF: RFC 2616 Hypertext Transfer Protocol — HTTP/1.1 http://tools.ietf.org/html/rfc2616 (1999)

IETF: RFC 3986 Uniform Resource Identifier (URI): Generic Syntax http://tools.ietf.org/html/rfc3986 (2005)

IETF: RFC 4395 Guidelines and Registration Procedures for New URI Schemes http://tools.ietf.org/html/rfc4395 (2006)

IETF: RFC 5141 A Uniform Resource Name (URN) Namespace for the International Organization for Standardization (ISO) http://tools.ietf.org/html/rfc5141 (2008)

IETF: RFC 5165 A Uniform Resource Name (URN) Namespace for the Open Geospatial Consortium (OGC) http://tools.ietf.org/html/rfc5165 (2008)

IETF: RFC 5234 Augmented BNF for Syntax Specifications: ABNF http://tools.ietf.org/html/rfc5234 (2008)

OGC: OGC 05-020r25, Technical Committee Policies and Procedures http://docs.opengeospatial.org/pol/05-020r25/05-020r25.html (2017)

OGC: OGC 09-046r2, OGC Naming Authority – Procedures http://portal.opengeospatial.org/files/?artifact_id=37800 (2010)

OGC: OGC 09-047r3, OGC-NA Name type specification – documents http://portal.opengeospatial.org/files/?artifact_id=41774 (2011)

OGC: OGC 08-131r3, OGC Specification Model – Modular Specifications https://portal.opengeospatial.org/files/?artifact_id=34762 (2009)

4. Terms and Definitions

This document uses the terms defined in Sub-clause 5.3 of [OGC 06-121r8], which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this standard.

For the purposes of this document, terms from The Specification Model — A Standard for Modular specifications (OGC 08-131r3) apply. The following terms and definitions are reproduced below for the reader’s convenience:

4.1. requirement

expression in the content of a document conveying criteria to be fulfilled if compliance with the document is to be claimed and from which no deviation is permitted

(Source: ISO Directives Part 2)

4.2. requirements class

aggregate of all requirement modules that must all be satisfied to satisfy a conformance test class

(Source: OGC 08-131r3)

4.3. conformance test class

set of conformance test modules that must be applied to receive a single certificate of conformance

Note
When no ambiguity is possible, the word 'test' may be left out, so conformance test class maybe called a conformance class.

(Source: OGC 08-131r3)

5. Conventions

This document uses the normative terms (SHALL, SHOULD, etc) defined in Subclause 5.3 of [OGC 06-121r3], which is based on the ISO/IEC Directives, Part 2: Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to comply with this specification. Name production rules in this document are expressed using ABNF (IETF RFC 5324).

6. Naming Rule

This section describes the naming rule.

6.1. OGC name schemes

URI schemes [IETF RFC 3986] are defined by OGC to provide persistent names for resources of interest in geographic information infrastructures. The generic syntax for OGC names is described in [OGC Naming Authority – Procedures].

The generic syntax for OGC http URIs is

URI = "http://www.opengis.net/" OGCResource "/" ResourceSpecificPath

The following ABNF adapted from [IETF RFC 3986] provides some basic definitions required in the rest of this document.

segment       = *pchar
segment-nc    = *pchar-nc
segment-nz    = 1*pchar
segment-nz-nc = 1*pchar-nc
pchar         = unreserved / pct-encoded / sub-delims / ":" / "@"
pchar-nc      = unreserved / pct-encoded / sub-delims / "@"
pct-encoded   = "%" HEXDIG HEXDIG
unreserved    = ALPHA / DIGIT / "-" / "." / "_" / "~"
reserved      = gen-delims / sub-delims
gen-delims    = ":" / "/" / "?" / "#" / "[" / "]" / "@"
sub-delims    = "!" / "$" / "&" / "'" / "(" / ")"
              / "*" / "+" / "," / ";" / "="

6.2. Production rule for specification element names

An OGC name for a normative specification element shall be produced using the following rule:

OGCResource          = "spec"
ResourceSpecificPath = standard "/" version [ "/" class "/" name *("/" name) ]
standard             = segment-nz-nc ; value registered as a doc-name for an OGC standard according to [OGC-NA Name type specification – documents]
version              = 1*DIGIT "." 1*DIGIT ["." 1*DIGIT] ; value registered as a doc-version for an OGC implementation standard according to [OGC-NA Name type specification – documents]
class                = "req" / "conf"
name                 = segment-nz-nc

6.3. Segments as Resources

This policy considers each segment along the path of a specification element URI as a resource. Therefore, descriptive information about the resource at that segment shall be returned when the resource is accessed as specified below:

  1. The URI http://www.opengis.net/spec shall return information describing this URI as the namespace for specification elements.

  2. The URI http://www.opengis.net/spec/<standard> shall return information describing this URI as the namespace for specification elements of the standard named by the <standard> segment.

  3. The URI http://www.opengis.net/spec/<standard>/<version> shall return information describing this URI as the namespace for specification elements of version <version> of standard <standard>.

  4. The URI http://www.opengis.net/spec/<standard>/<version>/req shall return information describing this URI as the namespace for requirements and requirements classes in version <version> of standard <standard>.

  5. The URI http://www.opengis.net/spec/<standard>/<version>/conf shall return information describing this URI as the namespace for conformance classes and conformance tests in version <version> of standard <standard>.

6.4. Explanation

This policy document provides a URI structure for specification components, as required by Req 2 in the OGC Policy document [OGC Specification Model – Modular Specifications]:

Req 2 Each component of the standard, including requirements, requirements modules, requirements classes, conformance test cases, conformance modules and conformance classes shall be assigned a URI as specified by the OGC naming authority or its equivalent.

The policy also includes the following requirement relevant to the naming scheme design:

Req 14 For the sake of consistency and readability, all requirements classes and all conformance test classes shall be explicitly named, with corresponding requirements classes and conformance test classes having similar names.

The consistency constraint described in Req 14 links the names of conformance classes to requirements classes. This is not formalized in the production rules, but will be checked during the registration process.

Names for Requirements Classes or Conformance Classes are constructed by appending fields to the name for the Specification. Names for Modules, Requirements and Tests are constructed by appending additional fields to the names for the Requirements Class or Conformance Class. In this way the names reflect the fact that each Module, Requirement and Test is owned by a single Requirements Class or Conformance Class, and each Requirements Class or Conformance Class is owned by a single Specification as specified in the OGC Specification Model – Modular Specifications (OGC 08-131r3).

7. Name Assignment Policy

This section describes the name assignment policy.

7.1. Names

The register of names http://www.opengis.net/register/ogc-na/name is controlled by OGC-NA. Changes to this register (addition, deletion, and supersession) shall be initiated by a submission to the OGC Naming Authority names@ogc.org.

8. Examples

8.1. Specification

Example 1: A specification

http://www.opengis.net/spec/OMXML/2.0
Note
The specification as a whole has a single version designator. Elements within the specification cannot be versioned independently from the specification as a whole.

8.2. Requirements class

Example 2: A requirements class within the previous specification

Note
The first step after the /req/ field provides the name of a requirements-class.

8.3. Specification requirement

Example 3: A specification requirement, within the previous requirements class:

http://www.opengis.net/spec/OMXML/2.0/req/measurement/result-measure
Note
The second step after the /req/ field provides the name of a requirements-module or requirement.

8.4. Conformance class

Example 4: A conformance class within the previous specification

http://www.opengis.net/spec/OMXML/2.0/conf/measurement
Note
The first step after the /conf/ field provides the name of a conformance-class.

8.5. Conformance test

Example 5: A conformance test within the previous conformance-class

http://www.opengis.net/spec/OMXML/2.0/conf/measurement/result-measure
Note
The second step after the /conf/ field provides the name of a conformance-module or conformance-test.

Annex A: Revision History

Date Release Editor Primary clauses modified Description

2009-04-01

0.1

Simon Cox

N/A

Initial draft document

2009-05-21

0.2

Simon Cox

3

Replaced EBNF with ABNF

2009-06-23

1.0

Simon Cox

all

Final scrub for publication

2010-04-01

2.0c1

Simon Cox

all

ABNF revised to match RFC 3986; http URI syntax made explicit spec-element names restructured to reflect context and modular-specifications dependencies

2021-07-28

2.1

Gobe Hobona

6.3

Added section on Segments as Resources

Annex B: Bibliography

[1] OGC: OGC Definitions Server, http://www.opengis.net/def (2018).