ICAT Schema
Application, DataCollection, DataCollectionDatafile, DataCollectionDataset, DataCollectionParameter, Datafile, DatafileFormat, DatafileParameter, Dataset, DatasetParameter, DatasetType, Facility, FacilityCycle, Grouping, Instrument, InstrumentScientist, Investigation, InvestigationGroup, InvestigationInstrument, InvestigationParameter, InvestigationType, InvestigationUser, Job, Keyword, ParameterType, PermissibleStringValue, PublicStep, Publication, RelatedDatafile, Rule, Sample, SampleParameter, SampleType, Shift, Study, StudyInvestigation, User, UserGroup
Application
Some piece of software
Uniqueness constraint facility, name, version
Relationships
Card | Class | Field | Cascaded | Description |
1,1 | Facility | facility | | |
0,* | Job | jobs | Yes | |
Other fields
Field | Type | Description |
modId | String | |
name | String [255] NOT NULL | A short name for the software - e.g. mantid |
createId | String | |
version | String [255] NOT NULL | |
createTime | Date | |
modTime | Date | |
DataCollection
A set of Datafiles and Datasets which can span investigations and facilities. Note that it has no constraint fields. It is expected that a DataCollection would be identified by its parameters or its relationship to a Job.
Relationships
Other fields
Field | Type | Description |
doi | String [255] | The Digital Object Identifier associated with this data file |
modId | String | |
createId | String | |
createTime | Date | |
modTime | Date | |
DataCollectionDatafile
Represents a many-to-many relationship between a DataCollection and its Datafiles.
Uniqueness constraint dataCollection, datafile
Relationships
Other fields
Field | Type | Description |
modId | String | |
createId | String | |
createTime | Date | |
modTime | Date | |
DataCollectionDataset
Represents a many-to-many relationship between a DataCollection and its datasets.
Uniqueness constraint dataCollection, dataset
Relationships
Other fields
Field | Type | Description |
modId | String | |
createId | String | |
createTime | Date | |
modTime | Date | |
DataCollectionParameter
A parameter associated with a DataCollection
Uniqueness constraint dataCollection, type
Relationships
Card | Class | Field | Cascaded | Description |
1,1 | ParameterType | type | | The type of the parameter |
1,1 | DataCollection | dataCollection | | The associated DataCollection |
Other fields
Field | Type | Description |
stringValue | String [4000] | The value if the parameter is a string |
rangeBottom | Double | The minimum value of the numeric parameter that was observed during the measurement period |
createId | String | |
createTime | Date | |
modTime | Date | |
dateTimeValue | Date | The value if the parameter is a date |
modId | String | |
error | Double | The error of the numeric parameter |
numericValue | Double | The value if the parameter is numeric |
rangeTop | Double | The maximum value of the numeric parameter that was observed during the measurement period |
Datafile
A data file
Uniqueness constraint dataset, name
Relationships
Other fields
Field | Type | Description |
fileSize | Long | Expressed in bytes |
location | String [255] | The logical location of the file - which may also be the physical location |
checksum | String [255] | Checksum of file represented as a string |
name | String [255] NOT NULL | A name given to the file |
createId | String | |
doi | String [255] | The Digital Object Identifier associated with this data file |
createTime | Date | |
modTime | Date | |
datafileModTime | Date | Date of modification of the actual file rather than of the metadata |
modId | String | |
datafileCreateTime | Date | Date of creation of the actual file rather than storing the metadata |
description | String [255] | A full description of the file contents |
A data file format
Uniqueness constraint facility, name, version
Relationships
Card | Class | Field | Cascaded | Description |
0,* | Datafile | datafiles | Yes | Files with this format |
1,1 | Facility | facility | | The facility which has defined this format |
Other fields
Field | Type | Description |
modId | String | |
description | String [255] | An informal description of the format |
name | String [255] NOT NULL | A short name identifying the format -e.g. "mp3" within the facility |
version | String [255] NOT NULL | The version if needed. The version code may be part of the basic name |
createId | String | |
type | String [255] | Holds the underlying format - such as binary or text |
createTime | Date | |
modTime | Date | |
DatafileParameter
A parameter associated with a data file
Uniqueness constraint datafile, type
Relationships
Card | Class | Field | Cascaded | Description |
1,1 | ParameterType | type | | The type of the parameter |
1,1 | Datafile | datafile | | The associated data file |
Other fields
Field | Type | Description |
stringValue | String [4000] | The value if the parameter is a string |
rangeBottom | Double | The minimum value of the numeric parameter that was observed during the measurement period |
createId | String | |
createTime | Date | |
modTime | Date | |
dateTimeValue | Date | The value if the parameter is a date |
modId | String | |
error | Double | The error of the numeric parameter |
numericValue | Double | The value if the parameter is numeric |
rangeTop | Double | The maximum value of the numeric parameter that was observed during the measurement period |
Dataset
A collection of data files and part of an investigation
Uniqueness constraint investigation, name
Relationships
Other fields
Field | Type | Description |
name | String [255] NOT NULL | A short name for the data set |
location | String [255] | Identifies a location from which all the files of the data set might be accessed. It might be a directory |
complete | boolean NOT NULL | May be set to true when all data files and parameters have been added to the data set. The precise meaning is facility dependent. |
startDate | Date | |
doi | String [255] | The Digital Object Identifier associated with this data set |
createId | String | |
createTime | Date | |
modTime | Date | |
description | String [255] | An informal description of the data set |
modId | String | |
endDate | Date | |
DatasetParameter
A parameter associated with a data set
Uniqueness constraint dataset, type
Relationships
Card | Class | Field | Cascaded | Description |
1,1 | ParameterType | type | | The type of the parameter |
1,1 | Dataset | dataset | | The associated data set |
Other fields
Field | Type | Description |
stringValue | String [4000] | The value if the parameter is a string |
rangeBottom | Double | The minimum value of the numeric parameter that was observed during the measurement period |
createId | String | |
createTime | Date | |
modTime | Date | |
dateTimeValue | Date | The value if the parameter is a date |
modId | String | |
error | Double | The error of the numeric parameter |
numericValue | Double | The value if the parameter is numeric |
rangeTop | Double | The maximum value of the numeric parameter that was observed during the measurement period |
DatasetType
A type of data set
Uniqueness constraint facility, name
Relationships
Card | Class | Field | Cascaded | Description |
0,* | Dataset | datasets | Yes | |
1,1 | Facility | facility | | The facility which has defined this data set type |
Other fields
Field | Type | Description |
description | String [255] | A description of this data set type |
name | String [255] NOT NULL | A short name identifying this data set type within the facility |
modId | String | |
createId | String | |
createTime | Date | |
modTime | Date | |
Facility
An experimental facility
Uniqueness constraint name
Relationships
Other fields
Field | Type | Description |
daysUntilRelease | Integer | The number of days before data is made freely available after collecting it. |
url | String [255] | A URL associated with this facility |
createId | String | |
description | String [1023] | A description of this facility |
fullName | String [255] | The full name of the facility |
createTime | Date | |
modTime | Date | |
modId | String | |
name | String [255] NOT NULL | A short name identifying this facility |
FacilityCycle
An operating cycle within a facility
Uniqueness constraint facility, name
Relationships
Card | Class | Field | Cascaded | Description |
1,1 | Facility | facility | | The facility which has this cycle |
Other fields
Field | Type | Description |
name | String [255] NOT NULL | A short name identifying this facility cycle within the facility |
description | String [255] | A description of this facility cycle |
modId | String | |
startDate | Date | Start of cycle |
createId | String | |
endDate | Date | End of cycle |
createTime | Date | |
modTime | Date | |
Grouping
A group of users
Uniqueness constraint name
Relationships
Other fields
Field | Type | Description |
modId | String | |
name | String [255] NOT NULL | A short name identifying this group of users |
createId | String | |
createTime | Date | |
modTime | Date | |
Instrument
Used by a user within an investigation
Uniqueness constraint facility, name
Relationships
Other fields
Field | Type | Description |
name | String [255] NOT NULL | A short name identifying this instrument within the facility |
createId | String | |
createTime | Date | |
modTime | Date | |
url | String [255] | A URL associated with this instrument |
type | String [255] | |
pid | String [255] | A persistent identifier attributed to this instrument |
modId | String | |
description | String [4000] | A description of this instrument |
fullName | String [255] | The formal name of this instrument |
InstrumentScientist
Relationship between an ICAT user as an instrument scientist and the instrument
Uniqueness constraint user, instrument
Relationships
Other fields
Field | Type | Description |
modId | String | |
createId | String | |
createTime | Date | |
modTime | Date | |
Investigation
An investigation or experiment
Uniqueness constraint facility, name, visitId
Relationships
Card | Class | Field | Cascaded | Description |
0,* | Sample | samples | Yes | |
0,* | StudyInvestigation | studyInvestigations | Yes | |
0,* | Shift | shifts | Yes | |
1,1 | Facility | facility | | |
0,* | InvestigationUser | investigationUsers | Yes | |
0,* | Keyword | keywords | Yes | |
0,* | InvestigationParameter | parameters | Yes | |
0,* | Publication | publications | Yes | |
0,* | InvestigationInstrument | investigationInstruments | Yes | |
0,* | Dataset | datasets | Yes | |
0,* | InvestigationGroup | investigationGroups | Yes | |
1,1 | InvestigationType | type | | |
Other fields
Field | Type | Description |
name | String [255] NOT NULL | A short name for the investigation |
startDate | Date | |
doi | String [255] | The Digital Object Identifier associated with this investigation |
summary | String [4000] | Summary or abstract |
modId | String | |
releaseDate | Date | When the data will be made freely available |
visitId | String [255] NOT NULL | Identifier for the visit to which this investigation is related |
createId | String | |
createTime | Date | |
modTime | Date | |
endDate | Date | |
title | String [255] NOT NULL | Full title of the investigation |
InvestigationGroup
Many to many relationship between investigation and group which might be used within authorization rules. Please see InvestigationUser
Uniqueness constraint grouping, investigation, role
Relationships
Other fields
Field | Type | Description |
role | String [255] NOT NULL | A role showing the position of the members of the group with respect to the investigation |
modId | String | |
createId | String | |
createTime | Date | |
modTime | Date | |
InvestigationInstrument
Represents a many-to-many relationship between an investigation and the instruments assigned
Uniqueness constraint investigation, instrument
Relationships
Other fields
Field | Type | Description |
modId | String | |
createId | String | |
createTime | Date | |
modTime | Date | |
InvestigationParameter
A parameter associated with an investigation
Uniqueness constraint investigation, type
Relationships
Card | Class | Field | Cascaded | Description |
1,1 | Investigation | investigation | | The associated investigation |
1,1 | ParameterType | type | | The type of the parameter |
Other fields
Field | Type | Description |
stringValue | String [4000] | The value if the parameter is a string |
rangeBottom | Double | The minimum value of the numeric parameter that was observed during the measurement period |
createId | String | |
createTime | Date | |
modTime | Date | |
dateTimeValue | Date | The value if the parameter is a date |
modId | String | |
error | Double | The error of the numeric parameter |
numericValue | Double | The value if the parameter is numeric |
rangeTop | Double | The maximum value of the numeric parameter that was observed during the measurement period |
InvestigationType
A type of investigation
Uniqueness constraint name, facility
Relationships
Card | Class | Field | Cascaded | Description |
0,* | Investigation | investigations | Yes | |
1,1 | Facility | facility | | The facility which has defined this investigation type |
Other fields
Field | Type | Description |
modId | String | |
description | String [255] | A description of this type of investigation |
name | String [255] NOT NULL | A short name identifying this type of investigation |
createId | String | |
createTime | Date | |
modTime | Date | |
InvestigationUser
Many to many relationship between investigation and user. It is expected that this will show the association of individual users with an investigation which might be derived from the proposal. It may also be used as the basis of authorization rules. See InvestigationGroup if you wish to separate authorization rules from who is on the proposal.
Uniqueness constraint user, investigation, role
Relationships
Other fields
Field | Type | Description |
modId | String | |
role | String [255] NOT NULL | A role such as PI showing the position of the user with respect to the investigation |
createId | String | |
createTime | Date | |
modTime | Date | |
Job
A run of an application with its related inputs and outputs
Relationships
Other fields
Field | Type | Description |
modId | String | |
createId | String | |
createTime | Date | |
modTime | Date | |
arguments | String [255] | |
Keyword
Must be related to an investigation
Uniqueness constraint name, investigation
Relationships
Card | Class | Field | Cascaded | Description |
1,1 | Investigation | investigation | | The investigation to which this keyword applies |
Other fields
Field | Type | Description |
modId | String | |
createId | String | |
createTime | Date | |
modTime | Date | |
name | String [255] NOT NULL | The name of the keyword |
ParameterType
A parameter type with unique name and units
Uniqueness constraint facility, name, units
Relationships
Other fields
Field | Type | Description |
pid | String [255] | A persistent identifier attributed to this parameter type |
units | String [255] NOT NULL | The name of the parameter type units |
description | String [255] | Description of the parameter type |
modId | String | |
applicableToSample | boolean | If a parameter of this type may be applied to a sample |
valueType | ParameterValueType NOT NULL | enum with possible values: NUMERIC, STRING, DATE_AND_TIME |
verified | boolean | If ordinary users are allowed to create their own parameter types this indicates that this one has been approved |
applicableToDataset | boolean | If a parameter of this type may be applied to a data set |
applicableToDataCollection | boolean | If a parameter of this type may be applied to a DataCollection |
minimumNumericValue | Double | |
enforced | boolean | True if constraints are enforced |
createId | String | |
createTime | Date | |
modTime | Date | |
applicableToInvestigation | boolean | If a parameter of this type may be applied to an investigation |
name | String [255] NOT NULL | The name of the parameter type |
unitsFullName | String [255] | The formal name of the parameter type units |
applicableToDatafile | boolean | If a parameter of this type may be applied to a data file |
maximumNumericValue | Double | |
PermissibleStringValue
Permissible value for string parameter types
Uniqueness constraint value, type
Relationships
Card | Class | Field | Cascaded | Description |
1,1 | ParameterType | type | | The parameter type to which this permissible string value applies |
Other fields
Field | Type | Description |
modId | String | |
value | String [255] NOT NULL | The value of the string |
createId | String | |
createTime | Date | |
modTime | Date | |
PublicStep
An allowed step for an INCLUDE identifed by the origin entity and the field name for navigation. Including an entry here is much more efficient than having to use the authorization rules.
Uniqueness constraint origin, field
Relationships
Card | Class | Field | Cascaded | Description |
Other fields
Field | Type | Description |
field | String [32] NOT NULL | The field used to represent the relationship on the origin side |
origin | String [32] NOT NULL | The origin entity |
modId | String | |
createId | String | |
createTime | Date | |
modTime | Date | |
Publication
A publication
Relationships
Other fields
Field | Type | Description |
fullReference | String [511] NOT NULL | A reference in the form to be used for citation |
modId | String | |
repository | String [255] | The name of a repository where the publication is held |
url | String [255] | A URL from which the publication may be downloaded |
doi | String [255] | The Digital Object Identifier associated with this publication |
repositoryId | String [255] | The id of the publication within the repository |
createId | String | |
createTime | Date | |
modTime | Date | |
Used to represent an arbitrary relationship between data files
Uniqueness constraint sourceDatafile, destDatafile
Relationships
Card | Class | Field | Cascaded | Description |
1,1 | Datafile | sourceDatafile | | |
1,1 | Datafile | destDatafile | | |
Other fields
Field | Type | Description |
modId | String | |
relation | String [255] NOT NULL | Identifies the type of relationship between the two datafiles - e.g. "COPY" |
createId | String | |
createTime | Date | |
modTime | Date | |
Rule
An authorization rule
Relationships
Card | Class | Field | Cascaded | Description |
0,1 | Grouping | grouping | | |
Other fields
Field | Type | Description |
crudFlags | String [4] NOT NULL | Contains letters from the set "CRUD" |
modId | String | |
what | String [1024] NOT NULL | To what the rules applies |
createId | String | |
createTime | Date | |
modTime | Date | |
Sample
A sample to be used in an investigation
Uniqueness constraint investigation, name
Relationships
Other fields
Field | Type | Description |
name | String [255] NOT NULL | |
pid | String [255] | A persistent identifier attributed to this sample |
modId | String | |
createId | String | |
createTime | Date | |
modTime | Date | |
SampleParameter
A parameter associated with a sample
Uniqueness constraint sample, type
Relationships
Card | Class | Field | Cascaded | Description |
1,1 | Sample | sample | | The associated sample |
1,1 | ParameterType | type | | The type of the parameter |
Other fields
Field | Type | Description |
stringValue | String [4000] | The value if the parameter is a string |
rangeBottom | Double | The minimum value of the numeric parameter that was observed during the measurement period |
createId | String | |
createTime | Date | |
modTime | Date | |
dateTimeValue | Date | The value if the parameter is a date |
modId | String | |
error | Double | The error of the numeric parameter |
numericValue | Double | The value if the parameter is numeric |
rangeTop | Double | The maximum value of the numeric parameter that was observed during the measurement period |
SampleType
A sample to be used in an investigation
Uniqueness constraint facility, name, molecularFormula
Relationships
Card | Class | Field | Cascaded | Description |
0,* | Sample | samples | Yes | |
1,1 | Facility | facility | | The facility which has defined this sample type |
Other fields
Field | Type | Description |
modId | String | |
molecularFormula | String [255] NOT NULL | The formula written as a string -e.g. C2H6O2 for ethylene glycol |
name | String [255] NOT NULL | |
safetyInformation | String [4000] | Any safety information related to this sample |
createId | String | |
createTime | Date | |
modTime | Date | |
Shift
A period of time related to an investigation
Uniqueness constraint investigation, startDate, endDate
Relationships
Card | Class | Field | Cascaded | Description |
1,1 | Investigation | investigation | | |
0,1 | Instrument | instrument | | The instrument, if this shift is associated to one |
Other fields
Field | Type | Description |
comment | String [255] | |
startDate | Date NOT NULL | |
modId | String | |
createId | String | |
createTime | Date | |
modTime | Date | |
endDate | Date NOT NULL | |
Study
A study which may be related to an investigation
Relationships
Card | Class | Field | Cascaded | Description |
0,1 | User | user | | The user responsible for the study |
0,* | StudyInvestigation | studyInvestigations | Yes | |
Other fields
Field | Type | Description |
startDate | Date | The start date of this study |
status | StudyStatus | The status of the study. Possible values are: NEW, IN_PROGRESS, COMPLETE, CANCELLED |
name | String [255] NOT NULL | The name of the study |
createId | String | |
createTime | Date | |
modTime | Date | |
endDate | Date | The end date of this study |
modId | String | |
description | String [4000] | A description of the study and its purpose |
pid | String [255] | A persistent identifier attributed to this study |
StudyInvestigation
Many to many relationship between study and investigation
Uniqueness constraint study, investigation
Relationships
Other fields
Field | Type | Description |
modId | String | |
createId | String | |
createTime | Date | |
modTime | Date | |
User
A user of the facility
Uniqueness constraint name
Relationships
Other fields
Field | Type | Description |
fullName | String [255] | May include title |
givenName | String [255] | The given name of the user |
createId | String | |
createTime | Date | |
modTime | Date | |
email | String [255] | An email address for the user |
name | String [255] NOT NULL | The name of the user to match that provided by the authentication mechanism |
modId | String | |
affiliation | String [255] | The home institute or other affiliation of the user |
orcidId | String [255] | An ORCID iD for the user |
familyName | String [255] | The family name of the user |
UserGroup
Many to many relationship between user and group
Uniqueness constraint user, grouping
Relationships
Card | Class | Field | Cascaded | Description |
1,1 | User | user | | |
1,1 | Grouping | grouping | | |
Other fields
Field | Type | Description |
modId | String | |
createId | String | |
createTime | Date | |
modTime | Date | |