Skip to content

DimensionVector Vocabulary Submission Guidelines

steveraysteveray edited this page Oct 6, 2023 · 7 revisions

This document describes the required procedures to submit a conforming dimension vector to an existing dimension vector vocabulary file, as well as the required metadata for submitting a new dimension vector vocabulary file (such as a new domain-specific vocabulary). Please follow our git best practices.

Adding a dimension vector to an existing vocabulary file (Recommended method)

Adding a new dimension vector vocabulary file


Adding a dimension vector to an existing vocabulary file. (Recommended method)

To add a new dimension vector to the existing vocabularies, code should be added to a staging file in the /vocab/dimensions folder. (If there is uncertainty, please ask.) Example entries are given below. The following 3 rules apply:

Qname naming rules

Of course, each qname must be unique in the qkdv: namespace.

The available dimensions are:

  • A: Amount of Substance
  • E: Electric Current
  • L: Length
  • I: Luminous Intensity
  • M: Mass
  • H: Thermodynamic Temperature
  • T: Time
  • D: Dimensionless
  • Rule 1: Notation

    a) - All dimensions are represented with an alphanumeric: ("A" | "E" | "L" | "I" | "M" | "H" | "T" | "D") followed by a numeric: N value, where the AELIMHTD characters are capitalized and the N is an ordinal value representing the power of the associated dimension.

    Examples:
    A-1 . means 1 / AmountOfSubstance
    E0 . means no ElectriCurrent
    L2 . means Length-squared
    
  • Rule 2: Each dimension in ("A" | "E" | "L" | "I" | "M" | "H" | "T" | "D") must be represented in the QName

    Example:
    A-1E0L2I0M1H-1T-2D0
    
  • Rule 3: The dimensions must appear in the A, E, L, I, M, H, T, and D order

    Examples:
    Legal . A-1E0L2I0M1H-1T-2D0
    Not legal . A-1D0E0H-1I0L2M1T-2 (alphabetical)
    

Required dimension vector properties

The absolute minimum set of required properties are shown in the following example:

qkdv:A0E-1L0I0M1H0T-1D0
  rdf:type qudt:ISO-DimensionVector ;
  qudt:dimensionExponentForAmountOfSubstance "0"^^xsd:float ;
  qudt:dimensionExponentForElectricCurrent "-1"^^xsd:float ;
  qudt:dimensionExponentForLength "0"^^xsd:float ;
  qudt:dimensionExponentForLuminousIntensity "0"^^xsd:float ;
  qudt:dimensionExponentForMass "1"^^xsd:float ;
  qudt:dimensionExponentForThermodynamicTemperature "0"^^xsd:float ;
  qudt:dimensionExponentForTime "-1"^^xsd:float ;
  qudt:dimensionlessExponent "0"^^xsd:float ;
  qudt:hasReferenceQuantityKind quantitykind:MassPerElectricCharge ;
  qudt:isDimensionInSystem qudt:SOQ_ISQ ;
  rdfs:isDefinedBy <http://qudt.org/2.1/vocab/dimension> ;
.

In other words,

  • rdf:type . qudt:ISO-DimensionVector, representing a vector run a System of Quantities (possibly multiple)
  • qudt:dimensionExponentForAmountOfSubstance . The exponent to use when AmountOfSubstance is represented in the dimension vector
  • qudt:dimensionExponentForElectricCurrent . The exponent representing the existing of ElectricCurrent in the dimension vector
  • qudt:dimensionExponentForLength . The exponent representing the existing of Length in the dimension vector
  • qudt:dimensionExponentForLuminousIntensity . The exponent representing the existing of LuminousIntensity in the dimension vector
  • qudt:dimensionExponentForMass . The exponent representing the existing of Mass in the dimension vector
  • qudt:dimensionExponentForThermodynamicTemperature . The exponent representing the existing of ThermodynamicTemperature in the dimension vector
  • qudt:dimensionExponentForTime . The exponent representing the existing of Time in the dimension vector
  • qudt:dimensionlessExponent . The exponent representing the existing of Dimensionless in the dimension vector
  • qudt:hasReferenceQuantityKind . The reference QuantityKind for this dimension vector
  • qudt:isDimensionInSystem . The System of Quantities this dimension vector is part of (possibly multiple)
  • rdfs:isDefinedBy . The graph this dimension vector is defined in (which by convention is uniquely associated with the containing file)

There are additional recommended properties, shown in this excerpt. Please note that we are in the process of migrating all the values of qudt:symbol to Unicode, so please do that for any new submissions.

qkdv:A0E-1L0I0M1H0T-1D0
  qudt:hasReferenceQuantityKind quantitykind:MassPerElectricCharge ;
  qudt:isDimensionInSystem qudt:SOQ_SI ;
  qudt:symbol "M T^-1 I^-1" ;
.

All possible properties that could be included can be found in the QUDT Schema file /schema/SCHEMA_QUDT-v2.1.ttl in this repository.

Adding a new dimension vector vocabulary

Adding an entirely new vocabulary involves some additional work related to defining an additional ontology along with the metadata for the ontology and the catalog entries needed to have it appear on the QUDT website. You can use the template vocabulary file found here can be used as a starting point. After making a copy of this template file, change all occurrences of:

  • "Template" to your vocabulary name
  • "2019-01-01" to the date of creation, publication, etc.
  • "9999" to an appropriate code number, if applicable
  • "Your name" to your name

One sample dimension vector (with qname qkdv:ExampleTemplateDimensionVector) is included in the template file, which can be used for reference and then deleted. Remember to change the file name according to the content being added. Below is the file naming convention used in QUDT:

  • VOCAB_QUDT-DIMENSION-VECTORS-<TYPE>-v2.1.ttl

Alternatively, you could copy an existing dimension vector graph and modify it, making sure to follow the naming and property rules.

Once your new vocabulary file has been created, you should submit a pull request as documented in our Git Best Practices.

(File last modified 2019-12-05 by Steve Ray)