Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposed Model Transformation Rule: Abbreviate Compound Property Names to Limit Field Length #103

Open
jsaligoe opened this issue Oct 12, 2019 · 0 comments

Comments

@jsaligoe
Copy link

jsaligoe commented Oct 12, 2019

Review Feedback
For consideration, a Model Transformation (MT) rule to limit field lengths to 30 characters.

MT00X (PROPOSED) Abbreviate Compound Property Names to Limit Field Length

Category
Simplification Rule

Description
This transformation rule helps limit property feature class name lengths to 30 characters through substitution of abbreviated property names. In compound property names, abbreviations are used. Reserved characters and keywords are avoided.

Original vs. Transformed UML Model, where applicable

Original instance in default encoding

Transformed instance in default encoding, where applicable

Model Transformation Rule
Parameters:

  • separator: The character to use to separate the original property name from the type name of the components.

INSPIRE data are often stored in databases before applying Alternative Encodings. To make this rule generally applicable to a variety of platforms, encodings, and development environments, it is suggested to use the lowest common limit to maximum length imposed by different databases, (i.e., 30 character limit imposed by Oracle)[1].

In compound field names, evaluate substituting leading property names using common abbreviation rules or documented code list; terminal part of the property path would be typically be kept.

Abbreviation of former child path name. The prefix of child path names (i.e., name of relate tables) can be abbreviated such that the resulting field character length of renamed child elements are within a 30-character limit.

To promote the greatest level of interoperability among alternative encoding formats and mainstream web and desktop GIS clients, the following should be avoided:

  • Reserved characters, brackets, and symbols should not be incorporated in field names [2]
  • Avoid spaces and certain characters not commonly supported in field names, e.g. hyphens; parentheses; brackets; and symbols such as $, ., %, and #
  • Reserved keywords should be avoided [2][3]
  • Underscore at beginning of field names should be avoided [2]

Instance Transformation Rule

Solved Usability issues
The application of certain Model Transformation (MT) rules, for example MT001 Flatten Nested Structures, can result in very long property names. This is a known usability issue for the new compound field names. These rules therefore recommend they be combined with other rules to help limit the character length of property names.

Known Usability issues
Abbreviations should remain unique within each theme. Each theme-specific model transformation rule should describe the abbreviations used for child properties and document how they map to the UML.

INSPIRE compliance conditions and reversibility
Data transformed using this rule is INSPIRE compliant as long as there is no information loss from the source data.

Examples of use
Limiting field length to 30 characters is used in ArcGIS for INSPIRE. Names of feature classes, object classes, and fields are limited to 30 characters in the geodatabase. The names from the application schemas are therefore typically shortened in the geodatabase.

Additional notes

[ ] ArcGIS Name Length Guide - Field Column Name https://pro.arcgis.com/en/pro-app/help/data/databases/database-data-and-arcgis.htm
[2] ArcGIS Field Naming Guidelines https://desktop.arcgis.com/en/arcmap/latest/manage-data/tables/fundamentals-of-adding-and-deleting-fields.htm#GUID-8E190093-8F8F-4132-AF4F-B0C9220F76B3
[3] List of reserved words in Access 2002 and in later versions of Access https://support.microsoft.com/en-us/help/286335/list-of-reserved-words-in-access-2002-and-in-later-versions-of-access

Other comments

Examples to be provided.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant