Skip to content

QuantityKind Vocabulary Submission Guidelines

steveraysteveray edited this page Oct 6, 2023 · 19 revisions

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


Adding a quantity kind to an existing vocabulary file. (Recommended method)

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:

Qname naming rules

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
    

Required quantity kind properties

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 a new quantity kind 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 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)