-
-
Notifications
You must be signed in to change notification settings - Fork 76
QuantityKind Vocabulary Submission Guidelines
This document describes the required procedures to submit a conforming quantity kind to an existing quantity kind vocabulary file, as well as the required metadata for submitting a new quantity kind vocabulary file (such as a new domain-specific vocabulary). Please follow our git best practices.
Adding a quantity kind to an existing vocabulary file (Recommended method)
Adding a new quantity kind vocabulary file
To add a new quantity kind to the existing vocabularies, code should be added either directly to the file, or to a staging file in the /submissions folder (If there is uncertainty, please ask). Example entries are given below. The following 5 naming rules apply:
Of course, each qname must be unique in the quantitykind: namespace.
-
Rule 1: Camel Case notation (no hyphens or underscores allowed except as per Rule 2)
Example: AtmosphericPressure
-
Rule 2: Concept qualifiers (sub types, as in skos:broader) follow the base quantity with an underscore
Examples: Charge_Atomic where Atomic is the qualifier and Charge is the base quantity Mass_Atomic where Atomic is the qualifier and Mass is the base quantity
-
Rule 3: Where multiple concept qualifiers exist for a unit they will be aggregated as per Rule 1, (camel case)
-
Rule 4: Exponents, when they occur in the quantity kind, appear as text after the base quantity
Example: ElectricDipoleMoment_CubicPerEnergy_Squared where Cubic is the exponent for the ElectricDipoleMoment base quantity in the numerator, and Squared is the exponent for the Energy base quantity in the denominator
-
Rule 5: Complex (numerator/denominator) quantity kinds
Include "Per" in the Name
Example: ElectricDipoleMoment_CubicPerEnergy_Squared where ElectricDipoleMoment_Cubic is one quantity, Energy_Squared is another, and the combination is this quantity kind
The following 6 rules apply to specialty quantity kinds
-
Rule 6: Constant quantity kinds
Base quantity is terminated by the word "Constant"
Examples: AvogadroConstant BoltzmannConstant DecayConstant
-
Rule 7: Coefficient quantity kinds
Base quantity is terminated by the word "Coefficient"
Examples: CombinedNonEvaporativeHeatTransferCoefficient DiffusionCoefficient DragCoefficient
-
Rule 8: Threshold quantity kinds
Base quantity is terminated by the word "Threshold"
Examples: ColdReceptorThreshold OlfactoryThreshold SignalDetectionThreshold
-
Rule 9: Factor quantity kinds
Base quantity is terminated by the word "Factor"
Examples: CompressibilityFactor CouplingFactor Debye-WallerFactor
-
Rule 10: Ratio quantity kinds
Base quantity is terminated by the word "Ratio"
Examples: DimensionlessRatio ElectricalPowerToMassRatio HeatCapacityRatio
-
Rule 11: Number quantity kinds
No real base quantity, the word "Number" is part of the unitless quantity kind
Examples: AtomicNumber ChargeNumber QuantumNumber StoichiometricNumber
The absolute minimum set of required properties are shown in the following example:
quantitykind:AbsorbedDose
rdf:type qudt:QuantityKind ;
qudt:hasDimensionVector qkdv:A0E0L2I0M0H0T-2D0 ;
qudt:plainTextDescription "Absorbed Dose (also known as Total Ionizing Dose, TID) is a measure of the energy deposited in a medium by ionizing radiation. It is equal to the energy deposited per unit mass of medium, and so has the unit J/kg, which is given the special name Gray (Gy)." ;
rdfs:isDefinedBy <http://qudt.org/2.1/vocab/quantitykind> ;
rdfs:label "Absorbed Dose" ;
skos:broader quantitykind:SpecificEnergy ;
.
In other words,
- rdf:type . qudt:QuantityKind, and optionally any other qudt class names in the QuantityKind class hierarchy
- qudt:hasDimensionVector . The dimensions associated with this quantity kind
- qudt:plainTextDescription . Some sort of description (No language tags here, please).
- rtfs:label . The appropriate label for this quantitykind, following the same conventions as for Units, described here.
- rdfs:isDefinedBy . The graph this quantitykind is defined in (which by convention is uniquely associated with the containing file)
- skos:broader . Required if this is a specialization of another quantity kind (i.e. it has the same dimensionality, but is more specific).
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.
quantitykind:AbsorbedDose
qudt:symbol "D" ;
qudt:exactMatch <http://dbpedia.org/resource/Absorbed_dose> ;
skos:prefLabel "Absorbed Dose" ;
prov:wasDerivedFrom <http://www.iso.org/iso/catalogue_detail?csnumber=31895> ;
prov:wasInfluencedBy <http://en.wikipedia.org/wiki/Absorbed_dose> ;
.
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 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 quantitykind (with qname quantity:ExampleTemplateQuantityKind) 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-QUANTITY-KINDS-<TYPE>-v2.1.ttl
Alternatively, you could copy an existing quantitykind 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 2023-05-09 by Steve Ray)