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

CardClassFieldCascadedDescription
1,1Facilityfacility
0,*JobjobsYes

Other fields

FieldTypeDescription
modIdString
nameString [255] NOT NULLA short name for the software - e.g. mantid
createIdString
versionString [255] NOT NULL
createTimeDate
modTimeDate

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

CardClassFieldCascadedDescription
0,*JobjobsAsOutputYes
0,*DataCollectionDatafiledataCollectionDatafilesYes
0,*DataCollectionParameterparametersYes
0,*DataCollectionDatasetdataCollectionDatasetsYes
0,*JobjobsAsInputYes

Other fields

FieldTypeDescription
doiString [255]The Digital Object Identifier associated with this data file
modIdString
createIdString
createTimeDate
modTimeDate

DataCollectionDatafile

Represents a many-to-many relationship between a DataCollection and its Datafiles.

Uniqueness constraint dataCollection, datafile

Relationships

CardClassFieldCascadedDescription
1,1Datafiledatafile
1,1DataCollectiondataCollection

Other fields

FieldTypeDescription
modIdString
createIdString
createTimeDate
modTimeDate

DataCollectionDataset

Represents a many-to-many relationship between a DataCollection and its datasets.

Uniqueness constraint dataCollection, dataset

Relationships

CardClassFieldCascadedDescription
1,1Datasetdataset
1,1DataCollectiondataCollection

Other fields

FieldTypeDescription
modIdString
createIdString
createTimeDate
modTimeDate

DataCollectionParameter

A parameter associated with a DataCollection

Uniqueness constraint dataCollection, type

Relationships

CardClassFieldCascadedDescription
1,1ParameterTypetypeThe type of the parameter
1,1DataCollectiondataCollectionThe associated DataCollection

Other fields

FieldTypeDescription
stringValueString [4000]The value if the parameter is a string
rangeBottomDoubleThe minimum value of the numeric parameter that was observed during the measurement period
createIdString
createTimeDate
modTimeDate
dateTimeValueDateThe value if the parameter is a date
modIdString
errorDoubleThe error of the numeric parameter
numericValueDoubleThe value if the parameter is numeric
rangeTopDoubleThe maximum value of the numeric parameter that was observed during the measurement period

Datafile

A data file

Uniqueness constraint dataset, name

Relationships

CardClassFieldCascadedDescription
0,*RelatedDatafiledestDatafilesYes
0,*DatafileParameterparametersYes
1,1DatasetdatasetThe dataset which holds this file
0,*RelatedDatafilesourceDatafilesYes
0,1DatafileFormatdatafileFormat
0,*DataCollectionDatafiledataCollectionDatafilesYes

Other fields

FieldTypeDescription
fileSizeLongExpressed in bytes
locationString [255]The logical location of the file - which may also be the physical location
checksumString [255]Checksum of file represented as a string
nameString [255] NOT NULLA name given to the file
createIdString
doiString [255]The Digital Object Identifier associated with this data file
createTimeDate
modTimeDate
datafileModTimeDateDate of modification of the actual file rather than of the metadata
modIdString
datafileCreateTimeDateDate of creation of the actual file rather than storing the metadata
descriptionString [255]A full description of the file contents

DatafileFormat

A data file format

Uniqueness constraint facility, name, version

Relationships

CardClassFieldCascadedDescription
0,*DatafiledatafilesYesFiles with this format
1,1FacilityfacilityThe facility which has defined this format

Other fields

FieldTypeDescription
modIdString
descriptionString [255]An informal description of the format
nameString [255] NOT NULLA short name identifying the format -e.g. "mp3" within the facility
versionString [255] NOT NULLThe version if needed. The version code may be part of the basic name
createIdString
typeString [255]Holds the underlying format - such as binary or text
createTimeDate
modTimeDate

DatafileParameter

A parameter associated with a data file

Uniqueness constraint datafile, type

Relationships

CardClassFieldCascadedDescription
1,1ParameterTypetypeThe type of the parameter
1,1DatafiledatafileThe associated data file

Other fields

