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, Log, 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
0,*JobjobsYes
1,1Facilityfacility

Other fields

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

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,*DataCollectionDatasetdataCollectionDatasetsYes
0,*DataCollectionParameterparametersYes
0,*JobjobsAsInputYes
0,*DataCollectionDatafiledataCollectionDatafilesYes

DataCollectionDatafile

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

Uniqueness constraint dataCollection, datafile

Relationships

CardClassFieldCascadedDescription
1,1DataCollectiondataCollection
1,1Datafiledatafile

DataCollectionDataset

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

Uniqueness constraint dataCollection, dataset

Relationships

CardClassFieldCascadedDescription
1,1Datasetdataset
1,1DataCollectiondataCollection

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

Datafile

A data file

Uniqueness constraint dataset, name

Relationships

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

Other fields

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

DatafileFormat

A data file format

Uniqueness constraint facility, name, version

Relationships

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

Other fields

FieldTypeDescription
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
typeString [255]Holds the underlying format - such as binary or text

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

Dataset

A collection of data files and part of an investigation

Uniqueness constraint investigation, name

Relationships

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

Other fields

FieldTypeDescription
startDateDate
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.
descriptionString [255]An informal description of the data set
nameString [255] NOT NULLA short name for the data set
endDateDate
doiString [255]The Digital Object Identifier associated with this data set

DatasetParameter

A parameter associated with a data set

Uniqueness constraint dataset, type

Relationships

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

Other fields

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

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
nameString [255] NOT NULLA short name identifying this data set type within the facility
descriptionString [255]A description of this data set type

Facility

An experimental facility

Uniqueness constraint name

Relationships

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

Other fields

FieldTypeDescription
daysUntilReleaseIntegerThe number of days before data is made freely available after collecting it.
fullNameString [255]The full name of the facility
descriptionString [1023]A description of this facility
nameString [255] NOT NULLA short name identifying this facility
urlString [255]A URL associated with 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
endDateDateEnd of cycle
startDateDateStart of cycle
nameString [255] NOT NULLA short name identifying this facility cycle within the facility
descriptionString [255]A description of this facility cycle

Grouping

A group of users

Uniqueness constraint name

Relationships

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

Other fields

FieldTypeDescription
nameString [255] NOT NULLA short name identifying this group of users

Instrument

Used by a user within an investigation

Uniqueness constraint facility, name

Relationships

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

Other fields

FieldTypeDescription
nameString [255] NOT NULLA short name identifying this instrument within the facility
descriptionString [4000]A description of this instrument
fullNameString [255]The formal name of this instrument
urlString [255]A URL associated with this instrument
typeString [255]

InstrumentScientist

Relationship between an ICAT user as an instrument scientist and the instrument

Uniqueness constraint user, instrument

Relationships

CardClassFieldCascadedDescription
1,1Useruser
1,1Instrumentinstrument

Investigation

An investigation or experiment

Uniqueness constraint facility, name, visitId

Relationships

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

Other fields

FieldTypeDescription
visitIdString [255] NOT NULLIdentifier for the visit to which this investigation is related
endDateDate
summaryString [4000]Summary or abstract
startDateDate
doiString [255]The Digital Object Identifier associated with this investigation
nameString [255] NOT NULLA short name for the investigation
titleString [255] NOT NULLFull title of the investigation
releaseDateDateWhen the data will be made freely available

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,1Investigationinvestigation
1,1Groupinggrouping

Other fields

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

InvestigationInstrument

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

Uniqueness constraint investigation, instrument

Relationships

CardClassFieldCascadedDescription
1,1Investigationinvestigation
1,1Instrumentinstrument

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

InvestigationType

A type of investigation

Uniqueness constraint name, facility

Relationships

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

Other fields

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

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
roleString [255] NOT NULLA role such as PI showing the position of the user with respect to the investigation

Job

A run of an application with its related inputs and outputs

Relationships

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

Other fields

FieldTypeDescription
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
nameString [255] NOT NULLThe name of the keyword

Log

To store call logs if configured in icat.properties

Relationships

CardClassFieldCascadedDescription

Other fields

FieldTypeDescription
queryString [4000]The query specified in a read operation
operationString [255]The operation
durationLongDuration of call in milliseconds
entityNameString [255]The name of the first entity involved if any for a read or write operation
entityIdLongThe id of the first entity involved if any for a read or write operation

ParameterType

A parameter type with unique name and units

Uniqueness constraint facility, name, units

Relationships

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

Other fields

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

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
valueString [255] NOT NULLThe value of the string

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
originString [32] NOT NULLThe origin entity
fieldString [32] NOT NULLThe field used to represent the relationship on the origin side

Publication

A publication

Relationships

CardClassFieldCascadedDescription
1,1Investigationinvestigation

Other fields

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

RelatedDatafile

Used to represent an arbitrary relationship between data files

Uniqueness constraint sourceDatafile, destDatafile

Relationships

CardClassFieldCascadedDescription
1,1DatafilesourceDatafile
1,1DatafiledestDatafile

Other fields

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

Rule

An authorization rule

Relationships

CardClassFieldCascadedDescription
0,1Groupinggrouping

Other fields

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

Sample

A sample to be used in an investigation

Uniqueness constraint investigation, name

Relationships

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

Other fields

FieldTypeDescription
nameString [255] NOT NULL

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

SampleType

A sample to be used in an investigation

Uniqueness constraint facility, name, molecularFormula

Relationships

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

Other fields

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

Shift

A period of time related to an investigation

Uniqueness constraint investigation, startDate, endDate

Relationships

CardClassFieldCascadedDescription
1,1Investigationinvestigation

Other fields

FieldTypeDescription
startDateDate NOT NULL
commentString [255]
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
nameString [255] NOT NULLThe name of the study
descriptionString [4000]A description of the study and its purpose
statusStudyStatusThe status of the study. Possible values are: NEW, IN_PROGRESS, COMPLETE, CANCELLED
startDateDateThe start date of this study

StudyInvestigation

Many to many relationship between study and investigation

Uniqueness constraint study, investigation

Relationships

CardClassFieldCascadedDescription
1,1Investigationinvestigation
1,1Studystudy

User

A user of the facility

Uniqueness constraint name

Relationships

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

Other fields

FieldTypeDescription
nameString [255] NOT NULLThe name of the user to match that provided by the authentication mechanism
fullNameString [255]May include title

UserGroup

Many to many relationship between user and group

Uniqueness constraint user, grouping

Relationships

CardClassFieldCascadedDescription
1,1Groupinggrouping
1,1Useruser