-
-
Notifications
You must be signed in to change notification settings - Fork 80
DimensionVector Vocabulary Submission Guidelines
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)
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:
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)
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)