Modeling Your Domain#
The overall model is broken into sharable components:
Core model - Experimental data design and capture, shared environmental and geographic structures.
Cross-domain models - Elements shared between different Crop or Livestock domains.
Domain model - Elements specific to a particular domain, e.g. cotton crops.
These models are expressed as Shape Expressions (ShEx).
The core model defimes the model for a generic experimental sample.
The cross-domain model “Crop” extends that sample to include attributes common across crop products.
The Cotton model defines a CottonSample
then extends CropSample
.
Building the boxology, roughly, the steps you will perform will be:
Familiarize yourself with the Core model; consider how it intersects with your data capture needs.
Pick a cross-domain model, e.g. Crop or Livestock, that encompasses your domain.
Develop a list of domain-specific entities. For an example, see the Cotton example in the boxology.
Express your domain-model in ShEx; see the Cotton.shex for reference.
Many properties in your domain model will already be defined in NALT. Use those NALT terms where possible.
Where no NALT terms exist, use descriptive property labels. e.g.
MeasuredMicronaire
, as placeholders until the NALT curators can add them to NALT.
Extension of cross-domain models#
Modeling requires iteration and evaluation. You may feel that your domain model includes attributes that should be common to other domains. If they are common to everything within e.g. Crops or Livestoc, propose the ammending of that model.
Creating new cross-domain models#
If your domain attributes are shared with a small subset of the other domains in your cross-domain model, you can develop new models to be shared between those domains. For example, it is likely that the development of a model for sheep farming and sheering will include factoring a fiber model with attributes shared with Cotton.