FieldTypeDescription
stringValueString [4000]The value if the parameter is a string
rangeBottomDoubleThe minimum value of the numeric parameter that was observed during the measurement period
createIdString
createTimeDate
modTimeDate
dateTimeValueDateThe value if the parameter is a date
modIdString
errorDoubleThe error of the numeric parameter
numericValueDoubleThe value if the parameter is numeric
rangeTopDoubleThe 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

CardClassFieldCascadedDescription
0,*DatasetParameterparametersYes
0,1Samplesample
0,*DatafiledatafilesYesThe data files within the dataset
1,1DatasetTypetype
0,*DataCollectionDatasetdataCollectionDatasetsYes
1,1Investigationinvestigation

Other fields

FieldTypeDescription
nameString [255] NOT NULLA short name for the data set
locationString [255]Identifies a location from which all the files of the data set might be accessed. It might be a directory
completeboolean NOT NULLMay be set to true when all data files and parameters have been added to the data set. The precise meaning is facility dependent.
startDateDate
doiString [255]The Digital Object Identifier associated with this data set
createIdString
createTimeDate
modTimeDate
descriptionString [255]An informal description of the data set
modIdString
endDateDate

DatasetParameter

A parameter associated with a data set

Uniqueness constraint dataset, type

Relationships

CardClassFieldCascadedDescription
1,1ParameterTypetypeThe type of the parameter
1,1DatasetdatasetThe associated data set

Other fields

FieldTypeDescription
stringValueString [4000]The value if the parameter is a string
rangeBottomDoubleThe minimum value of the numeric parameter that was observed during the measurement period
createIdString
createTimeDate
modTimeDate
dateTimeValueDateThe value if the parameter is a date
modIdString
errorDoubleThe error of the numeric parameter
numericValueDoubleThe value if the parameter is numeric
rangeTopDoubleThe maximum value of the numeric parameter that was observed during the measurement period

DatasetType

A type of data set

Uniqueness constraint facility, name

Relationships

CardClassFieldCascadedDescription
0,*DatasetdatasetsYes
1,1FacilityfacilityThe facility which has defined this data set type

Other fields

FieldTypeDescription
descriptionString [255]A description of this data set type
nameString [255] NOT NULLA short name identifying this data set type within the facility
modIdString
createIdString
createTimeDate
modTimeDate

Facility

An experimental facility

Uniqueness constraint name

Relationships

CardClassFieldCascadedDescription
0,*InstrumentinstrumentsYes
0,*InvestigationTypeinvestigationTypesYes
0,*FacilityCyclefacilityCyclesYes
0,*DatafileFormatdatafileFormatsYes
0,*InvestigationinvestigationsYes
0,*ParameterTypeparameterTypesYes
0,*SampleTypesampleTypesYes
0,*ApplicationapplicationsYes
0,*DatasetTypedatasetTypesYes

Other fields

FieldTypeDescription
daysUntilReleaseIntegerThe number of days before data is made freely available after collecting it.
urlString [255]A URL associated with this facility
createIdString
descriptionString [1023]A description of this facility
fullNameString [255]The full name of the facility
createTimeDate
modTimeDate
modIdString
nameString [255] NOT NULLA short name identifying this facility

FacilityCycle

An operating cycle within a facility

Uniqueness constraint facility, name

Relationships

CardClassFieldCascadedDescription
1,1FacilityfacilityThe facility which has this cycle

Other fields

FieldTypeDescription
nameString [255] NOT NULLA short name identifying this facility cycle within the facility
descriptionString [255]A description of this facility cycle
modIdString
startDateDateStart of cycle
createIdString
endDateDateEnd of cycle
createTimeDate
modTimeDate

Grouping

A group of users

Uniqueness constraint name

Relationships

CardClassFieldCascadedDescription
0,*RulerulesYes
0,*InvestigationGroupinvestigationGroupsYes
0,*UserGroupuserGroupsYes

Other fields

FieldTypeDescription
modIdString
nameString [255] NOT NULLA short name identifying this group of users
createIdString
createTimeDate
modTimeDate

