Skip to content

DimensionVector Vocabulary Submission Guidelines

steveraysteveray edited this page Mar 20, 2025 · 15 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 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 ;
  rdfs:isDefinedBy <http://qudt.org/$$QUDT_VERSION$$/vocab/dimension> ;
  rdfs:label "A0E-1L0I0M1H0T-1D0" ;
.

In other words,

  • rdf:type . qudt:ISO-DimensionVector, representing a vector within 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 existence of ElectricCurrent in the dimension vector
  • qudt:dimensionExponentForLength . The exponent representing the existence of Length in the dimension vector
  • qudt:dimensionExponentForLuminousIntensity . The exponent representing the existence of LuminousIntensity in the dimension vector
  • qudt:dimensionExponentForMass . The exponent representing the existence of Mass in the dimension vector
  • qudt:dimensionExponentForThermodynamicTemperature . The exponent representing the existence of ThermodynamicTemperature in the dimension vector
  • qudt:dimensionExponentForTime . The exponent representing the existence of Time in the dimension vector
  • qudt:dimensionlessExponent . The exponent representing the existence of Dimensionless in the dimension vector
  • qudt:hasReferenceQuantityKind . The reference QuantityKind for this dimension vector (optional)
  • rdfs:isDefinedBy . The graph this dimension vector is defined in (which by convention is uniquely associated with the containing file). Note the variable "$$QUDT_VERSION$$" in the graph URI that gets converted to a version number during the build process.

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.

All possible properties that could be included can be found in the QUDT Schema file https://github.com/qudt/qudt-public-repo/blob/main/src/main/rdf/schema/SCHEMA_QUDT.ttl for OWL, or https://github.com/qudt/qudt-public-repo/blob/main/src/main/rdf/schema/shacl/SCHEMA_QUDT_NoOWL.ttl for SHACL.

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

(File last modified 2025-03-20 by Steve Ray)