Custom schema that change over time

Can I use NOMAD if my custom schema change over time? :slight_smile:

Let’s say I have the following xml:

<?xml version='1.0' encoding='UTF-8'?>
<dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
  <experiment id="1" type="transient" name="321321" author="dummy" instrument="instr">
    <inputSequence pSpacing="10.1" nPulses="10">
      <valve name="A" pDelay="0.0" pWidth="100.0" pVoltage="24.0" pressure="35.50">
        <gas name="C2H4" fraction="0.55"/>
        <gas name="Ne" fraction="0.75"/>
      </valve>
    </inputSequence>
    <outputSequence type="qms" location="exit" gainCoefficient="10.0" cTime="10.0" nPoints="10000">
      <response id="1" amu="25.9" gain="8"/>
      <response id="2" amu="19.9" gain="8"/>
      <data type="tdms">./321321.tdms</data>
    </outputSequence>
  </experiment>
</dataset>

The following are the steps I have in my mind:

  • First, I will make a yaml file based on the schema of the above XML.
  • Upload schema file to nomad.
  • Upload some data (stored as a json) matching the yaml schema using python.
  • Change schema and upload the updated schema rewriting the old one.

It would be a great help if you can answer the following questions:

  1. Does the above steps make sense when I have all my experiment data currently available as xml files?
  2. If I add a new xml tag to the existing schema (for example, add a new <data> tag inside <outputSequence> in the above shared xml), will I be able to still use the old data records. (This is analogous to an example situation where a table with columns A,B,C is added with another column D after some data is populated.)
  3. What will happen if I remove an existing xml tag and update the schema? What will happen to the existing records? (This is analogous to an example situation where a table with columns A,B,C undergoes a deletion of column C after data is populated.)
  4. What will happen if I delete the schema file itself from NOMAD after uploading some data using API? Will the uploaded data records will become unreadable?

Thanks in advance!