Skip to content
Snippets Groups Projects

F yaml documentation

Merged Alexander Schlemmer requested to merge f-yaml-documentation into dev
+ 12
12
@@ -41,24 +41,24 @@ Let's start with an example taken from https://gitlab.indiscale.com/caosdb/src/c
description: 'A table document associated with this recording'
This example defines 3 RecordTypes:
This example defines 3 ``RecordType``s:
- A Project with one obligatory property "datatype"
- A Person with a "firstName" and a "lastName" (as recommended properties)
- A LabbookEntry with multiple recommended properties of different data types
- A ``Project`` with one obligatory property ``datatype``
- A Person with a ``firstName`` and a ``lastName`` (as recommended properties)
- A ``LabbookEntry`` with multiple recommended properties of different data types
One major advantage of using this interface (in contrast to the standard python interface) is that properties can be defined and added to record types "on-the-fly". E.g. the three lines for "firstName" as sub entries of Person have two effects on CaosDB:
One major advantage of using this interface (in contrast to the standard python interface) is that properties can be defined and added to record types "on-the-fly". E.g. the three lines for ``firstName`` as sub entries of ``Person`` have two effects on CaosDB:
- A new property with name "firstName", datatype "TEXT" and description 'first name' is inserted (or updated, if already present) into CaosDB.
- The new property is added as a recommended property to record type Person.
- A new property with name ``firstName``, datatype ``TEXT`` and description ``first name`` is inserted (or updated, if already present) into CaosDB.
- The new property is added as a recommended property to record type ``Person``.
Any furhter occurrences of "firstName" in the yaml file will reuse the definition provided for Person.
Any further occurrences of ``firstName`` in the yaml file will reuse the definition provided for ``Person``.
Note the difference between the three property declarations of LabbookEntry:
Note the difference between the three property declarations of ``LabbookEntry``:
- "Project": This record type is added directly as a property of LabbookEntry. Therefore it does not specify any further attributes. Compare to the original declaration of record type "Project".
- "responsible": This defines and adds a property with name "responsible" to LabbookEntry which has a datatype "Person. Person is defined above.
- "firstName": This defines and adds a property with the standard data type "TEXT" to record type Person.
- ``Project``: This record type is added directly as a property of ``LabbookEntry``. Therefore it does not specify any further attributes. Compare to the original declaration of record type ``Project``.
- ``responsible``: This defines and adds a property with name "responsible" to ``LabbookEntry`, which has a datatype ``Person``. ``Person`` is defined above.
- ``firstName``: This defines and adds a property with the standard data type ``TEXT`` to record type ``Person``.
Datatypes
---------
Loading