Instrument

Used by a user within an investigation

Uniqueness constraint facility, name

Relationships

CardClassFieldCascadedDescription
0,*ShiftshiftsYesShifts associated with this instrument
0,*InvestigationInstrumentinvestigationInstrumentsYes
1,1FacilityfacilityThe facility which has this instrument
0,*InstrumentScientistinstrumentScientistsYes

Other fields

FieldTypeDescription
nameString [255] NOT NULLA short name identifying this instrument within the facility
createIdString
createTimeDate
modTimeDate
urlString [255]A URL associated with this instrument
typeString [255]
pidString [255]A persistent identifier attributed to this instrument
modIdString
descriptionString [4000]A description of this instrument
fullNameString [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

CardClassFieldCascadedDescription
1,1Useruser
1,1Instrumentinstrument

Other fields

FieldTypeDescription
modIdString
createIdString
createTimeDate
modTimeDate

Investigation

An investigation or experiment

Uniqueness constraint facility, name, visitId

Relationships

CardClassFieldCascadedDescription
0,*SamplesamplesYes
0,*StudyInvestigationstudyInvestigationsYes
0,*ShiftshiftsYes
1,1Facilityfacility
0,*InvestigationUserinvestigationUsersYes
0,*KeywordkeywordsYes
0,*InvestigationParameterparametersYes
0,*PublicationpublicationsYes
0,*InvestigationInstrumentinvestigationInstrumentsYes
0,*DatasetdatasetsYes
0,*InvestigationGroupinvestigationGroupsYes
1,1InvestigationTypetype

Other fields

FieldTypeDescription
nameString [255] NOT NULLA short name for the investigation
startDateDate
doiString [255]The Digital Object Identifier associated with this investigation
summaryString [4000]Summary or abstract
modIdString
releaseDateDateWhen the data will be made freely available
visitIdString [255] NOT NULLIdentifier for the visit to which this investigation is related
createIdString
createTimeDate
modTimeDate
endDateDate
titleString [255] NOT NULLFull 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

CardClassFieldCascadedDescription
1,1Groupinggrouping
1,1Investigationinvestigation

Other fields

FieldTypeDescription
roleString [255] NOT NULLA role showing the position of the members of the group with respect to the investigation
modIdString
createIdString
createTimeDate
modTimeDate

InvestigationInstrument

Represents a many-to-many relationship between an investigation and the instruments assigned

Uniqueness constraint investigation, instrument

Relationships

CardClassFieldCascadedDescription
1,1Instrumentinstrument
1,1Investigationinvestigation

Other fields

FieldTypeDescription
modIdString
createIdString
createTimeDate
modTimeDate

InvestigationParameter

A parameter associated with an investigation

Uniqueness constraint investigation, type

Relationships

CardClassFieldCascadedDescription
1,1InvestigationinvestigationThe associated investigation
1,1ParameterTypetypeThe type of the parameter

Other fields

FieldTypeDescription
stringValueString [4000]The value if the parameter is a string
rangeBottomDoubleThe minimum value of the numeric parameter that was observed during the measurement period
createIdString
createTimeDate
modTimeDate
dateTimeValueDateThe value if the parameter is a date
modIdString
errorDoubleThe error of the numeric parameter
numericValueDoubleThe value if the parameter is numeric
rangeTopDoubleThe maximum value of the numeric parameter that was observed during the measurement period

InvestigationType

A type of investigation

Uniqueness constraint name, facility

Relationships

CardClassFieldCascadedDescription
0,*InvestigationinvestigationsYes
1,1FacilityfacilityThe facility which has defined this investigation type

Other fields

FieldTypeDescription
modIdString
descriptionString [255]A description of this type of investigation
nameString [255] NOT NULLA short name identifying this type of investigation
createIdString
createTimeDate
modTimeDate

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

CardClassFieldCascadedDescription
1,1Useruser
1,1Investigationinvestigation

Other fields

FieldTypeDescription
modIdString
roleString [255] NOT NULLA role such as PI showing the position of the user with respect to the investigation
createIdString
createTimeDate
modTimeDate

Job

A run of an application with its related inputs and outputs

Relationships

CardClassFieldCascadedDescription
1,1Applicationapplication
0,1DataCollectionoutputDataCollection
0,1DataCollectioninputDataCollection

Other fields

FieldTypeDescription
modIdString
createIdString
createTimeDate
modTimeDate
argumentsString [255]

Keyword

Must be related to an investigation

Uniqueness constraint name, investigation

Relationships

CardClassFieldCascadedDescription
1,1InvestigationinvestigationThe investigation to which this keyword applies

Other fields

FieldTypeDescription
modIdString
createIdString
createTimeDate
modTimeDate
nameString [255] NOT NULLThe name of the keyword

ParameterType

A parameter type with unique name and units

Uniqueness constraint facility, name, units

Relationships

CardClassFieldCascadedDescription
1,1FacilityfacilityThe facility which has defined this data set type
0,*DatafileParameterdatafileParametersYes
0,*PermissibleStringValuepermissibleStringValuesYes
0,*DatasetParameterdatasetParametersYes
0,*InvestigationParameterinvestigationParametersYes
0,*SampleParametersampleParametersYes
0,*DataCollectionParameterdataCollectionParametersYes

Other fields

FieldTypeDescription
pidString [255]A persistent identifier attributed to this parameter type
unitsString [255] NOT NULLThe name of the parameter type units
descriptionString [255]Description of the parameter type
modIdString
applicableToSamplebooleanIf a parameter of this type may be applied to a sample
valueTypeParameterValueType NOT NULLenum with possible values: NUMERIC, STRING, DATE_AND_TIME
verifiedbooleanIf ordinary users are allowed to create their own parameter types this indicates that this one has been approved
applicableToDatasetbooleanIf a parameter of this type may be applied to a data set
applicableToDataCollectionbooleanIf a parameter of this type may be applied to a DataCollection
minimumNumericValueDouble
enforcedbooleanTrue if constraints are enforced
createIdString
createTimeDate
modTimeDate
applicableToInvestigationbooleanIf a parameter of this type may be applied to an investigation
nameString [255] NOT NULLThe name of the parameter type
unitsFullNameString [255]The formal name of the parameter type units
applicableToDatafilebooleanIf a parameter of this type may be applied to a data file
maximumNumericValueDouble

PermissibleStringValue

Permissible value for string parameter types

Uniqueness constraint value, type

Relationships

CardClassFieldCascadedDescription
1,1ParameterTypetypeThe parameter type to which this permissible string value applies

Other fields

FieldTypeDescription
modIdString
valueString [255] NOT NULLThe value of the string
createIdString
createTimeDate
modTimeDate

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

CardClassFieldCascadedDescription

Other fields

FieldTypeDescription
fieldString [32] NOT NULLThe field used to represent the relationship on the origin side
originString [32] NOT NULLThe origin entity
modIdString
createIdString
createTimeDate
modTimeDate

Publication

A publication

Relationships

CardClassFieldCascadedDescription
1,1Investigationinvestigation

Other fields

FieldTypeDescription
fullReferenceString [511] NOT NULLA reference in the form to be used for citation
modIdString
repositoryString [255]The name of a repository where the publication is held
urlString [255]A URL from which the publication may be downloaded
doiString [255]The Digital Object Identifier associated with this publication
repositoryIdString [255]The id of the publication within the repository
createIdString
createTimeDate
modTimeDate

RelatedDatafile

Used to represent an arbitrary relationship between data files

Uniqueness constraint sourceDatafile, destDatafile

Relationships

CardClassFieldCascadedDescription
1,1DatafilesourceDatafile
1,1DatafiledestDatafile

Other fields

FieldTypeDescription
modIdString
relationString [255] NOT NULLIdentifies the type of relationship between the two datafiles - e.g. "COPY"
createIdString
createTimeDate
modTimeDate

Rule

An authorization rule

Relationships

CardClassFieldCascadedDescription
0,1Groupinggrouping

Other fields

FieldTypeDescription
crudFlagsString [4] NOT NULLContains letters from the set "CRUD"
modIdString
whatString [1024] NOT NULLTo what the rules applies
createIdString
createTimeDate
modTimeDate

Sample

A sample to be used in an investigation

Uniqueness constraint investigation, name

Relationships

CardClassFieldCascadedDescription
0,*DatasetdatasetsYes
0,1SampleTypetype
0,*SampleParameterparametersYes
1,1Investigationinvestigation

Other fields

FieldTypeDescription
nameString [255] NOT NULL
pidString [255]A persistent identifier attributed to this sample
modIdString
createIdString
createTimeDate
modTimeDate

SampleParameter

A parameter associated with a sample

Uniqueness constraint sample, type

Relationships

CardClassFieldCascadedDescription
1,1SamplesampleThe associated sample
1,1ParameterTypetypeThe type of the parameter

Other fields

FieldTypeDescription
stringValueString [4000]The value if the parameter is a string
rangeBottomDoubleThe minimum value of the numeric parameter that was observed during the measurement period
createIdString
createTimeDate
modTimeDate
dateTimeValueDateThe value if the parameter is a date
modIdString
errorDoubleThe error of the numeric parameter
numericValueDoubleThe value if the parameter is numeric
rangeTopDoubleThe 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

CardClassFieldCascadedDescription
0,*SamplesamplesYes
1,1FacilityfacilityThe facility which has defined this sample type

Other fields

FieldTypeDescription
modIdString
molecularFormulaString [255] NOT NULLThe formula written as a string -e.g. C2H6O2 for ethylene glycol
nameString [255] NOT NULL
safetyInformationString [4000]Any safety information related to this sample
createIdString
createTimeDate
modTimeDate

Shift

A period of time related to an investigation

Uniqueness constraint investigation, startDate, endDate

Relationships

CardClassFieldCascadedDescription
1,1Investigationinvestigation
0,1InstrumentinstrumentThe instrument, if this shift is associated to one

Other fields

FieldTypeDescription
commentString [255]
startDateDate NOT NULL
modIdString
createIdString
createTimeDate
modTimeDate
endDateDate NOT NULL

Study

A study which may be related to an investigation

Relationships

CardClassFieldCascadedDescription
0,1UseruserThe user responsible for the study
0,*StudyInvestigationstudyInvestigationsYes

Other fields

FieldTypeDescription
startDateDateThe start date of this study
statusStudyStatusThe status of the study. Possible values are: NEW, IN_PROGRESS, COMPLETE, CANCELLED
nameString [255] NOT NULLThe name of the study
createIdString
createTimeDate
modTimeDate
endDateDateThe end date of this study
modIdString
descriptionString [4000]A description of the study and its purpose
pidString [255]A persistent identifier attributed to this study

StudyInvestigation

Many to many relationship between study and investigation

Uniqueness constraint study, investigation

Relationships

CardClassFieldCascadedDescription
1,1Investigationinvestigation
1,1Studystudy

Other fields

FieldTypeDescription
modIdString
createIdString
createTimeDate
modTimeDate

User

A user of the facility

Uniqueness constraint name

Relationships

CardClassFieldCascadedDescription
0,*InvestigationUserinvestigationUsersYes
0,*StudystudiesYes
0,*UserGroupuserGroupsYes
0,*InstrumentScientistinstrumentScientistsYes

Other fields

FieldTypeDescription
fullNameString [255]May include title
givenNameString [255]The given name of the user
createIdString
createTimeDate
modTimeDate
emailString [255]An email address for the user
nameString [255] NOT NULLThe name of the user to match that provided by the authentication mechanism
modIdString
affiliationString [255]The home institute or other affiliation of the user
orcidIdString [255]An ORCID iD for the user
familyNameString [255]The family name of the user

UserGroup

Many to many relationship between user and group

Uniqueness constraint user, grouping

Relationships

CardClassFieldCascadedDescription
1,1Useruser
1,1Groupinggrouping

Other fields

FieldTypeDescription
modIdString
createIdString
createTimeDate
modTimeDate