diff --git a/CHANGES.rst b/CHANGES.rst index cd5e82b..d9c4ffc 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -2,6 +2,19 @@ Changelog ========= +.. _changes-1_7_0: + +1.7.0 (not yet released) +~~~~~~~~~~~~~~~~~~~~~~~~ + +New features +------------ + ++ `#169`_: Add support for schema changes in icat.server 6.2. + +.. _#169: https://github.com/icatproject/python-icat/pull/169 + + .. _changes-1_6_0: 1.6.0 (2024-12-06) diff --git a/doc/examples/example_data.yaml b/doc/examples/example_data.yaml index 9dee4f3..2fb33fb 100644 --- a/doc/examples/example_data.yaml +++ b/doc/examples/example_data.yaml @@ -40,6 +40,7 @@ data_publications: facility: example_facility fundingReferences: - fund1 + internalId: qwa2-gc-v9lp pid: DOI:00.0815/pub-00027 publicationDate: 2022-10-31 relatedItems: @@ -51,6 +52,14 @@ data_publications: relationType: References title: The positive integers subject: integer sequence; OEIS; On-Line Encyclopedia of Integer Sequences + subjects: + - name: Special sequences and polynomials + subjectScheme: "Mathematics Subject Classification \u2013 MSC2020" + schemeURI: https://zbmath.org/classification/ + classificationCode: 11B83 + - name: integer sequence + - name: OEIS + - name: On-Line Encyclopedia of Integer Sequences title: Data from OEIS sequence A000027 type: curated users: @@ -134,6 +143,10 @@ fundings: awardNumber: AIS3241330750 funderIdentifier: Crossref Funder ID:10.13039/100005376 funderName: American Mathematical Society + acknowledgement: >- + This work has partly been supported by American Mathematical + Society under grant number AIS3241330750 which is greatfully + acknowledged instruments: e2: description: > @@ -146,6 +159,8 @@ instruments: instrumentscientist: acord name: E2 pid: DOI:00.0815/inst-00001 + startDate: 2007-01-01 + endDate: 2019-12-31 technique: ndiff type: null eddi: diff --git a/doc/examples/icatdump-6.2.xml b/doc/examples/icatdump-6.2.xml new file mode 100644 index 0000000..4eb4f33 --- /dev/null +++ b/doc/examples/icatdump-6.2.xml @@ -0,0 +1,2143 @@ + + + + 2025-12-01T16:03:43+00:00 + https://icat.example.com:8181/ICATService/ICAT?wsdl + 6.2.0 + icatdump (python-icat 1.7.0) + + + + University of Ravenna, Institute of Modern History + acord@example.org + Cordus + Aelius Cordus + Aelius + db/acord + 0000-0002-3262 + + + Goethe University Frankfurt, Faculty of Philosophy and History + ahau@example.org + Hau + Arnold Hau + Arnold + db/ahau + 0000-0002-3263 + + + Université Paul-Valéry Montpellier 3 + jbotu@example.org + Botul + Jean-Baptiste Botul + Jean-Baptiste + db/jbotu + 0000-0002-3264 + + + jdoe@example.org + Doe + John Doe + John + db/jdoe + + + University of Nancago + nbour@example.org + Bourbaki + Nicolas Bourbaki + Nicolas + db/nbour + 0000-0002-3266 + + + Kaiser-Wilhelms-Akademie für das militärärztliche Bildungswesen + rbeck@example.org + Beck-Dülmen + Rudolph Beck-Dülmen + Rudolph + db/rbeck + 0000-0002-3267 + + + Data Ingester + simple/dataingest + + + IDS reader + simple/idsreader + + + Pub reader + simple/pubreader + + + Root + simple/root + + + User Office + simple/useroffice + + + ingest + + + + + + investigation_08100122-EF_owner + + + + + + investigation_08100122-EF_reader + + + + + + investigation_08100122-EF_writer + + + + + + + + + + + + investigation_10100601-ST_owner + + + + + + investigation_10100601-ST_reader + + + + + + + + + + + + investigation_10100601-ST_writer + + + + + + investigation_12100409-ST_owner + + + + + + investigation_12100409-ST_reader + + + + + + investigation_12100409-ST_writer + + + + + + publisher + + + + + + pubreader + + + + + + rall + + + + + + scientific_staff + + + + + + useroffice + + + + + + R + Application + + + R + DataPublicationType + + + R + DatafileFormat + + + R + DatasetType + + + R + Facility + + + R + FacilityCycle + + + R + Grouping <-> UserGroup <-> User [name=:user] + + + R + Instrument + + + R + InvestigationType + + + R + ParameterType + + + R + PermissibleStringValue + + + CRUD + SELECT o FROM DataCollection o WHERE o.createId = :user + + + CRUD + SELECT o FROM DataCollectionDatafile o JOIN o.dataCollection AS s1 WHERE s1.createId = :user + + + CRUD + SELECT o FROM DataCollectionDataset o JOIN o.dataCollection AS s1 WHERE s1.createId = :user + + + CRUD + SELECT o FROM DataCollectionInvestigation o JOIN o.dataCollection AS s1 WHERE s1.createId = :user + + + CRUD + SELECT o FROM DataCollectionParameter o JOIN o.dataCollection AS s1 WHERE s1.createId = :user + + + R + SELECT o FROM DataPublication o WHERE o.publicationDate < CURRENT_TIMESTAMP + + + R + SELECT o FROM Datafile o JOIN o.dataCollectionDatafiles AS s1 JOIN s1.dataCollection AS s2 JOIN s2.dataPublications AS s3 WHERE s3.publicationDate < CURRENT_TIMESTAMP + + + R + SELECT o FROM Datafile o JOIN o.dataset AS ds JOIN ds.dataCollectionDatasets AS s1 JOIN s1.dataCollection AS s2 JOIN s2.dataPublications AS s3 WHERE s3.publicationDate < CURRENT_TIMESTAMP + + + R + SELECT o FROM Datafile o JOIN o.dataset AS ds JOIN ds.investigation AS i JOIN ds.type AS s1 WHERE i.releaseDate < CURRENT_TIMESTAMP AND s1.name = 'raw' + + + R + SELECT o FROM Datafile o JOIN o.dataset AS ds JOIN ds.investigation AS i JOIN i.dataCollectionInvestigations AS s1 JOIN s1.dataCollection AS s2 JOIN s2.dataPublications AS s3 WHERE s3.publicationDate < CURRENT_TIMESTAMP + + + CUD + SELECT o FROM Datafile o JOIN o.dataset AS ds JOIN ds.investigation AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE ds.complete = False AND s4.name = :user AND s1.role = 'writer' + + + R + SELECT o FROM Datafile o JOIN o.dataset AS ds JOIN ds.investigation AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + CUD + SELECT o FROM Datafile o JOIN o.dataset AS ds JOIN ds.investigation AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user AS s4 WHERE ds.complete = False AND s4.name = :user + + + R + SELECT o FROM Datafile o JOIN o.dataset AS ds JOIN ds.investigation AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + R + SELECT o FROM DatafileParameter o JOIN o.datafile AS s1 JOIN s1.dataset AS s2 JOIN s2.investigation AS s3 JOIN s3.investigationGroups AS s4 JOIN s4.grouping AS s5 JOIN s5.userGroups AS s6 JOIN s6.user AS s7 WHERE s7.name = :user + + + CUD + SELECT o FROM DatafileParameter o JOIN o.datafile AS s1 JOIN s1.dataset AS s2 JOIN s2.investigation AS s3 JOIN s3.investigationGroups AS s4 JOIN s4.grouping AS s5 JOIN s5.userGroups AS s6 JOIN s6.user AS s7 WHERE s7.name = :user AND s4.role = 'writer' + + + CUD + SELECT o FROM DatafileParameter o JOIN o.datafile AS s1 JOIN s1.dataset AS s2 JOIN s2.investigation AS s3 JOIN s3.investigationInstruments AS s4 JOIN s4.instrument AS s5 JOIN s5.instrumentScientists AS s6 JOIN s6.user AS s7 WHERE s7.name = :user + + + R + SELECT o FROM DatafileParameter o JOIN o.datafile AS s1 JOIN s1.dataset AS s2 JOIN s2.investigation AS s3 JOIN s3.investigationInstruments AS s4 JOIN s4.instrument AS s5 JOIN s5.instrumentScientists AS s6 JOIN s6.user AS s7 WHERE s7.name = :user + + + R + SELECT o FROM Dataset o JOIN o.dataCollectionDatasets AS s1 JOIN s1.dataCollection AS s2 JOIN s2.dataPublications AS s3 WHERE s3.publicationDate < CURRENT_TIMESTAMP + + + R + SELECT o FROM Dataset o JOIN o.investigation AS i JOIN i.dataCollectionInvestigations AS s1 JOIN s1.dataCollection AS s2 JOIN s2.dataPublications AS s3 WHERE s3.publicationDate < CURRENT_TIMESTAMP + + + CUD + SELECT o FROM Dataset o JOIN o.investigation AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE o.complete = False AND s4.name = :user AND s1.role = 'writer' + + + R + SELECT o FROM Dataset o JOIN o.investigation AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + CUD + SELECT o FROM Dataset o JOIN o.investigation AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user AS s4 WHERE o.complete = False AND s4.name = :user + + + R + SELECT o FROM Dataset o JOIN o.investigation AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + R + SELECT o FROM Dataset o JOIN o.investigation AS i JOIN o.type AS t WHERE i.releaseDate < CURRENT_TIMESTAMP AND t.name = 'raw' + + + R + SELECT o FROM DatasetInstrument o JOIN o.dataset AS ds JOIN ds.investigation AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + CUD + SELECT o FROM DatasetInstrument o JOIN o.dataset AS ds JOIN ds.investigation AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE s4.name = :user AND s1.role = 'writer' + + + CUD + SELECT o FROM DatasetInstrument o JOIN o.dataset AS ds JOIN ds.investigation AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + R + SELECT o FROM DatasetInstrument o JOIN o.dataset AS ds JOIN ds.investigation AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + R + SELECT o FROM DatasetParameter o JOIN o.dataset AS ds JOIN ds.investigation AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + CUD + SELECT o FROM DatasetParameter o JOIN o.dataset AS ds JOIN ds.investigation AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE s4.name = :user AND s1.role = 'writer' + + + CUD + SELECT o FROM DatasetParameter o JOIN o.dataset AS ds JOIN ds.investigation AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + R + SELECT o FROM DatasetParameter o JOIN o.dataset AS ds JOIN ds.investigation AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + R + SELECT o FROM DatasetTechnique o JOIN o.dataset AS ds JOIN ds.investigation AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + CUD + SELECT o FROM DatasetTechnique o JOIN o.dataset AS ds JOIN ds.investigation AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE s4.name = :user AND s1.role = 'writer' + + + CUD + SELECT o FROM DatasetTechnique o JOIN o.dataset AS ds JOIN ds.investigation AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + R + SELECT o FROM DatasetTechnique o JOIN o.dataset AS ds JOIN ds.investigation AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + R + SELECT o FROM Grouping o JOIN o.investigationGroups AS ig JOIN ig.investigation AS s1 JOIN s1.investigationGroups AS s2 JOIN s2.grouping AS s3 JOIN s3.userGroups AS s4 JOIN s4.user AS s5 WHERE s5.name = :user AND s2.role = 'owner' + + + R + SELECT o FROM Investigation o JOIN o.dataCollectionInvestigations AS s1 JOIN s1.dataCollection AS s2 JOIN s2.dataPublications AS s3 WHERE s3.publicationDate < CURRENT_TIMESTAMP + + + R + SELECT o FROM Investigation o JOIN o.investigationGroups AS ig JOIN ig.grouping AS s1 JOIN s1.userGroups AS s2 JOIN s2.user AS s3 WHERE s3.name = :user + + + R + SELECT o FROM Investigation o JOIN o.investigationInstruments AS ii JOIN ii.instrument AS s1 JOIN s1.instrumentScientists AS s2 JOIN s2.user AS s3 WHERE s3.name = :user + + + R + SELECT o FROM Investigation o WHERE o.releaseDate < CURRENT_TIMESTAMP + + + R + SELECT o FROM InvestigationParameter o JOIN o.investigation AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + CUD + SELECT o FROM InvestigationParameter o JOIN o.investigation AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE s4.name = :user AND s1.role = 'writer' + + + CUD + SELECT o FROM InvestigationParameter o JOIN o.investigation AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + R + SELECT o FROM InvestigationParameter o JOIN o.investigation AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + CRUD + SELECT o FROM Job o WHERE o.createId = :user + + + R + SELECT o FROM Keyword o JOIN o.investigation AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + R + SELECT o FROM Keyword o JOIN o.investigation AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + R + SELECT o FROM Publication o JOIN o.investigation AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + R + SELECT o FROM Publication o JOIN o.investigation AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + CRUD + SELECT o FROM RelatedDatafile o WHERE o.createId = :user + + + R + SELECT o FROM Sample o JOIN o.investigation AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + CUD + SELECT o FROM Sample o JOIN o.investigation AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE s4.name = :user AND s1.role = 'writer' + + + CUD + SELECT o FROM Sample o JOIN o.investigation AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + R + SELECT o FROM Sample o JOIN o.investigation AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + R + SELECT o FROM SampleParameter o JOIN o.sample AS s1 JOIN s1.investigation AS s2 JOIN s2.investigationGroups AS s3 JOIN s3.grouping AS s4 JOIN s4.userGroups AS s5 JOIN s5.user AS s6 WHERE s6.name = :user + + + CUD + SELECT o FROM SampleParameter o JOIN o.sample AS s1 JOIN s1.investigation AS s2 JOIN s2.investigationGroups AS s3 JOIN s3.grouping AS s4 JOIN s4.userGroups AS s5 JOIN s5.user AS s6 WHERE s6.name = :user AND s3.role = 'writer' + + + CUD + SELECT o FROM SampleParameter o JOIN o.sample AS s1 JOIN s1.investigation AS s2 JOIN s2.investigationInstruments AS s3 JOIN s3.instrument AS s4 JOIN s4.instrumentScientists AS s5 JOIN s5.user AS s6 WHERE s6.name = :user + + + R + SELECT o FROM SampleParameter o JOIN o.sample AS s1 JOIN s1.investigation AS s2 JOIN s2.investigationInstruments AS s3 JOIN s3.instrument AS s4 JOIN s4.instrumentScientists AS s5 JOIN s5.user AS s6 WHERE s6.name = :user + + + R + SELECT o FROM Shift o JOIN o.investigation AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + R + SELECT o FROM Shift o JOIN o.investigation AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + + + CRUD + SELECT o FROM UserGroup o JOIN o.grouping AS g JOIN g.investigationGroups AS s1 JOIN s1.investigation AS s2 JOIN s2.investigationGroups AS s3 JOIN s3.grouping AS s4 JOIN s4.userGroups AS s5 JOIN s5.user AS s6 WHERE s6.name = :user AND s3.role = 'owner' AND s1.role in ('reader', 'writer') + + + CR + SampleType + + + R + Study <-> User [name=:user] + + + R + Technique + + + R + User + + + CRU + Datafile + + + + CRU + DatafileParameter + + + + CRU + Dataset + + + + CRU + DatasetInstrument + + + + CRU + DatasetParameter + + + + CRU + DatasetTechnique + + + + R + Investigation + + + + CRU + Sample + + + + R + Shift + + + + CRUD + Affiliation + + + + CRUD + DataPublication + + + + CRUD + DataPublicationDate + + + + CRUD + DataPublicationFunding + + + + CRUD + DataPublicationUser + + + + CRUD + FundingReference + + + + CRUD + RelatedItem + + + + CRUD + Subject + + + + R + SELECT o FROM DataPublication o + + + + R + SELECT o FROM Datafile o JOIN o.dataCollectionDatafiles AS s1 JOIN s1.dataCollection AS s2 JOIN s2.dataPublications AS s3 WHERE s3.id IS NOT NULL + + + + R + SELECT o FROM Datafile o JOIN o.dataset AS ds JOIN ds.dataCollectionDatasets AS s1 JOIN s1.dataCollection AS s2 JOIN s2.dataPublications AS s3 WHERE s3.id IS NOT NULL + + + + R + SELECT o FROM Datafile o JOIN o.dataset AS ds JOIN ds.investigation AS i JOIN i.dataCollectionInvestigations AS s1 JOIN s1.dataCollection AS s2 JOIN s2.dataPublications AS s3 WHERE s3.id IS NOT NULL + + + + R + SELECT o FROM Dataset o JOIN o.dataCollectionDatasets AS s1 JOIN s1.dataCollection AS s2 JOIN s2.dataPublications AS s3 WHERE s3.id IS NOT NULL + + + + R + SELECT o FROM Dataset o JOIN o.investigation AS i JOIN i.dataCollectionInvestigations AS s1 JOIN s1.dataCollection AS s2 JOIN s2.dataPublications AS s3 WHERE s3.id IS NOT NULL + + + + R + SELECT o FROM Investigation o JOIN o.dataCollectionInvestigations AS s1 JOIN s1.dataCollection AS s2 JOIN s2.dataPublications AS s3 WHERE s3.id IS NOT NULL + + + + R + Affiliation + + + + R + DataCollection + + + + R + DataCollectionDatafile + + + + R + DataCollectionDataset + + + + R + DataCollectionInvestigation + + + + R + DataCollectionParameter + + + + R + DataPublication + + + + R + DataPublicationDate + + + + R + DataPublicationFunding + + + + R + DataPublicationUser + + + + R + Datafile + + + + R + DatafileParameter + + + + R + Dataset + + + + R + DatasetInstrument + + + + R + DatasetParameter + + + + R + DatasetTechnique + + + + R + FundingReference + + + + R + Grouping + + + + R + InstrumentScientist + + + + R + Investigation + + + + R + InvestigationFacilityCycle + + + + R + InvestigationFunding + + + + R + InvestigationGroup + + + + R + InvestigationInstrument + + + + R + InvestigationParameter + + + + R + InvestigationUser + + + + R + Job + + + + R + Keyword + + + + R + PublicStep + + + + R + Publication + + + + R + RelatedDatafile + + + + R + RelatedItem + + + + R + Rule + + + + R + Sample + + + + R + SampleParameter + + + + R + Shift + + + + R + Study + + + + R + StudyInvestigation + + + + R + Subject + + + + R + UserGroup + + + + RU + Sample + + + + UD + SampleType + + + + CRUD + FacilityCycle + + + + CRUD + FundingReference + + + + CRUD + Grouping + + + + CRUD + InstrumentScientist + + + + CRUD + Investigation + + + + CRUD + InvestigationFunding + + + + CRUD + InvestigationGroup + + + + CRUD + InvestigationInstrument + + + + CRUD + InvestigationParameter + + + + CRUD + InvestigationUser + + + + CRUD + Keyword + + + + CRUD + Publication + + + + CRUD + Shift + + + + CRUD + Study + + + + CRUD + StudyInvestigation + + + + CRUD + User + + + + CRUD + UserGroup + + + + dataCollectionDatafiles + DataCollection + + + dataCollectionDatasets + DataCollection + + + dataCollectionInvestigations + DataCollection + + + parameters + DataCollection + + + content + DataPublication + + + dates + DataPublication + + + fundingReferences + DataPublication + + + relatedItems + DataPublication + + + subjects + DataPublication + + + users + DataPublication + + + funding + DataPublicationFunding + + + affiliations + DataPublicationUser + + + user + DataPublicationUser + + + dataset + Datafile + + + parameters + Datafile + + + datafiles + Dataset + + + datasetInstruments + Dataset + + + datasetTechniques + Dataset + + + investigation + Dataset + + + parameters + Dataset + + + sample + Dataset + + + userGroups + Grouping + + + instrumentScientists + Instrument + + + fundingReferences + Investigation + + + investigationGroups + Investigation + + + investigationInstruments + Investigation + + + investigationUsers + Investigation + + + keywords + Investigation + + + parameters + Investigation + + + publications + Investigation + + + samples + Investigation + + + shifts + Investigation + + + funding + InvestigationFunding + + + grouping + InvestigationGroup + + + inputDataCollection + Job + + + outputDataCollection + Job + + + parameters + Sample + + + studyInvestigations + Study + + + + + Angle Resolved Photoemission Spectroscopy + Angle Resolved Photoemission Spectroscopy + PaNET:PaNET01089 + + + Hard X-ray Photoelectron Spectroscopy + Hard X-ray Photoelectron Spectroscopy + PaNET:PaNET01103 + + + Neutron Diffraction + Neutron Diffraction + PaNET:PaNET01217 + + + X-ray Tomography + X-ray Tomography + PaNET:PaNET01207 + + + ESNF is an example facility + Example Synchrotron and Neutron Facility + ESNF + http://www.esnf.example.org/ + + + A 3-dimensional part of the reciprocal space can be scanned in less then five steps by combining the "off-plane Bragg-scattering" and the flat-cone layer concept while using a new computer-controlled tilting axis of the detector bank. + + 2019-12-30T23:00:00+00:00 + E2 - Flat-Cone Diffractometer + E2 + DOI:00.0815/inst-00001 + 2006-12-31T23:00:00+00:00 + + + + + + + The experimental station EDDI (Energy Dispersive Diffraction) is a fixed station at the 7T-MPW-EDDI beamline. The beamline provides the direct white photon beam emitted by the 7T multipole wiggler and is operated in the energy-dispersive mode of diffraction. For the experiments two diffractometers with Eularian cradle segments (GE Inspection Technologies) are at the disposal for light and heavy weight samples. For the acquisition of the diffraction patterns as well as the fluorescence signals two Germanium solid state detectors (Canberra) are available. + + EDDI - Energy Dispersive Diffraction + EDDI + DOI:00.0815/inst-00048 + + + + + + + The system is designed for hard X-ray high kinetic energy photoelectron spectroscopy (HAXPES or HIKE) experiments in the excitation energy range from 2 keV to 12 keV with an optimized recorded kinetic energy range from 150 eV to 10000 eV. The typical experiments running on the HIKE end station are investigations of bulk electronic properties - core levels and valence band, buried interfaces and x-ray standing waves. + + HIKE - High Kinetic Energy Photoelectron Spectroscopy + HIKE + DOI:00.0815/inst-00027 + + + + + + + true + true + true + true + true + false + Comment + N/A + STRING + false + + + + false + true + true + false + false + false + Last access + N/A + DATE_AND_TIME + false + + + + false + false + true + false + false + false + Magnetic field + T + Tesla + NUMERIC + false + + + + false + false + true + true + false + false + Probe + N/A + STRING + false + + + muon + + + neutron + + + photon + + + + false + false + true + false + false + false + Reactor power + MW + Megawatt + NUMERIC + false + + + + false + false + false + false + true + false + Sample reference + N/A + STRING + false + + + + false + false + true + false + false + false + Sample temperature + C + Celsius + NUMERIC + false + + + + false + false + true + false + false + false + Sample temperature + K + Kelvin + NUMERIC + false + + + + false + false + false + true + false + false + Scoundrel + N/A + STRING + false + + + brutto + + + buono + + + cattivo + + + + Curated data publication + curated + + + + Open access raw data + raw + + + + Calibration + + + + Commercial experiment + + + + Engineering + + + + Experiment + + + + Simulation + + + + C10H14 + Durol SC + + + + NiMnGa + NiMnGa + + + + NiO + Nickel(II) oxide SC + + + + data arising from the analysis of other data + analyzed + + + + data not belonging to any other category + other + + + + data collected from experiments on instruments + raw + + + + Comma separated values + CSV + text/csv + N/A + + + + Hierarchical Data Format version 5 + HDF5 + application/x-hdf5 + N/A + + + + A common data format for neutron, x-ray and muon science + NeXus + application/x-hdf5 + N/A + + + + Plain text file + Text + text/plain + N/A + + + + XML document text + XML + application/xml + N/A + + + + Unknown file format + other + N/A + + + + 2007-08-14T22:00:00+00:00 + 071 + 2007-02-14T23:00:00+00:00 + + + + 2008-02-14T23:00:00+00:00 + 072 + 2007-08-14T22:00:00+00:00 + + + + 2008-08-14T22:00:00+00:00 + 081 + 2008-02-14T23:00:00+00:00 + + + + 2009-02-14T23:00:00+00:00 + 082 + 2008-08-14T22:00:00+00:00 + + + + 2009-08-14T22:00:00+00:00 + 091 + 2009-02-14T23:00:00+00:00 + + + + 2010-02-14T23:00:00+00:00 + 092 + 2009-08-14T22:00:00+00:00 + + + + 2010-08-14T22:00:00+00:00 + 101 + 2010-02-14T23:00:00+00:00 + + + + 2011-02-14T23:00:00+00:00 + 102 + 2010-08-14T22:00:00+00:00 + + + + 2011-08-14T22:00:00+00:00 + 111 + 2011-02-14T23:00:00+00:00 + + + + 2012-02-14T23:00:00+00:00 + 112 + 2011-08-14T22:00:00+00:00 + + + + 2012-08-14T22:00:00+00:00 + 121 + 2012-02-14T23:00:00+00:00 + + + + 2013-02-14T23:00:00+00:00 + 122 + 2012-08-14T22:00:00+00:00 + + + + 2013-08-14T22:00:00+00:00 + 131 + 2013-02-14T23:00:00+00:00 + + + + 2014-02-14T23:00:00+00:00 + 132 + 2013-08-14T22:00:00+00:00 + + + + 2014-08-14T22:00:00+00:00 + 141 + 2014-02-14T23:00:00+00:00 + + + + 2015-02-14T23:00:00+00:00 + 142 + 2014-08-14T22:00:00+00:00 + + + + 2015-08-14T22:00:00+00:00 + 151 + 2015-02-14T23:00:00+00:00 + + + + 2016-02-14T23:00:00+00:00 + 152 + 2015-08-14T22:00:00+00:00 + + + + 2016-08-14T22:00:00+00:00 + 161 + 2016-02-14T23:00:00+00:00 + + + + 2017-02-14T23:00:00+00:00 + 162 + 2016-08-14T22:00:00+00:00 + + + + gnomoanalytics + 69 + + + + + + This work has partly been supported by American Mathematical Society under grant number AIS3241330750 which is greatfully acknowledged + AIS3241330750 + Crossref Funder ID:10.13039/100005376 + American Mathematical Society + + + + + DOI:00.0815/inv-00122 + 1 + 368369 + 08100122-EF + 2008-03-13T10:39:42+00:00 + Durol single crystal + 1.1-P + + + + + + + owner + + + + reader + + + + writer + + + + + + + Principal Investigator + + + + Investigator + + + + Investigator + + + + Durol + + + photon + + + + Beamtime at HIKE + 2008-03-13T15:00:00+00:00 + 2008-03-13T07:00:00+00:00 + + + + + Durol SC + IGSN:ESNFHNS8AYEZ + + + + + false + 1 + 368369 + e201215 + 2008-03-13T10:39:42+00:00 + + + + + + + + + + + + false + 0 + 0 + e201216 + 2008-03-20T07:20:00+00:00 + + + + + + + + + + + + ac69460a + 2008-06-18T07:31:11+00:00 + 2008-06-18T07:31:11+00:00 + 368369 + e201215.nxs + + + + 2008-06-18T07:31:11+00:00 + + + + + + + DOI:00.0815/inv-00601 + 2010-10-12T15:00:00+00:00 + 4 + 127125 + 10100601-ST + 2010-09-30T10:27:24+00:00 + Ni-Mn-Ga flat cone + 1.1-N + + + + + + + owner + + + + reader + + + + writer + + + + + + + Principal Investigator + + + + Gallium + + + Manganese + + + NiMnGa + + + Nickel + + + neutron + + + + DOI:00.1002/adma.201101001 + A. Hau. Properties of NiMnGa. Adv. Mater. 2011, 1 + + + Beamtime at E2 + 2010-10-06T06:00:00+00:00 + 2010-09-29T06:00:00+00:00 + + + + Beamtime at E2 + 2010-10-13T06:00:00+00:00 + 2010-10-09T06:00:00+00:00 + + + + + NiMnGa 991027 + IGSN:ESNFZDVHICBD + + + + 2046c9a7-ab07-4594-84a2-101617073a79 + + + + + false + 2010-10-01T06:17:48+00:00 + 2 + 73874 + e208339 + 2010-09-30T10:27:24+00:00 + + + + + + + + + + + 7.3 + + + + 5.0 + + + + + false + 2010-10-05T08:32:21+00:00 + 2 + 53251 + e208341 + 2010-10-02T02:00:21+00:00 + + + + + + + + + + + 2.7 + + + + 5.0 + + + + + false + 2010-10-12T15:00:00+00:00 + 0 + 0 + e208342 + 2010-10-09T05:00:00+00:00 + + + + + + + + + + + + 81c44870 + 2010-10-01T06:17:48+00:00 + 2010-10-01T06:17:48+00:00 + 446 + e208339.dat + + + + 2010-10-01T06:51:56+00:00 + + + + + 8b369ddc + 2010-10-01T06:52:22+00:00 + 2010-10-01T06:52:22+00:00 + 73428 + e208339.nxs + + + + 2012-07-12T14:45:26+00:00 + + + + + 284558f4 + 2010-10-05T08:32:21+00:00 + 2010-10-05T08:32:21+00:00 + 394 + e208341.dat + + + + 2010-10-05T09:31:45+00:00 + + + + + 7c72b4bc + 2010-10-05T09:31:53+00:00 + 2010-10-05T09:31:53+00:00 + 52857 + e208341.nxs + + + + 2012-07-16T14:12:08+00:00 + + + + + + + DOI:00.0815/inv-00409 + 2012-08-06T01:10:08+00:00 + 6 + 757836 + 12100409-ST + 2012-07-26T15:44:24+00:00 + NiO SC OF1 JUH HHL + 1.1-P + + + + + + + + + + owner + + + + reader + + + + writer + + + + + + + Principal Investigator + + + + NiO + + + Nickel + + + Nickel oxide + + + oxide + + + photon + + + + Beamtime at EDDI + 2012-08-07T04:00:00+00:00 + 2012-07-24T04:00:00+00:00 + + + + + Nickel(II) oxide SC + IGSN:ESNFX8C7B53W + + + + c1b0a101-03aa-4d02-a1a2-e2826ba7871b + + + + + false + 2012-07-30T01:10:08+00:00 + 4 + 478683 + e208945 + 2012-07-26T15:44:24+00:00 + + + + + + + + 3.92 + + + + 277.07 + + + + + false + 2012-08-06T01:10:08+00:00 + 0 + 0 + e208946 + 2012-08-02T05:30:00+00:00 + + + + + + + + + true + 2012-07-16T14:30:17+00:00 + 1 + 14965 + e208947 + 2012-07-16T11:42:05+00:00 + + + + + true + 2012-07-31T22:52:23+00:00 + 1 + 264188 + pub-00027 + 2012-07-31T20:20:37+00:00 + + + + + 7c72b4bc + 2010-10-05T09:31:53+00:00 + 2010-10-05T09:31:53+00:00 + 52857 + e208341.nxs + + + + 2014-10-02T12:32:51+00:00 + + + + + 2012-07-16T14:30:17+00:00 + 2012-07-16T14:30:17+00:00 + 28937 + e208945-2.nxs + + + + 2014-10-02T12:32:51+00:00 + + + + + bd55affa + 2012-07-30T01:10:08+00:00 + 2012-07-30T01:10:08+00:00 + 459 + e208945.dat + + + + 2014-10-02T12:32:51+00:00 + + + + + 1db15f18 + 2013-06-03T10:22:43+00:00 + 2013-06-03T10:22:43+00:00 + 396430 + e208945.nxs + + + + 2014-10-02T12:32:51+00:00 + + + + + 2012-07-16T14:30:17+00:00 + 2012-07-16T14:30:17+00:00 + 14965 + e208947.nxs + + + + 2012-07-17T07:28:18+00:00 + + + + + 2012-07-31T22:52:23+00:00 + 2012-07-31T22:52:23+00:00 + 264188 + A000027.hdf5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Make a synthesis of 10100601-ST and 12100409-ST + + + + + DOI:00.0815/dat-004711 + + + + + + + + + + + + + + + + We provide the first 65535 integers from sequence A000027 of the On-Line Encyclopedia of Integer Sequences. The data consists of an HDF5 file, having one single entry: a one dimensional integer array. + qwa2-gc-v9lp + DOI:00.0815/pub-00027 + 2022-10-30T23:00:00+00:00 + integer sequence; OEIS; On-Line Encyclopedia of Integer Sequences + Data from OEIS sequence A000027 + + + + + 2012-08-01 + Created + + + 2022-04-29 + Submitted + + + + + + OEIS Foundation Inc. (2022), The positive integers, Entry A000027 in The On-Line Encyclopedia of Integer Sequences + URL:http://oeis.org/A000027 + Other + References + The positive integers + + + OEIS + + + On-Line Encyclopedia of Integer Sequences + + + 11B83 + Special sequences and polynomials + https://zbmath.org/classification/ + Mathematics Subject Classification – MSC2020 + + + integer sequence + + + + Creator + nbour@example.org + Bourbaki + Bourbaki, Nicolas + Nicolas + 01 + + + + Université de Nancy + 01: Nancy + + + University of Chicago + 02: Chicago + ROR:024mw5h28 + + + + + + 2012-09-30T18:00:00+00:00 + 12-008 + DOI:00.0815/m-00333 + 2012-07-09T06:00:00+00:00 + COMPLETE + + + + + + + + + + copy + + + + + + + + + + diff --git a/doc/examples/icatdump-6.2.yaml b/doc/examples/icatdump-6.2.yaml new file mode 100644 index 0000000..d6f386c --- /dev/null +++ b/doc/examples/icatdump-6.2.yaml @@ -0,0 +1,1836 @@ +%YAML 1.1 +# Date: Mon, 01 Dec 2025 16:03:33 +0000 +# Service: https://icat.example.com:8181/ICATService/ICAT?wsdl +# ICAT-API: 6.2.0 +# Generator: icatdump (python-icat 1.7.0) +--- +grouping: + Grouping_name-ingest: + name: ingest + userGroups: + - user: User_name-simple=2Fdataingest + Grouping_name-investigation=5F08100122=2DEF=5Fowner: + name: investigation_08100122-EF_owner + userGroups: + - user: User_name-db=2Fjbotu + Grouping_name-investigation=5F08100122=2DEF=5Freader: + name: investigation_08100122-EF_reader + userGroups: + - user: User_name-db=2Fjdoe + Grouping_name-investigation=5F08100122=2DEF=5Fwriter: + name: investigation_08100122-EF_writer + userGroups: + - user: User_name-db=2Fjbotu + - user: User_name-db=2Fnbour + - user: User_name-db=2Frbeck + Grouping_name-investigation=5F10100601=2DST=5Fowner: + name: investigation_10100601-ST_owner + userGroups: + - user: User_name-db=2Fahau + Grouping_name-investigation=5F10100601=2DST=5Freader: + name: investigation_10100601-ST_reader + userGroups: + - user: User_name-db=2Fjbotu + - user: User_name-db=2Fjdoe + - user: User_name-db=2Fnbour + Grouping_name-investigation=5F10100601=2DST=5Fwriter: + name: investigation_10100601-ST_writer + userGroups: + - user: User_name-db=2Fahau + Grouping_name-investigation=5F12100409=2DST=5Fowner: + name: investigation_12100409-ST_owner + userGroups: + - user: User_name-db=2Fnbour + Grouping_name-investigation=5F12100409=2DST=5Freader: + name: investigation_12100409-ST_reader + userGroups: + - user: User_name-db=2Frbeck + Grouping_name-investigation=5F12100409=2DST=5Fwriter: + name: investigation_12100409-ST_writer + userGroups: + - user: User_name-db=2Fnbour + Grouping_name-publisher: + name: publisher + userGroups: + - user: User_name-simple=2Fuseroffice + Grouping_name-pubreader: + name: pubreader + userGroups: + - user: User_name-simple=2Fpubreader + Grouping_name-rall: + name: rall + userGroups: + - user: User_name-simple=2Fidsreader + Grouping_name-scientific=5Fstaff: + name: scientific_staff + userGroups: + - user: User_name-db=2Facord + Grouping_name-useroffice: + name: useroffice + userGroups: + - user: User_name-simple=2Fuseroffice +publicStep: + PublicStep_origin-DataCollection_field-dataCollectionDatafiles: + field: dataCollectionDatafiles + origin: DataCollection + PublicStep_origin-DataCollection_field-dataCollectionDatasets: + field: dataCollectionDatasets + origin: DataCollection + PublicStep_origin-DataCollection_field-dataCollectionInvestigations: + field: dataCollectionInvestigations + origin: DataCollection + PublicStep_origin-DataCollection_field-parameters: + field: parameters + origin: DataCollection + PublicStep_origin-DataPublicationFunding_field-funding: + field: funding + origin: DataPublicationFunding + PublicStep_origin-DataPublicationUser_field-affiliations: + field: affiliations + origin: DataPublicationUser + PublicStep_origin-DataPublicationUser_field-user: + field: user + origin: DataPublicationUser + PublicStep_origin-DataPublication_field-content: + field: content + origin: DataPublication + PublicStep_origin-DataPublication_field-dates: + field: dates + origin: DataPublication + PublicStep_origin-DataPublication_field-fundingReferences: + field: fundingReferences + origin: DataPublication + PublicStep_origin-DataPublication_field-relatedItems: + field: relatedItems + origin: DataPublication + PublicStep_origin-DataPublication_field-subjects: + field: subjects + origin: DataPublication + PublicStep_origin-DataPublication_field-users: + field: users + origin: DataPublication + PublicStep_origin-Datafile_field-dataset: + field: dataset + origin: Datafile + PublicStep_origin-Datafile_field-parameters: + field: parameters + origin: Datafile + PublicStep_origin-Dataset_field-datafiles: + field: datafiles + origin: Dataset + PublicStep_origin-Dataset_field-datasetInstruments: + field: datasetInstruments + origin: Dataset + PublicStep_origin-Dataset_field-datasetTechniques: + field: datasetTechniques + origin: Dataset + PublicStep_origin-Dataset_field-investigation: + field: investigation + origin: Dataset + PublicStep_origin-Dataset_field-parameters: + field: parameters + origin: Dataset + PublicStep_origin-Dataset_field-sample: + field: sample + origin: Dataset + PublicStep_origin-Grouping_field-userGroups: + field: userGroups + origin: Grouping + PublicStep_origin-Instrument_field-instrumentScientists: + field: instrumentScientists + origin: Instrument + PublicStep_origin-InvestigationFunding_field-funding: + field: funding + origin: InvestigationFunding + PublicStep_origin-InvestigationGroup_field-grouping: + field: grouping + origin: InvestigationGroup + PublicStep_origin-Investigation_field-fundingReferences: + field: fundingReferences + origin: Investigation + PublicStep_origin-Investigation_field-investigationGroups: + field: investigationGroups + origin: Investigation + PublicStep_origin-Investigation_field-investigationInstruments: + field: investigationInstruments + origin: Investigation + PublicStep_origin-Investigation_field-investigationUsers: + field: investigationUsers + origin: Investigation + PublicStep_origin-Investigation_field-keywords: + field: keywords + origin: Investigation + PublicStep_origin-Investigation_field-parameters: + field: parameters + origin: Investigation + PublicStep_origin-Investigation_field-publications: + field: publications + origin: Investigation + PublicStep_origin-Investigation_field-samples: + field: samples + origin: Investigation + PublicStep_origin-Investigation_field-shifts: + field: shifts + origin: Investigation + PublicStep_origin-Job_field-inputDataCollection: + field: inputDataCollection + origin: Job + PublicStep_origin-Job_field-outputDataCollection: + field: outputDataCollection + origin: Job + PublicStep_origin-Sample_field-parameters: + field: parameters + origin: Sample + PublicStep_origin-Study_field-studyInvestigations: + field: studyInvestigations + origin: Study +rule: + Rule_00000001: + crudFlags: R + what: Application + Rule_00000002: + crudFlags: R + what: DataPublicationType + Rule_00000003: + crudFlags: R + what: DatafileFormat + Rule_00000004: + crudFlags: R + what: DatasetType + Rule_00000005: + crudFlags: R + what: Facility + Rule_00000006: + crudFlags: R + what: FacilityCycle + Rule_00000007: + crudFlags: R + what: Grouping <-> UserGroup <-> User [name=:user] + Rule_00000008: + crudFlags: R + what: Instrument + Rule_00000009: + crudFlags: R + what: InvestigationType + Rule_00000010: + crudFlags: R + what: ParameterType + Rule_00000011: + crudFlags: R + what: PermissibleStringValue + Rule_00000012: + crudFlags: CRUD + what: SELECT o FROM DataCollection o WHERE o.createId = :user + Rule_00000013: + crudFlags: CRUD + what: SELECT o FROM DataCollectionDatafile o JOIN o.dataCollection AS s1 WHERE + s1.createId = :user + Rule_00000014: + crudFlags: CRUD + what: SELECT o FROM DataCollectionDataset o JOIN o.dataCollection AS s1 WHERE + s1.createId = :user + Rule_00000015: + crudFlags: CRUD + what: SELECT o FROM DataCollectionInvestigation o JOIN o.dataCollection AS s1 + WHERE s1.createId = :user + Rule_00000016: + crudFlags: CRUD + what: SELECT o FROM DataCollectionParameter o JOIN o.dataCollection AS s1 WHERE + s1.createId = :user + Rule_00000017: + crudFlags: R + what: SELECT o FROM DataPublication o WHERE o.publicationDate < CURRENT_TIMESTAMP + Rule_00000018: + crudFlags: R + what: SELECT o FROM Datafile o JOIN o.dataCollectionDatafiles AS s1 JOIN s1.dataCollection + AS s2 JOIN s2.dataPublications AS s3 WHERE s3.publicationDate < CURRENT_TIMESTAMP + Rule_00000019: + crudFlags: R + what: SELECT o FROM Datafile o JOIN o.dataset AS ds JOIN ds.dataCollectionDatasets + AS s1 JOIN s1.dataCollection AS s2 JOIN s2.dataPublications AS s3 WHERE s3.publicationDate + < CURRENT_TIMESTAMP + Rule_00000020: + crudFlags: R + what: SELECT o FROM Datafile o JOIN o.dataset AS ds JOIN ds.investigation AS i + JOIN ds.type AS s1 WHERE i.releaseDate < CURRENT_TIMESTAMP AND s1.name = 'raw' + Rule_00000021: + crudFlags: R + what: SELECT o FROM Datafile o JOIN o.dataset AS ds JOIN ds.investigation AS i + JOIN i.dataCollectionInvestigations AS s1 JOIN s1.dataCollection AS s2 JOIN + s2.dataPublications AS s3 WHERE s3.publicationDate < CURRENT_TIMESTAMP + Rule_00000022: + crudFlags: CUD + what: SELECT o FROM Datafile o JOIN o.dataset AS ds JOIN ds.investigation AS i + JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS + s3 JOIN s3.user AS s4 WHERE ds.complete = False AND s4.name = :user AND s1.role + = 'writer' + Rule_00000023: + crudFlags: R + what: SELECT o FROM Datafile o JOIN o.dataset AS ds JOIN ds.investigation AS i + JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS + s3 JOIN s3.user AS s4 WHERE s4.name = :user + Rule_00000024: + crudFlags: CUD + what: SELECT o FROM Datafile o JOIN o.dataset AS ds JOIN ds.investigation AS i + JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists + AS s3 JOIN s3.user AS s4 WHERE ds.complete = False AND s4.name = :user + Rule_00000025: + crudFlags: R + what: SELECT o FROM Datafile o JOIN o.dataset AS ds JOIN ds.investigation AS i + JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists + AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + Rule_00000026: + crudFlags: R + what: SELECT o FROM DatafileParameter o JOIN o.datafile AS s1 JOIN s1.dataset + AS s2 JOIN s2.investigation AS s3 JOIN s3.investigationGroups AS s4 JOIN s4.grouping + AS s5 JOIN s5.userGroups AS s6 JOIN s6.user AS s7 WHERE s7.name = :user + Rule_00000027: + crudFlags: CUD + what: SELECT o FROM DatafileParameter o JOIN o.datafile AS s1 JOIN s1.dataset + AS s2 JOIN s2.investigation AS s3 JOIN s3.investigationGroups AS s4 JOIN s4.grouping + AS s5 JOIN s5.userGroups AS s6 JOIN s6.user AS s7 WHERE s7.name = :user AND + s4.role = 'writer' + Rule_00000028: + crudFlags: CUD + what: SELECT o FROM DatafileParameter o JOIN o.datafile AS s1 JOIN s1.dataset + AS s2 JOIN s2.investigation AS s3 JOIN s3.investigationInstruments AS s4 JOIN + s4.instrument AS s5 JOIN s5.instrumentScientists AS s6 JOIN s6.user AS s7 WHERE + s7.name = :user + Rule_00000029: + crudFlags: R + what: SELECT o FROM DatafileParameter o JOIN o.datafile AS s1 JOIN s1.dataset + AS s2 JOIN s2.investigation AS s3 JOIN s3.investigationInstruments AS s4 JOIN + s4.instrument AS s5 JOIN s5.instrumentScientists AS s6 JOIN s6.user AS s7 WHERE + s7.name = :user + Rule_00000030: + crudFlags: R + what: SELECT o FROM Dataset o JOIN o.dataCollectionDatasets AS s1 JOIN s1.dataCollection + AS s2 JOIN s2.dataPublications AS s3 WHERE s3.publicationDate < CURRENT_TIMESTAMP + Rule_00000031: + crudFlags: R + what: SELECT o FROM Dataset o JOIN o.investigation AS i JOIN i.dataCollectionInvestigations + AS s1 JOIN s1.dataCollection AS s2 JOIN s2.dataPublications AS s3 WHERE s3.publicationDate + < CURRENT_TIMESTAMP + Rule_00000032: + crudFlags: CUD + what: SELECT o FROM Dataset o JOIN o.investigation AS i JOIN i.investigationGroups + AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE + o.complete = False AND s4.name = :user AND s1.role = 'writer' + Rule_00000033: + crudFlags: R + what: SELECT o FROM Dataset o JOIN o.investigation AS i JOIN i.investigationGroups + AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE + s4.name = :user + Rule_00000034: + crudFlags: CUD + what: SELECT o FROM Dataset o JOIN o.investigation AS i JOIN i.investigationInstruments + AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user + AS s4 WHERE o.complete = False AND s4.name = :user + Rule_00000035: + crudFlags: R + what: SELECT o FROM Dataset o JOIN o.investigation AS i JOIN i.investigationInstruments + AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user + AS s4 WHERE s4.name = :user + Rule_00000036: + crudFlags: R + what: SELECT o FROM Dataset o JOIN o.investigation AS i JOIN o.type AS t WHERE + i.releaseDate < CURRENT_TIMESTAMP AND t.name = 'raw' + Rule_00000037: + crudFlags: R + what: SELECT o FROM DatasetInstrument o JOIN o.dataset AS ds JOIN ds.investigation + AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups + AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + Rule_00000038: + crudFlags: CUD + what: SELECT o FROM DatasetInstrument o JOIN o.dataset AS ds JOIN ds.investigation + AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups + AS s3 JOIN s3.user AS s4 WHERE s4.name = :user AND s1.role = 'writer' + Rule_00000039: + crudFlags: CUD + what: SELECT o FROM DatasetInstrument o JOIN o.dataset AS ds JOIN ds.investigation + AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists + AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + Rule_00000040: + crudFlags: R + what: SELECT o FROM DatasetInstrument o JOIN o.dataset AS ds JOIN ds.investigation + AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists + AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + Rule_00000041: + crudFlags: R + what: SELECT o FROM DatasetParameter o JOIN o.dataset AS ds JOIN ds.investigation + AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups + AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + Rule_00000042: + crudFlags: CUD + what: SELECT o FROM DatasetParameter o JOIN o.dataset AS ds JOIN ds.investigation + AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups + AS s3 JOIN s3.user AS s4 WHERE s4.name = :user AND s1.role = 'writer' + Rule_00000043: + crudFlags: CUD + what: SELECT o FROM DatasetParameter o JOIN o.dataset AS ds JOIN ds.investigation + AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists + AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + Rule_00000044: + crudFlags: R + what: SELECT o FROM DatasetParameter o JOIN o.dataset AS ds JOIN ds.investigation + AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists + AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + Rule_00000045: + crudFlags: R + what: SELECT o FROM DatasetTechnique o JOIN o.dataset AS ds JOIN ds.investigation + AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups + AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + Rule_00000046: + crudFlags: CUD + what: SELECT o FROM DatasetTechnique o JOIN o.dataset AS ds JOIN ds.investigation + AS i JOIN i.investigationGroups AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups + AS s3 JOIN s3.user AS s4 WHERE s4.name = :user AND s1.role = 'writer' + Rule_00000047: + crudFlags: CUD + what: SELECT o FROM DatasetTechnique o JOIN o.dataset AS ds JOIN ds.investigation + AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists + AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + Rule_00000048: + crudFlags: R + what: SELECT o FROM DatasetTechnique o JOIN o.dataset AS ds JOIN ds.investigation + AS i JOIN i.investigationInstruments AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists + AS s3 JOIN s3.user AS s4 WHERE s4.name = :user + Rule_00000049: + crudFlags: R + what: SELECT o FROM Grouping o JOIN o.investigationGroups AS ig JOIN ig.investigation + AS s1 JOIN s1.investigationGroups AS s2 JOIN s2.grouping AS s3 JOIN s3.userGroups + AS s4 JOIN s4.user AS s5 WHERE s5.name = :user AND s2.role = 'owner' + Rule_00000050: + crudFlags: R + what: SELECT o FROM Investigation o JOIN o.dataCollectionInvestigations AS s1 + JOIN s1.dataCollection AS s2 JOIN s2.dataPublications AS s3 WHERE s3.publicationDate + < CURRENT_TIMESTAMP + Rule_00000051: + crudFlags: R + what: SELECT o FROM Investigation o JOIN o.investigationGroups AS ig JOIN ig.grouping + AS s1 JOIN s1.userGroups AS s2 JOIN s2.user AS s3 WHERE s3.name = :user + Rule_00000052: + crudFlags: R + what: SELECT o FROM Investigation o JOIN o.investigationInstruments AS ii JOIN + ii.instrument AS s1 JOIN s1.instrumentScientists AS s2 JOIN s2.user AS s3 WHERE + s3.name = :user + Rule_00000053: + crudFlags: R + what: SELECT o FROM Investigation o WHERE o.releaseDate < CURRENT_TIMESTAMP + Rule_00000054: + crudFlags: R + what: SELECT o FROM InvestigationParameter o JOIN o.investigation AS i JOIN i.investigationGroups + AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE + s4.name = :user + Rule_00000055: + crudFlags: CUD + what: SELECT o FROM InvestigationParameter o JOIN o.investigation AS i JOIN i.investigationGroups + AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE + s4.name = :user AND s1.role = 'writer' + Rule_00000056: + crudFlags: CUD + what: SELECT o FROM InvestigationParameter o JOIN o.investigation AS i JOIN i.investigationInstruments + AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user + AS s4 WHERE s4.name = :user + Rule_00000057: + crudFlags: R + what: SELECT o FROM InvestigationParameter o JOIN o.investigation AS i JOIN i.investigationInstruments + AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user + AS s4 WHERE s4.name = :user + Rule_00000058: + crudFlags: CRUD + what: SELECT o FROM Job o WHERE o.createId = :user + Rule_00000059: + crudFlags: R + what: SELECT o FROM Keyword o JOIN o.investigation AS i JOIN i.investigationGroups + AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE + s4.name = :user + Rule_00000060: + crudFlags: R + what: SELECT o FROM Keyword o JOIN o.investigation AS i JOIN i.investigationInstruments + AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user + AS s4 WHERE s4.name = :user + Rule_00000061: + crudFlags: R + what: SELECT o FROM Publication o JOIN o.investigation AS i JOIN i.investigationGroups + AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE + s4.name = :user + Rule_00000062: + crudFlags: R + what: SELECT o FROM Publication o JOIN o.investigation AS i JOIN i.investigationInstruments + AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user + AS s4 WHERE s4.name = :user + Rule_00000063: + crudFlags: CRUD + what: SELECT o FROM RelatedDatafile o WHERE o.createId = :user + Rule_00000064: + crudFlags: R + what: SELECT o FROM Sample o JOIN o.investigation AS i JOIN i.investigationGroups + AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE + s4.name = :user + Rule_00000065: + crudFlags: CUD + what: SELECT o FROM Sample o JOIN o.investigation AS i JOIN i.investigationGroups + AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE + s4.name = :user AND s1.role = 'writer' + Rule_00000066: + crudFlags: CUD + what: SELECT o FROM Sample o JOIN o.investigation AS i JOIN i.investigationInstruments + AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user + AS s4 WHERE s4.name = :user + Rule_00000067: + crudFlags: R + what: SELECT o FROM Sample o JOIN o.investigation AS i JOIN i.investigationInstruments + AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user + AS s4 WHERE s4.name = :user + Rule_00000068: + crudFlags: R + what: SELECT o FROM SampleParameter o JOIN o.sample AS s1 JOIN s1.investigation + AS s2 JOIN s2.investigationGroups AS s3 JOIN s3.grouping AS s4 JOIN s4.userGroups + AS s5 JOIN s5.user AS s6 WHERE s6.name = :user + Rule_00000069: + crudFlags: CUD + what: SELECT o FROM SampleParameter o JOIN o.sample AS s1 JOIN s1.investigation + AS s2 JOIN s2.investigationGroups AS s3 JOIN s3.grouping AS s4 JOIN s4.userGroups + AS s5 JOIN s5.user AS s6 WHERE s6.name = :user AND s3.role = 'writer' + Rule_00000070: + crudFlags: CUD + what: SELECT o FROM SampleParameter o JOIN o.sample AS s1 JOIN s1.investigation + AS s2 JOIN s2.investigationInstruments AS s3 JOIN s3.instrument AS s4 JOIN s4.instrumentScientists + AS s5 JOIN s5.user AS s6 WHERE s6.name = :user + Rule_00000071: + crudFlags: R + what: SELECT o FROM SampleParameter o JOIN o.sample AS s1 JOIN s1.investigation + AS s2 JOIN s2.investigationInstruments AS s3 JOIN s3.instrument AS s4 JOIN s4.instrumentScientists + AS s5 JOIN s5.user AS s6 WHERE s6.name = :user + Rule_00000072: + crudFlags: R + what: SELECT o FROM Shift o JOIN o.investigation AS i JOIN i.investigationGroups + AS s1 JOIN s1.grouping AS s2 JOIN s2.userGroups AS s3 JOIN s3.user AS s4 WHERE + s4.name = :user + Rule_00000073: + crudFlags: R + what: SELECT o FROM Shift o JOIN o.investigation AS i JOIN i.investigationInstruments + AS s1 JOIN s1.instrument AS s2 JOIN s2.instrumentScientists AS s3 JOIN s3.user + AS s4 WHERE s4.name = :user + Rule_00000074: + crudFlags: CRUD + what: SELECT o FROM UserGroup o JOIN o.grouping AS g JOIN g.investigationGroups + AS s1 JOIN s1.investigation AS s2 JOIN s2.investigationGroups AS s3 JOIN s3.grouping + AS s4 JOIN s4.userGroups AS s5 JOIN s5.user AS s6 WHERE s6.name = :user AND + s3.role = 'owner' AND s1.role in ('reader', 'writer') + Rule_00000075: + crudFlags: CR + what: SampleType + Rule_00000076: + crudFlags: R + what: Study <-> User [name=:user] + Rule_00000077: + crudFlags: R + what: Technique + Rule_00000078: + crudFlags: R + what: User + Rule_00000079: + crudFlags: CRU + grouping: Grouping_name-ingest + what: Datafile + Rule_00000080: + crudFlags: CRU + grouping: Grouping_name-ingest + what: DatafileParameter + Rule_00000081: + crudFlags: CRU + grouping: Grouping_name-ingest + what: Dataset + Rule_00000082: + crudFlags: CRU + grouping: Grouping_name-ingest + what: DatasetInstrument + Rule_00000083: + crudFlags: CRU + grouping: Grouping_name-ingest + what: DatasetParameter + Rule_00000084: + crudFlags: CRU + grouping: Grouping_name-ingest + what: DatasetTechnique + Rule_00000085: + crudFlags: R + grouping: Grouping_name-ingest + what: Investigation + Rule_00000086: + crudFlags: CRU + grouping: Grouping_name-ingest + what: Sample + Rule_00000087: + crudFlags: R + grouping: Grouping_name-ingest + what: Shift + Rule_00000088: + crudFlags: CRUD + grouping: Grouping_name-publisher + what: Affiliation + Rule_00000089: + crudFlags: CRUD + grouping: Grouping_name-publisher + what: DataPublication + Rule_00000090: + crudFlags: CRUD + grouping: Grouping_name-publisher + what: DataPublicationDate + Rule_00000091: + crudFlags: CRUD + grouping: Grouping_name-publisher + what: DataPublicationFunding + Rule_00000092: + crudFlags: CRUD + grouping: Grouping_name-publisher + what: DataPublicationUser + Rule_00000093: + crudFlags: CRUD + grouping: Grouping_name-publisher + what: FundingReference + Rule_00000094: + crudFlags: CRUD + grouping: Grouping_name-publisher + what: RelatedItem + Rule_00000095: + crudFlags: CRUD + grouping: Grouping_name-publisher + what: Subject + Rule_00000096: + crudFlags: R + grouping: Grouping_name-pubreader + what: SELECT o FROM DataPublication o + Rule_00000097: + crudFlags: R + grouping: Grouping_name-pubreader + what: SELECT o FROM Datafile o JOIN o.dataCollectionDatafiles AS s1 JOIN s1.dataCollection + AS s2 JOIN s2.dataPublications AS s3 WHERE s3.id IS NOT NULL + Rule_00000098: + crudFlags: R + grouping: Grouping_name-pubreader + what: SELECT o FROM Datafile o JOIN o.dataset AS ds JOIN ds.dataCollectionDatasets + AS s1 JOIN s1.dataCollection AS s2 JOIN s2.dataPublications AS s3 WHERE s3.id + IS NOT NULL + Rule_00000099: + crudFlags: R + grouping: Grouping_name-pubreader + what: SELECT o FROM Datafile o JOIN o.dataset AS ds JOIN ds.investigation AS i + JOIN i.dataCollectionInvestigations AS s1 JOIN s1.dataCollection AS s2 JOIN + s2.dataPublications AS s3 WHERE s3.id IS NOT NULL + Rule_00000100: + crudFlags: R + grouping: Grouping_name-pubreader + what: SELECT o FROM Dataset o JOIN o.dataCollectionDatasets AS s1 JOIN s1.dataCollection + AS s2 JOIN s2.dataPublications AS s3 WHERE s3.id IS NOT NULL + Rule_00000101: + crudFlags: R + grouping: Grouping_name-pubreader + what: SELECT o FROM Dataset o JOIN o.investigation AS i JOIN i.dataCollectionInvestigations + AS s1 JOIN s1.dataCollection AS s2 JOIN s2.dataPublications AS s3 WHERE s3.id + IS NOT NULL + Rule_00000102: + crudFlags: R + grouping: Grouping_name-pubreader + what: SELECT o FROM Investigation o JOIN o.dataCollectionInvestigations AS s1 + JOIN s1.dataCollection AS s2 JOIN s2.dataPublications AS s3 WHERE s3.id IS NOT + NULL + Rule_00000103: + crudFlags: R + grouping: Grouping_name-rall + what: Affiliation + Rule_00000104: + crudFlags: R + grouping: Grouping_name-rall + what: DataCollection + Rule_00000105: + crudFlags: R + grouping: Grouping_name-rall + what: DataCollectionDatafile + Rule_00000106: + crudFlags: R + grouping: Grouping_name-rall + what: DataCollectionDataset + Rule_00000107: + crudFlags: R + grouping: Grouping_name-rall + what: DataCollectionInvestigation + Rule_00000108: + crudFlags: R + grouping: Grouping_name-rall + what: DataCollectionParameter + Rule_00000109: + crudFlags: R + grouping: Grouping_name-rall + what: DataPublication + Rule_00000110: + crudFlags: R + grouping: Grouping_name-rall + what: DataPublicationDate + Rule_00000111: + crudFlags: R + grouping: Grouping_name-rall + what: DataPublicationFunding + Rule_00000112: + crudFlags: R + grouping: Grouping_name-rall + what: DataPublicationUser + Rule_00000113: + crudFlags: R + grouping: Grouping_name-rall + what: Datafile + Rule_00000114: + crudFlags: R + grouping: Grouping_name-rall + what: DatafileParameter + Rule_00000115: + crudFlags: R + grouping: Grouping_name-rall + what: Dataset + Rule_00000116: + crudFlags: R + grouping: Grouping_name-rall + what: DatasetInstrument + Rule_00000117: + crudFlags: R + grouping: Grouping_name-rall + what: DatasetParameter + Rule_00000118: + crudFlags: R + grouping: Grouping_name-rall + what: DatasetTechnique + Rule_00000119: + crudFlags: R + grouping: Grouping_name-rall + what: FundingReference + Rule_00000120: + crudFlags: R + grouping: Grouping_name-rall + what: Grouping + Rule_00000121: + crudFlags: R + grouping: Grouping_name-rall + what: InstrumentScientist + Rule_00000122: + crudFlags: R + grouping: Grouping_name-rall + what: Investigation + Rule_00000123: + crudFlags: R + grouping: Grouping_name-rall + what: InvestigationFacilityCycle + Rule_00000124: + crudFlags: R + grouping: Grouping_name-rall + what: InvestigationFunding + Rule_00000125: + crudFlags: R + grouping: Grouping_name-rall + what: InvestigationGroup + Rule_00000126: + crudFlags: R + grouping: Grouping_name-rall + what: InvestigationInstrument + Rule_00000127: + crudFlags: R + grouping: Grouping_name-rall + what: InvestigationParameter + Rule_00000128: + crudFlags: R + grouping: Grouping_name-rall + what: InvestigationUser + Rule_00000129: + crudFlags: R + grouping: Grouping_name-rall + what: Job + Rule_00000130: + crudFlags: R + grouping: Grouping_name-rall + what: Keyword + Rule_00000131: + crudFlags: R + grouping: Grouping_name-rall + what: PublicStep + Rule_00000132: + crudFlags: R + grouping: Grouping_name-rall + what: Publication + Rule_00000133: + crudFlags: R + grouping: Grouping_name-rall + what: RelatedDatafile + Rule_00000134: + crudFlags: R + grouping: Grouping_name-rall + what: RelatedItem + Rule_00000135: + crudFlags: R + grouping: Grouping_name-rall + what: Rule + Rule_00000136: + crudFlags: R + grouping: Grouping_name-rall + what: Sample + Rule_00000137: + crudFlags: R + grouping: Grouping_name-rall + what: SampleParameter + Rule_00000138: + crudFlags: R + grouping: Grouping_name-rall + what: Shift + Rule_00000139: + crudFlags: R + grouping: Grouping_name-rall + what: Study + Rule_00000140: + crudFlags: R + grouping: Grouping_name-rall + what: StudyInvestigation + Rule_00000141: + crudFlags: R + grouping: Grouping_name-rall + what: Subject + Rule_00000142: + crudFlags: R + grouping: Grouping_name-rall + what: UserGroup + Rule_00000143: + crudFlags: RU + grouping: Grouping_name-scientific=5Fstaff + what: Sample + Rule_00000144: + crudFlags: UD + grouping: Grouping_name-scientific=5Fstaff + what: SampleType + Rule_00000145: + crudFlags: CRUD + grouping: Grouping_name-useroffice + what: FacilityCycle + Rule_00000146: + crudFlags: CRUD + grouping: Grouping_name-useroffice + what: FundingReference + Rule_00000147: + crudFlags: CRUD + grouping: Grouping_name-useroffice + what: Grouping + Rule_00000148: + crudFlags: CRUD + grouping: Grouping_name-useroffice + what: InstrumentScientist + Rule_00000149: + crudFlags: CRUD + grouping: Grouping_name-useroffice + what: Investigation + Rule_00000150: + crudFlags: CRUD + grouping: Grouping_name-useroffice + what: InvestigationFunding + Rule_00000151: + crudFlags: CRUD + grouping: Grouping_name-useroffice + what: InvestigationGroup + Rule_00000152: + crudFlags: CRUD + grouping: Grouping_name-useroffice + what: InvestigationInstrument + Rule_00000153: + crudFlags: CRUD + grouping: Grouping_name-useroffice + what: InvestigationParameter + Rule_00000154: + crudFlags: CRUD + grouping: Grouping_name-useroffice + what: InvestigationUser + Rule_00000155: + crudFlags: CRUD + grouping: Grouping_name-useroffice + what: Keyword + Rule_00000156: + crudFlags: CRUD + grouping: Grouping_name-useroffice + what: Publication + Rule_00000157: + crudFlags: CRUD + grouping: Grouping_name-useroffice + what: Shift + Rule_00000158: + crudFlags: CRUD + grouping: Grouping_name-useroffice + what: Study + Rule_00000159: + crudFlags: CRUD + grouping: Grouping_name-useroffice + what: StudyInvestigation + Rule_00000160: + crudFlags: CRUD + grouping: Grouping_name-useroffice + what: User + Rule_00000161: + crudFlags: CRUD + grouping: Grouping_name-useroffice + what: UserGroup +user: + User_name-db=2Facord: + affiliation: University of Ravenna, Institute of Modern History + email: acord@example.org + familyName: Cordus + fullName: Aelius Cordus + givenName: Aelius + name: db/acord + orcidId: 0000-0002-3262 + User_name-db=2Fahau: + affiliation: Goethe University Frankfurt, Faculty of Philosophy and History + email: ahau@example.org + familyName: Hau + fullName: Arnold Hau + givenName: Arnold + name: db/ahau + orcidId: 0000-0002-3263 + User_name-db=2Fjbotu: + affiliation: "Universit\xE9 Paul-Val\xE9ry Montpellier 3" + email: jbotu@example.org + familyName: Botul + fullName: Jean-Baptiste Botul + givenName: Jean-Baptiste + name: db/jbotu + orcidId: 0000-0002-3264 + User_name-db=2Fjdoe: + email: jdoe@example.org + familyName: Doe + fullName: John Doe + givenName: John + name: db/jdoe + User_name-db=2Fnbour: + affiliation: University of Nancago + email: nbour@example.org + familyName: Bourbaki + fullName: Nicolas Bourbaki + givenName: Nicolas + name: db/nbour + orcidId: 0000-0002-3266 + User_name-db=2Frbeck: + affiliation: "Kaiser-Wilhelms-Akademie f\xFCr das milit\xE4r\xE4rztliche Bildungswesen" + email: rbeck@example.org + familyName: "Beck-D\xFClmen" + fullName: "Rudolph Beck-D\xFClmen" + givenName: Rudolph + name: db/rbeck + orcidId: 0000-0002-3267 + User_name-simple=2Fdataingest: + fullName: Data Ingester + name: simple/dataingest + User_name-simple=2Fidsreader: + fullName: IDS reader + name: simple/idsreader + User_name-simple=2Fpubreader: + fullName: Pub reader + name: simple/pubreader + User_name-simple=2Froot: + fullName: Root + name: simple/root + User_name-simple=2Fuseroffice: + fullName: User Office + name: simple/useroffice +--- +application: + Application_facility-(name-ESNF)_name-gnomoanalytics_version-69: + facility: Facility_name-ESNF + name: gnomoanalytics + version: '69' +dataPublicationType: + DataPublicationType_facility-(name-ESNF)_name-curated: + description: Curated data publication + facility: Facility_name-ESNF + name: curated + DataPublicationType_facility-(name-ESNF)_name-raw: + description: Open access raw data + facility: Facility_name-ESNF + name: raw +datafileFormat: + DatafileFormat_facility-(name-ESNF)_name-CSV_version-N=2FA: + description: Comma separated values + facility: Facility_name-ESNF + name: CSV + type: text/csv + version: N/A + DatafileFormat_facility-(name-ESNF)_name-HDF5_version-N=2FA: + description: Hierarchical Data Format version 5 + facility: Facility_name-ESNF + name: HDF5 + type: application/x-hdf5 + version: N/A + DatafileFormat_facility-(name-ESNF)_name-NeXus_version-N=2FA: + description: A common data format for neutron, x-ray and muon science + facility: Facility_name-ESNF + name: NeXus + type: application/x-hdf5 + version: N/A + DatafileFormat_facility-(name-ESNF)_name-Text_version-N=2FA: + description: Plain text file + facility: Facility_name-ESNF + name: Text + type: text/plain + version: N/A + DatafileFormat_facility-(name-ESNF)_name-XML_version-N=2FA: + description: XML document text + facility: Facility_name-ESNF + name: XML + type: application/xml + version: N/A + DatafileFormat_facility-(name-ESNF)_name-other_version-N=2FA: + description: Unknown file format + facility: Facility_name-ESNF + name: other + version: N/A +datasetType: + DatasetType_facility-(name-ESNF)_name-analyzed: + description: data arising from the analysis of other data + facility: Facility_name-ESNF + name: analyzed + DatasetType_facility-(name-ESNF)_name-other: + description: data not belonging to any other category + facility: Facility_name-ESNF + name: other + DatasetType_facility-(name-ESNF)_name-raw: + description: data collected from experiments on instruments + facility: Facility_name-ESNF + name: raw +facility: + Facility_name-ESNF: + description: ESNF is an example facility + fullName: Example Synchrotron and Neutron Facility + name: ESNF + url: http://www.esnf.example.org/ +facilityCycle: + FacilityCycle_facility-(name-ESNF)_name-071: + endDate: '2007-08-14T22:00:00+00:00' + facility: Facility_name-ESNF + name: '071' + startDate: '2007-02-14T23:00:00+00:00' + FacilityCycle_facility-(name-ESNF)_name-072: + endDate: '2008-02-14T23:00:00+00:00' + facility: Facility_name-ESNF + name: '072' + startDate: '2007-08-14T22:00:00+00:00' + FacilityCycle_facility-(name-ESNF)_name-081: + endDate: '2008-08-14T22:00:00+00:00' + facility: Facility_name-ESNF + name: 081 + startDate: '2008-02-14T23:00:00+00:00' + FacilityCycle_facility-(name-ESNF)_name-082: + endDate: '2009-02-14T23:00:00+00:00' + facility: Facility_name-ESNF + name: 082 + startDate: '2008-08-14T22:00:00+00:00' + FacilityCycle_facility-(name-ESNF)_name-091: + endDate: '2009-08-14T22:00:00+00:00' + facility: Facility_name-ESNF + name: 091 + startDate: '2009-02-14T23:00:00+00:00' + FacilityCycle_facility-(name-ESNF)_name-092: + endDate: '2010-02-14T23:00:00+00:00' + facility: Facility_name-ESNF + name: 092 + startDate: '2009-08-14T22:00:00+00:00' + FacilityCycle_facility-(name-ESNF)_name-101: + endDate: '2010-08-14T22:00:00+00:00' + facility: Facility_name-ESNF + name: '101' + startDate: '2010-02-14T23:00:00+00:00' + FacilityCycle_facility-(name-ESNF)_name-102: + endDate: '2011-02-14T23:00:00+00:00' + facility: Facility_name-ESNF + name: '102' + startDate: '2010-08-14T22:00:00+00:00' + FacilityCycle_facility-(name-ESNF)_name-111: + endDate: '2011-08-14T22:00:00+00:00' + facility: Facility_name-ESNF + name: '111' + startDate: '2011-02-14T23:00:00+00:00' + FacilityCycle_facility-(name-ESNF)_name-112: + endDate: '2012-02-14T23:00:00+00:00' + facility: Facility_name-ESNF + name: '112' + startDate: '2011-08-14T22:00:00+00:00' + FacilityCycle_facility-(name-ESNF)_name-121: + endDate: '2012-08-14T22:00:00+00:00' + facility: Facility_name-ESNF + name: '121' + startDate: '2012-02-14T23:00:00+00:00' + FacilityCycle_facility-(name-ESNF)_name-122: + endDate: '2013-02-14T23:00:00+00:00' + facility: Facility_name-ESNF + name: '122' + startDate: '2012-08-14T22:00:00+00:00' + FacilityCycle_facility-(name-ESNF)_name-131: + endDate: '2013-08-14T22:00:00+00:00' + facility: Facility_name-ESNF + name: '131' + startDate: '2013-02-14T23:00:00+00:00' + FacilityCycle_facility-(name-ESNF)_name-132: + endDate: '2014-02-14T23:00:00+00:00' + facility: Facility_name-ESNF + name: '132' + startDate: '2013-08-14T22:00:00+00:00' + FacilityCycle_facility-(name-ESNF)_name-141: + endDate: '2014-08-14T22:00:00+00:00' + facility: Facility_name-ESNF + name: '141' + startDate: '2014-02-14T23:00:00+00:00' + FacilityCycle_facility-(name-ESNF)_name-142: + endDate: '2015-02-14T23:00:00+00:00' + facility: Facility_name-ESNF + name: '142' + startDate: '2014-08-14T22:00:00+00:00' + FacilityCycle_facility-(name-ESNF)_name-151: + endDate: '2015-08-14T22:00:00+00:00' + facility: Facility_name-ESNF + name: '151' + startDate: '2015-02-14T23:00:00+00:00' + FacilityCycle_facility-(name-ESNF)_name-152: + endDate: '2016-02-14T23:00:00+00:00' + facility: Facility_name-ESNF + name: '152' + startDate: '2015-08-14T22:00:00+00:00' + FacilityCycle_facility-(name-ESNF)_name-161: + endDate: '2016-08-14T22:00:00+00:00' + facility: Facility_name-ESNF + name: '161' + startDate: '2016-02-14T23:00:00+00:00' + FacilityCycle_facility-(name-ESNF)_name-162: + endDate: '2017-02-14T23:00:00+00:00' + facility: Facility_name-ESNF + name: '162' + startDate: '2016-08-14T22:00:00+00:00' +instrument: + Instrument_facility-(name-ESNF)_name-E2: + description: 'A 3-dimensional part of the reciprocal space can be scanned in less + then five steps by combining the "off-plane Bragg-scattering" and the flat-cone + layer concept while using a new computer-controlled tilting axis of the detector + bank. + + ' + endDate: '2019-12-30T23:00:00+00:00' + facility: Facility_name-ESNF + fullName: E2 - Flat-Cone Diffractometer + instrumentScientists: + - user: User_name-db=2Facord + name: E2 + pid: DOI:00.0815/inst-00001 + startDate: '2006-12-31T23:00:00+00:00' + Instrument_facility-(name-ESNF)_name-EDDI: + description: 'The experimental station EDDI (Energy Dispersive Diffraction) is + a fixed station at the 7T-MPW-EDDI beamline. The beamline provides the direct + white photon beam emitted by the 7T multipole wiggler and is operated in the + energy-dispersive mode of diffraction. For the experiments two diffractometers + with Eularian cradle segments (GE Inspection Technologies) are at the disposal + for light and heavy weight samples. For the acquisition of the diffraction + patterns as well as the fluorescence signals two Germanium solid state detectors + (Canberra) are available. + + ' + facility: Facility_name-ESNF + fullName: EDDI - Energy Dispersive Diffraction + instrumentScientists: + - user: User_name-db=2Facord + name: EDDI + pid: DOI:00.0815/inst-00048 + Instrument_facility-(name-ESNF)_name-HIKE: + description: 'The system is designed for hard X-ray high kinetic energy photoelectron + spectroscopy (HAXPES or HIKE) experiments in the excitation energy range from + 2 keV to 12 keV with an optimized recorded kinetic energy range from 150 eV + to 10000 eV. The typical experiments running on the HIKE end station are investigations + of bulk electronic properties - core levels and valence band, buried interfaces + and x-ray standing waves. + + ' + facility: Facility_name-ESNF + fullName: HIKE - High Kinetic Energy Photoelectron Spectroscopy + instrumentScientists: + - user: User_name-db=2Facord + name: HIKE + pid: DOI:00.0815/inst-00027 +investigationType: + InvestigationType_name-Calibration_facility-(name-ESNF): + facility: Facility_name-ESNF + name: Calibration + InvestigationType_name-Commercial=20experiment_facility-(name-ESNF): + facility: Facility_name-ESNF + name: Commercial experiment + InvestigationType_name-Engineering_facility-(name-ESNF): + facility: Facility_name-ESNF + name: Engineering + InvestigationType_name-Experiment_facility-(name-ESNF): + facility: Facility_name-ESNF + name: Experiment + InvestigationType_name-Simulation_facility-(name-ESNF): + facility: Facility_name-ESNF + name: Simulation +parameterType: + ParameterType_facility-(name-ESNF)_name-Comment_units-N=2FA: + applicableToDataCollection: true + applicableToDatafile: true + applicableToDataset: true + applicableToInvestigation: true + applicableToSample: true + enforced: false + facility: Facility_name-ESNF + name: Comment + units: N/A + valueType: STRING + verified: false + ParameterType_facility-(name-ESNF)_name-Last=20access_units-N=2FA: + applicableToDataCollection: false + applicableToDatafile: true + applicableToDataset: true + applicableToInvestigation: false + applicableToSample: false + enforced: false + facility: Facility_name-ESNF + name: Last access + units: N/A + valueType: DATE_AND_TIME + verified: false + ParameterType_facility-(name-ESNF)_name-Magnetic=20field_units-T: + applicableToDataCollection: false + applicableToDatafile: false + applicableToDataset: true + applicableToInvestigation: false + applicableToSample: false + enforced: false + facility: Facility_name-ESNF + name: Magnetic field + units: T + unitsFullName: Tesla + valueType: NUMERIC + verified: false + ParameterType_facility-(name-ESNF)_name-Probe_units-N=2FA: + applicableToDataCollection: false + applicableToDatafile: false + applicableToDataset: true + applicableToInvestigation: true + applicableToSample: false + enforced: false + facility: Facility_name-ESNF + name: Probe + permissibleStringValues: + - value: muon + - value: neutron + - value: photon + units: N/A + valueType: STRING + verified: false + ParameterType_facility-(name-ESNF)_name-Reactor=20power_units-MW: + applicableToDataCollection: false + applicableToDatafile: false + applicableToDataset: true + applicableToInvestigation: false + applicableToSample: false + enforced: false + facility: Facility_name-ESNF + name: Reactor power + units: MW + unitsFullName: Megawatt + valueType: NUMERIC + verified: false + ParameterType_facility-(name-ESNF)_name-Sample=20reference_units-N=2FA: + applicableToDataCollection: false + applicableToDatafile: false + applicableToDataset: false + applicableToInvestigation: false + applicableToSample: true + enforced: false + facility: Facility_name-ESNF + name: Sample reference + units: N/A + valueType: STRING + verified: false + ParameterType_facility-(name-ESNF)_name-Sample=20temperature_units-C: + applicableToDataCollection: false + applicableToDatafile: false + applicableToDataset: true + applicableToInvestigation: false + applicableToSample: false + enforced: false + facility: Facility_name-ESNF + name: Sample temperature + units: C + unitsFullName: Celsius + valueType: NUMERIC + verified: false + ParameterType_facility-(name-ESNF)_name-Sample=20temperature_units-K: + applicableToDataCollection: false + applicableToDatafile: false + applicableToDataset: true + applicableToInvestigation: false + applicableToSample: false + enforced: false + facility: Facility_name-ESNF + name: Sample temperature + units: K + unitsFullName: Kelvin + valueType: NUMERIC + verified: false + ParameterType_facility-(name-ESNF)_name-Scoundrel_units-N=2FA: + applicableToDataCollection: false + applicableToDatafile: false + applicableToDataset: false + applicableToInvestigation: true + applicableToSample: false + enforced: false + facility: Facility_name-ESNF + name: Scoundrel + permissibleStringValues: + - value: brutto + - value: buono + - value: cattivo + units: N/A + valueType: STRING + verified: false +sampleType: + SampleType_facility-(name-ESNF)_name-Durol=20SC_molecularFormula-C10H14: + facility: Facility_name-ESNF + molecularFormula: C10H14 + name: Durol SC + SampleType_facility-(name-ESNF)_name-NiMnGa_molecularFormula-NiMnGa: + facility: Facility_name-ESNF + molecularFormula: NiMnGa + name: NiMnGa + SampleType_facility-(name-ESNF)_name-Nickel=28II=29=20oxide=20SC_molecularFormula-NiO: + facility: Facility_name-ESNF + molecularFormula: NiO + name: Nickel(II) oxide SC +technique: + Technique_name-Angle=20Resolved=20Photoemission=20Spectroscopy: + description: Angle Resolved Photoemission Spectroscopy + name: Angle Resolved Photoemission Spectroscopy + pid: PaNET:PaNET01089 + Technique_name-Hard=20X=2Dray=20Photoelectron=20Spectroscopy: + description: Hard X-ray Photoelectron Spectroscopy + name: Hard X-ray Photoelectron Spectroscopy + pid: PaNET:PaNET01103 + Technique_name-Neutron=20Diffraction: + description: Neutron Diffraction + name: Neutron Diffraction + pid: PaNET:PaNET01217 + Technique_name-X=2Dray=20Tomography: + description: X-ray Tomography + name: X-ray Tomography + pid: PaNET:PaNET01207 +--- +fundingReference: + FundingReference_funderName-American=20Mathematical=20Society_awardNumber-AIS3241330750: + acknowledgement: This work has partly been supported by American Mathematical + Society under grant number AIS3241330750 which is greatfully acknowledged + awardNumber: AIS3241330750 + funderIdentifier: Crossref Funder ID:10.13039/100005376 + funderName: American Mathematical Society +--- +datafile: + ? Datafile_dataset-(investigation-(facility-(name-ESNF)_name-08100122=2DEF_visitId-1=2E1=2DP)_name-e201215)_name-e201215=2Enxs + : checksum: ac69460a + datafileCreateTime: '2008-06-18T07:31:11+00:00' + datafileFormat: DatafileFormat_facility-(name-ESNF)_name-NeXus_version-N=2FA + datafileModTime: '2008-06-18T07:31:11+00:00' + dataset: Dataset_investigation-(facility-(name-ESNF)_name-08100122=2DEF_visitId-1=2E1=2DP)_name-e201215 + fileSize: 368369 + name: e201215.nxs + parameters: + - dateTimeValue: '2008-06-18T07:31:11+00:00' + type: ParameterType_facility-(name-ESNF)_name-Last=20access_units-N=2FA +dataset: + Dataset_investigation-(facility-(name-ESNF)_name-08100122=2DEF_visitId-1=2E1=2DP)_name-e201215: + complete: false + datasetInstruments: + - instrument: Instrument_facility-(name-ESNF)_name-HIKE + datasetTechniques: + - technique: Technique_name-Hard=20X=2Dray=20Photoelectron=20Spectroscopy + fileCount: 1 + fileSize: 368369 + investigation: Investigation_facility-(name-ESNF)_name-08100122=2DEF_visitId-1=2E1=2DP + name: e201215 + sample: Sample_investigation-(facility-(name-ESNF)_name-08100122=2DEF_visitId-1=2E1=2DP)_name-Durol=20SC + startDate: '2008-03-13T10:39:42+00:00' + type: DatasetType_facility-(name-ESNF)_name-raw + Dataset_investigation-(facility-(name-ESNF)_name-08100122=2DEF_visitId-1=2E1=2DP)_name-e201216: + complete: false + datasetInstruments: + - instrument: Instrument_facility-(name-ESNF)_name-HIKE + datasetTechniques: + - technique: Technique_name-Hard=20X=2Dray=20Photoelectron=20Spectroscopy + fileCount: 0 + fileSize: 0 + investigation: Investigation_facility-(name-ESNF)_name-08100122=2DEF_visitId-1=2E1=2DP + name: e201216 + sample: Sample_investigation-(facility-(name-ESNF)_name-08100122=2DEF_visitId-1=2E1=2DP)_name-Durol=20SC + startDate: '2008-03-20T07:20:00+00:00' + type: DatasetType_facility-(name-ESNF)_name-raw +investigation: + Investigation_facility-(name-ESNF)_name-08100122=2DEF_visitId-1=2E1=2DP: + doi: DOI:00.0815/inv-00122 + facility: Facility_name-ESNF + fileCount: 1 + fileSize: 368369 + investigationFacilityCycles: + - facilityCycle: FacilityCycle_facility-(name-ESNF)_name-081 + investigationGroups: + - grouping: Grouping_name-investigation=5F08100122=2DEF=5Fowner + role: owner + - grouping: Grouping_name-investigation=5F08100122=2DEF=5Freader + role: reader + - grouping: Grouping_name-investigation=5F08100122=2DEF=5Fwriter + role: writer + investigationInstruments: + - instrument: Instrument_facility-(name-ESNF)_name-HIKE + investigationUsers: + - role: Principal Investigator + user: User_name-db=2Fjbotu + - role: Investigator + user: User_name-db=2Fnbour + - role: Investigator + user: User_name-db=2Frbeck + keywords: + - name: Durol + name: 08100122-EF + parameters: + - stringValue: photon + type: ParameterType_facility-(name-ESNF)_name-Probe_units-N=2FA + shifts: + - comment: Beamtime at HIKE + endDate: '2008-03-13T15:00:00+00:00' + instrument: Instrument_facility-(name-ESNF)_name-HIKE + startDate: '2008-03-13T07:00:00+00:00' + startDate: '2008-03-13T10:39:42+00:00' + title: Durol single crystal + type: InvestigationType_name-Experiment_facility-(name-ESNF) + visitId: 1.1-P +sample: + Sample_investigation-(facility-(name-ESNF)_name-08100122=2DEF_visitId-1=2E1=2DP)_name-Durol=20SC: + investigation: Investigation_facility-(name-ESNF)_name-08100122=2DEF_visitId-1=2E1=2DP + name: Durol SC + pid: IGSN:ESNFHNS8AYEZ + type: SampleType_facility-(name-ESNF)_name-Durol=20SC_molecularFormula-C10H14 +--- +datafile: + ? Datafile_dataset-(investigation-(facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN)_name-e208339)_name-e208339=2Edat + : checksum: 81c44870 + datafileCreateTime: '2010-10-01T06:17:48+00:00' + datafileFormat: DatafileFormat_facility-(name-ESNF)_name-other_version-N=2FA + datafileModTime: '2010-10-01T06:17:48+00:00' + dataset: Dataset_investigation-(facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN)_name-e208339 + fileSize: 446 + name: e208339.dat + parameters: + - dateTimeValue: '2010-10-01T06:51:56+00:00' + type: ParameterType_facility-(name-ESNF)_name-Last=20access_units-N=2FA + ? Datafile_dataset-(investigation-(facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN)_name-e208339)_name-e208339=2Enxs + : checksum: 8b369ddc + datafileCreateTime: '2010-10-01T06:52:22+00:00' + datafileFormat: DatafileFormat_facility-(name-ESNF)_name-NeXus_version-N=2FA + datafileModTime: '2010-10-01T06:52:22+00:00' + dataset: Dataset_investigation-(facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN)_name-e208339 + fileSize: 73428 + name: e208339.nxs + parameters: + - dateTimeValue: '2012-07-12T14:45:26+00:00' + type: ParameterType_facility-(name-ESNF)_name-Last=20access_units-N=2FA + ? Datafile_dataset-(investigation-(facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN)_name-e208341)_name-e208341=2Edat + : checksum: 284558f4 + datafileCreateTime: '2010-10-05T08:32:21+00:00' + datafileFormat: DatafileFormat_facility-(name-ESNF)_name-other_version-N=2FA + datafileModTime: '2010-10-05T08:32:21+00:00' + dataset: Dataset_investigation-(facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN)_name-e208341 + fileSize: 394 + name: e208341.dat + parameters: + - dateTimeValue: '2010-10-05T09:31:45+00:00' + type: ParameterType_facility-(name-ESNF)_name-Last=20access_units-N=2FA + ? Datafile_dataset-(investigation-(facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN)_name-e208341)_name-e208341=2Enxs + : checksum: 7c72b4bc + datafileCreateTime: '2010-10-05T09:31:53+00:00' + datafileFormat: DatafileFormat_facility-(name-ESNF)_name-NeXus_version-N=2FA + datafileModTime: '2010-10-05T09:31:53+00:00' + dataset: Dataset_investigation-(facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN)_name-e208341 + fileSize: 52857 + name: e208341.nxs + parameters: + - dateTimeValue: '2012-07-16T14:12:08+00:00' + type: ParameterType_facility-(name-ESNF)_name-Last=20access_units-N=2FA +dataset: + Dataset_investigation-(facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN)_name-e208339: + complete: false + datasetInstruments: + - instrument: Instrument_facility-(name-ESNF)_name-E2 + datasetTechniques: + - technique: Technique_name-Neutron=20Diffraction + endDate: '2010-10-01T06:17:48+00:00' + fileCount: 2 + fileSize: 73874 + investigation: Investigation_facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN + name: e208339 + parameters: + - numericValue: '7.3' + type: ParameterType_facility-(name-ESNF)_name-Magnetic=20field_units-T + - numericValue: '5.0' + type: ParameterType_facility-(name-ESNF)_name-Reactor=20power_units-MW + sample: Sample_investigation-(facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN)_name-NiMnGa=20991027 + startDate: '2010-09-30T10:27:24+00:00' + type: DatasetType_facility-(name-ESNF)_name-raw + Dataset_investigation-(facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN)_name-e208341: + complete: false + datasetInstruments: + - instrument: Instrument_facility-(name-ESNF)_name-E2 + datasetTechniques: + - technique: Technique_name-Neutron=20Diffraction + endDate: '2010-10-05T08:32:21+00:00' + fileCount: 2 + fileSize: 53251 + investigation: Investigation_facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN + name: e208341 + parameters: + - numericValue: '2.7' + type: ParameterType_facility-(name-ESNF)_name-Magnetic=20field_units-T + - numericValue: '5.0' + type: ParameterType_facility-(name-ESNF)_name-Reactor=20power_units-MW + sample: Sample_investigation-(facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN)_name-NiMnGa=20991027 + startDate: '2010-10-02T02:00:21+00:00' + type: DatasetType_facility-(name-ESNF)_name-raw + Dataset_investigation-(facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN)_name-e208342: + complete: false + datasetInstruments: + - instrument: Instrument_facility-(name-ESNF)_name-E2 + datasetTechniques: + - technique: Technique_name-Neutron=20Diffraction + endDate: '2010-10-12T15:00:00+00:00' + fileCount: 0 + fileSize: 0 + investigation: Investigation_facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN + name: e208342 + sample: Sample_investigation-(facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN)_name-NiMnGa=20991027 + startDate: '2010-10-09T05:00:00+00:00' + type: DatasetType_facility-(name-ESNF)_name-raw +investigation: + Investigation_facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN: + doi: DOI:00.0815/inv-00601 + endDate: '2010-10-12T15:00:00+00:00' + facility: Facility_name-ESNF + fileCount: 4 + fileSize: 127125 + investigationFacilityCycles: + - facilityCycle: FacilityCycle_facility-(name-ESNF)_name-102 + investigationGroups: + - grouping: Grouping_name-investigation=5F10100601=2DST=5Fowner + role: owner + - grouping: Grouping_name-investigation=5F10100601=2DST=5Freader + role: reader + - grouping: Grouping_name-investigation=5F10100601=2DST=5Fwriter + role: writer + investigationInstruments: + - instrument: Instrument_facility-(name-ESNF)_name-E2 + investigationUsers: + - role: Principal Investigator + user: User_name-db=2Fahau + keywords: + - name: Gallium + - name: Manganese + - name: NiMnGa + - name: Nickel + name: 10100601-ST + parameters: + - stringValue: neutron + type: ParameterType_facility-(name-ESNF)_name-Probe_units-N=2FA + publications: + - doi: DOI:00.1002/adma.201101001 + fullReference: A. Hau. Properties of NiMnGa. Adv. Mater. 2011, 1 + shifts: + - comment: Beamtime at E2 + endDate: '2010-10-06T06:00:00+00:00' + instrument: Instrument_facility-(name-ESNF)_name-E2 + startDate: '2010-09-29T06:00:00+00:00' + - comment: Beamtime at E2 + endDate: '2010-10-13T06:00:00+00:00' + instrument: Instrument_facility-(name-ESNF)_name-E2 + startDate: '2010-10-09T06:00:00+00:00' + startDate: '2010-09-30T10:27:24+00:00' + title: Ni-Mn-Ga flat cone + type: InvestigationType_name-Experiment_facility-(name-ESNF) + visitId: 1.1-N +sample: + Sample_investigation-(facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN)_name-NiMnGa=20991027: + investigation: Investigation_facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN + name: NiMnGa 991027 + parameters: + - stringValue: 2046c9a7-ab07-4594-84a2-101617073a79 + type: ParameterType_facility-(name-ESNF)_name-Sample=20reference_units-N=2FA + pid: IGSN:ESNFZDVHICBD + type: SampleType_facility-(name-ESNF)_name-NiMnGa_molecularFormula-NiMnGa +--- +datafile: + ? Datafile_dataset-(investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-e208945)_name-e208341=2Enxs + : checksum: 7c72b4bc + datafileCreateTime: '2010-10-05T09:31:53+00:00' + datafileFormat: DatafileFormat_facility-(name-ESNF)_name-NeXus_version-N=2FA + datafileModTime: '2010-10-05T09:31:53+00:00' + dataset: Dataset_investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-e208945 + fileSize: 52857 + name: e208341.nxs + parameters: + - dateTimeValue: '2014-10-02T12:32:51+00:00' + type: ParameterType_facility-(name-ESNF)_name-Last=20access_units-N=2FA + ? Datafile_dataset-(investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-e208945)_name-e208945=2D2=2Enxs + : datafileCreateTime: '2012-07-16T14:30:17+00:00' + datafileFormat: DatafileFormat_facility-(name-ESNF)_name-NeXus_version-N=2FA + datafileModTime: '2012-07-16T14:30:17+00:00' + dataset: Dataset_investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-e208945 + fileSize: 28937 + name: e208945-2.nxs + parameters: + - dateTimeValue: '2014-10-02T12:32:51+00:00' + type: ParameterType_facility-(name-ESNF)_name-Last=20access_units-N=2FA + ? Datafile_dataset-(investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-e208945)_name-e208945=2Edat + : checksum: bd55affa + datafileCreateTime: '2012-07-30T01:10:08+00:00' + datafileFormat: DatafileFormat_facility-(name-ESNF)_name-other_version-N=2FA + datafileModTime: '2012-07-30T01:10:08+00:00' + dataset: Dataset_investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-e208945 + fileSize: 459 + name: e208945.dat + parameters: + - dateTimeValue: '2014-10-02T12:32:51+00:00' + type: ParameterType_facility-(name-ESNF)_name-Last=20access_units-N=2FA + ? Datafile_dataset-(investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-e208945)_name-e208945=2Enxs + : checksum: 1db15f18 + datafileCreateTime: '2013-06-03T10:22:43+00:00' + datafileFormat: DatafileFormat_facility-(name-ESNF)_name-NeXus_version-N=2FA + datafileModTime: '2013-06-03T10:22:43+00:00' + dataset: Dataset_investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-e208945 + fileSize: 396430 + name: e208945.nxs + parameters: + - dateTimeValue: '2014-10-02T12:32:51+00:00' + type: ParameterType_facility-(name-ESNF)_name-Last=20access_units-N=2FA + ? Datafile_dataset-(investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-e208947)_name-e208947=2Enxs + : datafileCreateTime: '2012-07-16T14:30:17+00:00' + datafileFormat: DatafileFormat_facility-(name-ESNF)_name-NeXus_version-N=2FA + datafileModTime: '2012-07-16T14:30:17+00:00' + dataset: Dataset_investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-e208947 + fileSize: 14965 + name: e208947.nxs + parameters: + - dateTimeValue: '2012-07-17T07:28:18+00:00' + type: ParameterType_facility-(name-ESNF)_name-Last=20access_units-N=2FA + ? Datafile_dataset-(investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-pub=2D00027)_name-A000027=2Ehdf5 + : datafileCreateTime: '2012-07-31T22:52:23+00:00' + datafileFormat: DatafileFormat_facility-(name-ESNF)_name-HDF5_version-N=2FA + datafileModTime: '2012-07-31T22:52:23+00:00' + dataset: Dataset_investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-pub=2D00027 + fileSize: 264188 + name: A000027.hdf5 +dataset: + Dataset_investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-e208945: + complete: false + datasetInstruments: + - instrument: Instrument_facility-(name-ESNF)_name-EDDI + endDate: '2012-07-30T01:10:08+00:00' + fileCount: 4 + fileSize: 478683 + investigation: Investigation_facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP + name: e208945 + parameters: + - numericValue: '3.92' + type: ParameterType_facility-(name-ESNF)_name-Sample=20temperature_units-C + - numericValue: '277.07' + type: ParameterType_facility-(name-ESNF)_name-Sample=20temperature_units-K + sample: Sample_investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-Nickel=28II=29=20oxide=20SC + startDate: '2012-07-26T15:44:24+00:00' + type: DatasetType_facility-(name-ESNF)_name-raw + Dataset_investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-e208946: + complete: false + datasetInstruments: + - instrument: Instrument_facility-(name-ESNF)_name-EDDI + endDate: '2012-08-06T01:10:08+00:00' + fileCount: 0 + fileSize: 0 + investigation: Investigation_facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP + name: e208946 + sample: Sample_investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-Nickel=28II=29=20oxide=20SC + startDate: '2012-08-02T05:30:00+00:00' + type: DatasetType_facility-(name-ESNF)_name-raw + Dataset_investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-e208947: + complete: true + endDate: '2012-07-16T14:30:17+00:00' + fileCount: 1 + fileSize: 14965 + investigation: Investigation_facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP + name: e208947 + startDate: '2012-07-16T11:42:05+00:00' + type: DatasetType_facility-(name-ESNF)_name-analyzed + Dataset_investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-pub=2D00027: + complete: true + endDate: '2012-07-31T22:52:23+00:00' + fileCount: 1 + fileSize: 264188 + investigation: Investigation_facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP + name: pub-00027 + startDate: '2012-07-31T20:20:37+00:00' + type: DatasetType_facility-(name-ESNF)_name-other +investigation: + Investigation_facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP: + doi: DOI:00.0815/inv-00409 + endDate: '2012-08-06T01:10:08+00:00' + facility: Facility_name-ESNF + fileCount: 6 + fileSize: 757836 + fundingReferences: + - funding: FundingReference_funderName-American=20Mathematical=20Society_awardNumber-AIS3241330750 + investigationFacilityCycles: + - facilityCycle: FacilityCycle_facility-(name-ESNF)_name-121 + investigationGroups: + - grouping: Grouping_name-investigation=5F12100409=2DST=5Fowner + role: owner + - grouping: Grouping_name-investigation=5F12100409=2DST=5Freader + role: reader + - grouping: Grouping_name-investigation=5F12100409=2DST=5Fwriter + role: writer + investigationInstruments: + - instrument: Instrument_facility-(name-ESNF)_name-EDDI + investigationUsers: + - role: Principal Investigator + user: User_name-db=2Fnbour + keywords: + - name: NiO + - name: Nickel + - name: Nickel oxide + - name: oxide + name: 12100409-ST + parameters: + - stringValue: photon + type: ParameterType_facility-(name-ESNF)_name-Probe_units-N=2FA + shifts: + - comment: Beamtime at EDDI + endDate: '2012-08-07T04:00:00+00:00' + instrument: Instrument_facility-(name-ESNF)_name-EDDI + startDate: '2012-07-24T04:00:00+00:00' + startDate: '2012-07-26T15:44:24+00:00' + title: NiO SC OF1 JUH HHL + type: InvestigationType_name-Experiment_facility-(name-ESNF) + visitId: 1.1-P +sample: + Sample_investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-Nickel=28II=29=20oxide=20SC: + investigation: Investigation_facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP + name: Nickel(II) oxide SC + parameters: + - stringValue: c1b0a101-03aa-4d02-a1a2-e2826ba7871b + type: ParameterType_facility-(name-ESNF)_name-Sample=20reference_units-N=2FA + pid: IGSN:ESNFX8C7B53W + type: SampleType_facility-(name-ESNF)_name-Nickel=28II=29=20oxide=20SC_molecularFormula-NiO +--- +dataCollection: + DataCollection_00000001: + dataCollectionDatafiles: + - datafile: Datafile_dataset-(investigation-(facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN)_name-e208339)_name-e208339=2Enxs + dataCollectionDatasets: + - dataset: Dataset_investigation-(facility-(name-ESNF)_name-08100122=2DEF_visitId-1=2E1=2DP)_name-e201215 + - dataset: Dataset_investigation-(facility-(name-ESNF)_name-08100122=2DEF_visitId-1=2E1=2DP)_name-e201216 + DataCollection_00000002: + dataCollectionDatafiles: + - datafile: Datafile_dataset-(investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-e208945)_name-e208945=2Enxs + dataCollectionDatasets: + - dataset: Dataset_investigation-(facility-(name-ESNF)_name-08100122=2DEF_visitId-1=2E1=2DP)_name-e201216 + dataCollectionInvestigations: + - investigation: Investigation_facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP + DataCollection_00000003: + dataCollectionDatafiles: + - datafile: Datafile_dataset-(investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-e208945)_name-e208945=2Enxs + dataCollectionDatasets: + - dataset: Dataset_investigation-(facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN)_name-e208341 + parameters: + - stringValue: Make a synthesis of 10100601-ST and 12100409-ST + type: ParameterType_facility-(name-ESNF)_name-Comment_units-N=2FA + DataCollection_00000004: + dataCollectionDatafiles: + - datafile: Datafile_dataset-(investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-e208945)_name-e208945=2D2=2Enxs + dataCollectionDatasets: + - dataset: Dataset_investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-e208947 + doi: DOI:00.0815/dat-004711 + DataCollection_00000005: + dataCollectionDatasets: + - dataset: Dataset_investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-pub=2D00027 +--- +dataPublication: + DataPublication_facility-(name-ESNF)_pid-DOI=3A00=2E0815=2Fpub=2D00027: + content: DataCollection_00000005 + dates: + - date: '2012-08-01' + dateType: Created + - date: '2022-04-29' + dateType: Submitted + description: 'We provide the first 65535 integers from sequence A000027 of the + On-Line Encyclopedia of Integer Sequences. The data consists of an HDF5 file, + having one single entry: a one dimensional integer array.' + facility: Facility_name-ESNF + fundingReferences: + - funding: FundingReference_funderName-American=20Mathematical=20Society_awardNumber-AIS3241330750 + internalId: qwa2-gc-v9lp + pid: DOI:00.0815/pub-00027 + publicationDate: '2022-10-30T23:00:00+00:00' + relatedItems: + - fullReference: OEIS Foundation Inc. (2022), The positive integers, Entry A000027 + in The On-Line Encyclopedia of Integer Sequences + identifier: URL:http://oeis.org/A000027 + relatedItemType: Other + relationType: References + title: The positive integers + subject: integer sequence; OEIS; On-Line Encyclopedia of Integer Sequences + subjects: + - name: OEIS + - name: On-Line Encyclopedia of Integer Sequences + - classificationCode: 11B83 + name: Special sequences and polynomials + schemeURI: https://zbmath.org/classification/ + subjectScheme: "Mathematics Subject Classification \u2013 MSC2020" + - name: integer sequence + title: Data from OEIS sequence A000027 + type: DataPublicationType_facility-(name-ESNF)_name-curated +dataPublicationUser: + ? DataPublicationUser_publication-(facility-(name-ESNF)_pid-DOI=3A00=2E0815=2Fpub=2D00027)_user-(name-db=2Fnbour)_contributorType-Creator + : affiliations: + - fullReference: "Universit\xE9 de Nancy" + name: '01: Nancy' + - fullReference: University of Chicago + name: '02: Chicago' + pid: ROR:024mw5h28 + contributorType: Creator + email: nbour@example.org + familyName: Bourbaki + fullName: Bourbaki, Nicolas + givenName: Nicolas + orderKey: '01' + publication: DataPublication_facility-(name-ESNF)_pid-DOI=3A00=2E0815=2Fpub=2D00027 + user: User_name-db=2Fnbour +--- +job: + Job_00000001: + application: Application_facility-(name-ESNF)_name-gnomoanalytics_version-69 + inputDataCollection: DataCollection_00000003 + outputDataCollection: DataCollection_00000004 +relatedDatafile: + ? RelatedDatafile_sourceDatafile-(dataset-(investigation-(facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN)_name-e208341)_name-e208341=2Enxs)_destDatafile-(dataset-(investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-e208945)_name-e208341=2Enxs) + : destDatafile: Datafile_dataset-(investigation-(facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP)_name-e208945)_name-e208341=2Enxs + relation: copy + sourceDatafile: Datafile_dataset-(investigation-(facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN)_name-e208341)_name-e208341=2Enxs +study: + Study_00000001: + endDate: '2012-09-30T18:00:00+00:00' + name: 12-008 + pid: DOI:00.0815/m-00333 + startDate: '2012-07-09T06:00:00+00:00' + status: COMPLETE + studyInvestigations: + - investigation: Investigation_facility-(name-ESNF)_name-10100601=2DST_visitId-1=2E1=2DN + - investigation: Investigation_facility-(name-ESNF)_name-12100409=2DST_visitId-1=2E1=2DP + user: User_name-db=2Fnbour diff --git a/doc/examples/icatsummary.py b/doc/examples/icatsummary.py index 87358e4..c7f2514 100644 --- a/doc/examples/icatsummary.py +++ b/doc/examples/icatsummary.py @@ -18,7 +18,7 @@ print("User: %s" % client.getUserName()) print() -entitycolwidth = 24 +entitycolwidth = max(len(e) for e in client.typemap.keys()) print("%-*s %s" % (entitycolwidth, "Entity", "count")) print("-" * (entitycolwidth + 3 + 5)) for entityname in client.getEntityNames(): diff --git a/doc/examples/init-icat.py b/doc/examples/init-icat.py index a632f1a..5d7c403 100644 --- a/doc/examples/init-icat.py +++ b/doc/examples/init-icat.py @@ -159,6 +159,8 @@ def getUser(client, attrs): "DataPublicationDate", "DataPublicationFunding", "DataPublicationUser", "FundingReference", "FundingReference", "RelatedItem" } + if "subject" in client.typemap: + publisher_tables.add("Subject") client.createRules("CRUD", publisher_tables, publisher_group) # read permissions: DataPublication should be publicly readable as @@ -401,6 +403,8 @@ def getUser(client, attrs): ( "Investigation", "fundingReferences"), ( "InvestigationFunding", "funding"), ]) + if "subject" in client.typemap: + pubsteps.extend([ ("DataPublication", "subjects") ]) pubsteps.sort() objs = [ client.new("PublicStep", origin=origin, field=field) for (origin, field) in pubsteps ] diff --git a/doc/icatdata-6.2.xsd b/doc/icatdata-6.2.xsd new file mode 100644 index 0000000..d1f4fb0 --- /dev/null +++ b/doc/icatdata-6.2.xsd @@ -0,0 +1,1457 @@ + + + + + + Schema definition for an ICAT data file format. + Valid for ICAT 6.2.*. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/src/tutorial-config-advanced.rst b/doc/src/tutorial-config-advanced.rst index 8d0a251..0900a50 100644 --- a/doc/src/tutorial-config-advanced.rst +++ b/doc/src/tutorial-config-advanced.rst @@ -27,7 +27,7 @@ on the list of available command line options:: [--no-proxy NO_PROXY] [-a AUTH] [-u USERNAME] [-P] [-p PASSWORD] [-o OUTFILE] - optional arguments: + options: -h, --help show this help message and exit -c CONFIGFILE, --configfile CONFIGFILE config file @@ -155,7 +155,7 @@ sub-commands should be listed:: [-P] [-p PASSWORD] [-e {User,Study}] {list,create,delete} ... - optional arguments: + options: -h, --help show this help message and exit -c CONFIGFILE, --configfile CONFIGFILE config file @@ -194,10 +194,10 @@ config file (``-s SECTION``) as well as the `entity` variable (``-e listing existing User objects... [(user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 affiliation = "University of Ravenna, Institute of Modern History" email = "acord@example.org" familyName = "Cordus" @@ -207,10 +207,10 @@ config file (``-s SECTION``) as well as the `entity` variable (``-e orcidId = "0000-0002-3262" }, (user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 affiliation = "Goethe University Frankfurt, Faculty of Philosophy and History" email = "ahau@example.org" familyName = "Hau" @@ -220,10 +220,10 @@ config file (``-s SECTION``) as well as the `entity` variable (``-e orcidId = "0000-0002-3263" }, (user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 3 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 affiliation = "Université Paul-Valéry Montpellier 3" email = "jbotu@example.org" familyName = "Botul" @@ -233,10 +233,10 @@ config file (``-s SECTION``) as well as the `entity` variable (``-e orcidId = "0000-0002-3264" }, (user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 4 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 email = "jdoe@example.org" familyName = "Doe" fullName = "John Doe" @@ -244,10 +244,10 @@ config file (``-s SECTION``) as well as the `entity` variable (``-e name = "db/jdoe" }, (user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 5 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 affiliation = "University of Nancago" email = "nbour@example.org" familyName = "Bourbaki" @@ -257,10 +257,10 @@ config file (``-s SECTION``) as well as the `entity` variable (``-e orcidId = "0000-0002-3266" }, (user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 6 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 affiliation = "Kaiser-Wilhelms-Akademie für das militärärztliche Bildungswesen" email = "rbeck@example.org" familyName = "Beck-Dülmen" @@ -270,42 +270,42 @@ config file (``-s SECTION``) as well as the `entity` variable (``-e orcidId = "0000-0002-3267" }, (user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 7 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 fullName = "Data Ingester" name = "simple/dataingest" }, (user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 8 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 fullName = "IDS reader" name = "simple/idsreader" }, (user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 9 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 fullName = "Pub reader" name = "simple/pubreader" }, (user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 10 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 fullName = "Root" name = "simple/root" }, (user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 11 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 fullName = "User Office" name = "simple/useroffice" }] @@ -320,7 +320,7 @@ sub-command. We can check this by calling:: $ python config-sub-commands.py create -h usage: config-sub-commands.py create [-h] [-n NAME] - optional arguments: + options: -h, --help show this help message and exit -n NAME, --name NAME name for the new ICAT object @@ -340,10 +340,10 @@ with name "db/alice":: listing existing User objects... [(user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 affiliation = "University of Ravenna, Institute of Modern History" email = "acord@example.org" familyName = "Cordus" @@ -353,10 +353,10 @@ with name "db/alice":: orcidId = "0000-0002-3262" }, (user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 affiliation = "Goethe University Frankfurt, Faculty of Philosophy and History" email = "ahau@example.org" familyName = "Hau" @@ -366,10 +366,10 @@ with name "db/alice":: orcidId = "0000-0002-3263" }, (user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 3 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 affiliation = "Université Paul-Valéry Montpellier 3" email = "jbotu@example.org" familyName = "Botul" @@ -379,10 +379,10 @@ with name "db/alice":: orcidId = "0000-0002-3264" }, (user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 4 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 email = "jdoe@example.org" familyName = "Doe" fullName = "John Doe" @@ -390,10 +390,10 @@ with name "db/alice":: name = "db/jdoe" }, (user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 5 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 affiliation = "University of Nancago" email = "nbour@example.org" familyName = "Bourbaki" @@ -403,10 +403,10 @@ with name "db/alice":: orcidId = "0000-0002-3266" }, (user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 6 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 affiliation = "Kaiser-Wilhelms-Akademie für das militärärztliche Bildungswesen" email = "rbeck@example.org" familyName = "Beck-Dülmen" @@ -416,50 +416,50 @@ with name "db/alice":: orcidId = "0000-0002-3267" }, (user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 7 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 fullName = "Data Ingester" name = "simple/dataingest" }, (user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 8 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 fullName = "IDS reader" name = "simple/idsreader" }, (user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 9 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 fullName = "Pub reader" name = "simple/pubreader" }, (user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 10 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 fullName = "Root" name = "simple/root" }, (user){ createId = "simple/root" - createTime = 2023-06-28 12:22:34+02:00 + createTime = 2025-12-01 15:32:07+01:00 id = 11 modId = "simple/root" - modTime = 2023-06-28 12:22:34+02:00 + modTime = 2025-12-01 15:32:07+01:00 fullName = "User Office" name = "simple/useroffice" }, (user){ createId = "simple/root" - createTime = 2023-06-28 15:06:06+02:00 + createTime = 2025-12-01 16:35:16+01:00 id = 12 modId = "simple/root" - modTime = 2023-06-28 15:06:06+02:00 + modTime = 2025-12-01 16:35:16+01:00 name = "db/alice" }] done diff --git a/doc/src/tutorial-config.rst b/doc/src/tutorial-config.rst index 6def92e..2a1f528 100644 --- a/doc/src/tutorial-config.rst +++ b/doc/src/tutorial-config.rst @@ -29,7 +29,7 @@ program now accepts:: [--no-check-certificate] [--http-proxy HTTP_PROXY] [--https-proxy HTTPS_PROXY] [--no-proxy NO_PROXY] - optional arguments: + options: -h, --help show this help message and exit -c CONFIGFILE, --configfile CONFIGFILE config file @@ -48,7 +48,7 @@ So there is a command line option ``-w URL``. Let's try:: $ python config.py -w 'https://icat.example.com:8181' Connect to https://icat.example.com:8181 - ICAT version 5.0.1 + ICAT version 6.2.0 (Again, you may need to add the ``--no-check-certificate`` flag to the command line if your ICAT server does not have a trusted SSL @@ -67,7 +67,7 @@ Now you can do the following:: $ python config.py -s myicat Connect to https://icat.example.com:8181 - ICAT version 5.0.1 + ICAT version 6.2.0 The command line option ``-s SECTION`` selects a section in the configuration file to read options from. @@ -82,7 +82,7 @@ If you run this in the same way as above, you'll get:: $ python config-with-ids.py -s myicat Connect to https://icat.example.com:8181 - ICAT version 5.0.1 + ICAT version 6.2.0 No IDS configured But if you indicate the URL to IDS with the command line option @@ -98,7 +98,7 @@ You'll get something like:: $ python config-with-ids.py -s myicat Connect to https://icat.example.com:8181 - ICAT version 5.0.1 + ICAT version 6.2.0 Connect to https://icat.example.com:8181 - IDS version 1.12.0 + IDS version 2.1.1 diff --git a/doc/src/tutorial-create.rst b/doc/src/tutorial-create.rst index 07977db..46bb397 100644 --- a/doc/src/tutorial-create.rst +++ b/doc/src/tutorial-create.rst @@ -39,10 +39,10 @@ The result can be verified by repeating the search from above:: >>> client.search("SELECT f FROM Facility f") [(facility){ createId = "simple/root" - createTime = 2023-06-28 10:39:26+02:00 + createTime = 2025-12-01 15:03:50+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 10:39:26+02:00 + modTime = 2025-12-01 15:03:50+01:00 fullName = "Facility 1" name = "Fac1" }] @@ -62,18 +62,18 @@ To verify the result, we check again:: >>> client.search("SELECT f FROM Facility f") [(facility){ createId = "simple/root" - createTime = 2023-06-28 10:39:26+02:00 + createTime = 2025-12-01 15:03:50+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 10:39:26+02:00 + modTime = 2025-12-01 15:03:50+01:00 fullName = "Facility 1" name = "Fac1" }, (facility){ createId = "simple/root" - createTime = 2023-06-28 10:41:08+02:00 + createTime = 2025-12-01 15:05:00+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 10:41:08+02:00 + modTime = 2025-12-01 15:05:00+01:00 fullName = "Facility 2" name = "Fac2" }] @@ -137,10 +137,10 @@ We can verify this by searching for the newly created objects:: >>> client.search(query) [(parameterType){ createId = "simple/root" - createTime = 2023-06-28 10:43:06+02:00 + createTime = 2025-12-01 15:06:57+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 10:43:06+02:00 + modTime = 2025-12-01 15:06:57+01:00 applicableToDataCollection = False applicableToDatafile = False applicableToDataset = True @@ -150,10 +150,10 @@ We can verify this by searching for the newly created objects:: facility = (facility){ createId = "simple/root" - createTime = 2023-06-28 10:39:26+02:00 + createTime = 2025-12-01 15:03:50+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 10:39:26+02:00 + modTime = 2025-12-01 15:03:50+01:00 fullName = "Facility 1" name = "Fac1" } @@ -163,10 +163,10 @@ We can verify this by searching for the newly created objects:: verified = False }, (parameterType){ createId = "simple/root" - createTime = 2023-06-28 10:44:28+02:00 + createTime = 2025-12-01 15:07:42+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 10:44:28+02:00 + modTime = 2025-12-01 15:07:42+01:00 applicableToDataCollection = False applicableToDatafile = False applicableToDataset = True @@ -176,10 +176,10 @@ We can verify this by searching for the newly created objects:: facility = (facility){ createId = "simple/root" - createTime = 2023-06-28 10:39:26+02:00 + createTime = 2025-12-01 15:03:50+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 10:39:26+02:00 + modTime = 2025-12-01 15:03:50+01:00 fullName = "Facility 1" name = "Fac1" } @@ -187,27 +187,27 @@ We can verify this by searching for the newly created objects:: permissibleStringValues[] = (permissibleStringValue){ createId = "simple/root" - createTime = 2023-06-28 10:44:28+02:00 + createTime = 2025-12-01 15:07:42+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 10:44:28+02:00 - value = "cattivo" + modTime = 2025-12-01 15:07:42+01:00 + value = "brutto" }, (permissibleStringValue){ createId = "simple/root" - createTime = 2023-06-28 10:44:28+02:00 + createTime = 2025-12-01 15:07:42+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 10:44:28+02:00 + modTime = 2025-12-01 15:07:42+01:00 value = "buono" }, (permissibleStringValue){ createId = "simple/root" - createTime = 2023-06-28 10:44:28+02:00 + createTime = 2025-12-01 15:07:42+01:00 id = 3 modId = "simple/root" - modTime = 2023-06-28 10:44:28+02:00 - value = "brutto" + modTime = 2025-12-01 15:07:42+01:00 + value = "cattivo" }, units = "N/A" valueType = "STRING" @@ -273,10 +273,10 @@ If we now try again to search for the objects as normal user, we get:: >>> client.search("SELECT pt FROM ParameterType pt INCLUDE pt.facility") [(parameterType){ createId = "simple/root" - createTime = 2023-06-28 10:43:06+02:00 + createTime = 2025-12-01 15:06:57+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 10:43:06+02:00 + modTime = 2025-12-01 15:06:57+01:00 applicableToDataCollection = False applicableToDatafile = False applicableToDataset = True @@ -286,10 +286,10 @@ If we now try again to search for the objects as normal user, we get:: facility = (facility){ createId = "simple/root" - createTime = 2023-06-28 10:39:26+02:00 + createTime = 2025-12-01 15:03:50+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 10:39:26+02:00 + modTime = 2025-12-01 15:03:50+01:00 fullName = "Facility 1" name = "Fac1" } @@ -299,10 +299,10 @@ If we now try again to search for the objects as normal user, we get:: verified = False }, (parameterType){ createId = "simple/root" - createTime = 2023-06-28 10:44:28+02:00 + createTime = 2025-12-01 15:07:42+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 10:44:28+02:00 + modTime = 2025-12-01 15:07:42+01:00 applicableToDataCollection = False applicableToDatafile = False applicableToDataset = True @@ -312,10 +312,10 @@ If we now try again to search for the objects as normal user, we get:: facility = (facility){ createId = "simple/root" - createTime = 2023-06-28 10:39:26+02:00 + createTime = 2025-12-01 15:03:50+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 10:39:26+02:00 + modTime = 2025-12-01 15:03:50+01:00 fullName = "Facility 1" name = "Fac1" } diff --git a/doc/src/tutorial-edit.rst b/doc/src/tutorial-edit.rst index 2374550..9b4f545 100644 --- a/doc/src/tutorial-edit.rst +++ b/doc/src/tutorial-edit.rst @@ -10,18 +10,18 @@ objects:: >>> client.search("SELECT f FROM Facility f") [(facility){ createId = "simple/root" - createTime = 2023-06-28 10:39:26+02:00 + createTime = 2025-12-01 15:03:50+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 10:39:26+02:00 + modTime = 2025-12-01 15:03:50+01:00 fullName = "Facility 1" name = "Fac1" }, (facility){ createId = "simple/root" - createTime = 2023-06-28 10:41:08+02:00 + createTime = 2025-12-01 15:05:00+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 10:41:08+02:00 + modTime = 2025-12-01 15:05:00+01:00 fullName = "Facility 2" name = "Fac2" }] @@ -52,20 +52,20 @@ We can verify the changes by performing another search:: >>> client.search("SELECT f FROM Facility f") [(facility){ createId = "simple/root" - createTime = 2023-06-28 10:39:26+02:00 + createTime = 2025-12-01 15:03:50+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 11:25:27+02:00 + modTime = 2025-12-01 15:19:18+01:00 daysUntilRelease = 1826 description = "An example facility" fullName = "Fac1 Facility" name = "Fac1" }, (facility){ createId = "simple/root" - createTime = 2023-06-28 10:41:08+02:00 + createTime = 2025-12-01 15:05:00+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 11:25:27+02:00 + modTime = 2025-12-01 15:19:18+01:00 daysUntilRelease = 1826 description = "An example facility" fullName = "Fac2 Facility" @@ -85,19 +85,19 @@ If we search again now, the descriptions are gone:: >>> client.search("SELECT f FROM Facility f") [(facility){ createId = "simple/root" - createTime = 2023-06-28 10:39:26+02:00 + createTime = 2025-12-01 15:03:50+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 11:26:31+02:00 + modTime = 2025-12-01 15:21:23+01:00 daysUntilRelease = 1826 fullName = "Fac1 Facility" name = "Fac1" }, (facility){ createId = "simple/root" - createTime = 2023-06-28 10:41:08+02:00 + createTime = 2025-12-01 15:05:00+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 11:26:31+02:00 + modTime = 2025-12-01 15:21:23+01:00 daysUntilRelease = 1826 fullName = "Fac2 Facility" name = "Fac2" @@ -119,20 +119,20 @@ earlier, including its referenced ``ParameterType`` objects:: >>> print(fac) (facility){ createId = "simple/root" - createTime = 2023-06-28 10:39:26+02:00 + createTime = 2025-12-01 15:03:50+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 11:26:31+02:00 + modTime = 2025-12-01 15:21:23+01:00 daysUntilRelease = 1826 fullName = "Fac1 Facility" name = "Fac1" parameterTypes[] = (parameterType){ createId = "simple/root" - createTime = 2023-06-28 10:43:06+02:00 + createTime = 2025-12-01 15:06:57+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 10:43:06+02:00 + modTime = 2025-12-01 15:06:57+01:00 applicableToDataCollection = False applicableToDatafile = False applicableToDataset = True @@ -146,10 +146,10 @@ earlier, including its referenced ``ParameterType`` objects:: }, (parameterType){ createId = "simple/root" - createTime = 2023-06-28 10:44:28+02:00 + createTime = 2025-12-01 15:07:42+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 10:44:28+02:00 + modTime = 2025-12-01 15:07:42+01:00 applicableToDataCollection = False applicableToDatafile = False applicableToDataset = True @@ -193,10 +193,10 @@ the object:: >>> print(fac) (facility){ createId = "simple/root" - createTime = 2023-06-28 10:39:26+02:00 + createTime = 2025-12-01 15:03:50+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 11:26:31+02:00 + modTime = 2025-12-01 15:21:23+01:00 daysUntilRelease = 1826 fullName = "Fac1 Facility" name = "Fac1" @@ -215,10 +215,10 @@ the object:: parameterTypes[] = (parameterType){ createId = "simple/root" - createTime = 2023-06-28 10:43:06+02:00 + createTime = 2025-12-01 15:06:57+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 10:43:06+02:00 + modTime = 2025-12-01 15:06:57+01:00 applicableToDataCollection = False applicableToDatafile = False applicableToDataset = True @@ -232,10 +232,10 @@ the object:: }, (parameterType){ createId = "simple/root" - createTime = 2023-06-28 10:44:28+02:00 + createTime = 2025-12-01 15:07:42+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 10:44:28+02:00 + modTime = 2025-12-01 15:07:42+01:00 applicableToDataCollection = False applicableToDatafile = False applicableToDataset = True diff --git a/doc/src/tutorial-hello.rst b/doc/src/tutorial-hello.rst index 0c5414f..045acd8 100644 --- a/doc/src/tutorial-hello.rst +++ b/doc/src/tutorial-hello.rst @@ -12,7 +12,7 @@ output:: $ python hello.py Connect to https://icat.example.com:8181 - ICAT version 5.0.1 + ICAT version 6.2.0 The constructor of :class:`icat.client.Client` takes the URL of the ICAT service as argument. It contacts the ICAT server, queries the @@ -27,7 +27,7 @@ get an error instead:: $ python hello.py Traceback (most recent call last): ... - urllib.error.URLError: + urllib.error.URLError: In this case, you may either install a trusted certificate in your server now or modify your hello program and add a flag diff --git a/doc/src/tutorial-ids.rst b/doc/src/tutorial-ids.rst index c71d221..0aa311f 100644 --- a/doc/src/tutorial-ids.rst +++ b/doc/src/tutorial-ids.rst @@ -31,11 +31,11 @@ previous section. This content can be set up with the following commands at the command line:: $ wipeicat -s myicat_root - $ icatingest -s myicat_root -i icatdump-5.0.yaml + $ icatingest -s myicat_root -i icatdump-6.2.yaml If you already did that for the previous section, you don't need to repeat it. Take notice of the hint on the content of the -`icatdump-5.0.yaml` file and ICAT server versions from the previous +`icatdump-6.2.yaml` file and ICAT server versions from the previous section. Upload files @@ -78,41 +78,41 @@ For each of the files, we create a new datafile object and call the ... (datafile){ createId = "db/nbour" - createTime = 2023-06-28 14:14:26+02:00 + createTime = 2025-12-01 16:15:46+01:00 id = 12 modId = "db/nbour" - modTime = 2023-06-28 14:14:26+02:00 + modTime = 2025-12-01 16:15:46+01:00 checksum = "bef32c73" - datafileCreateTime = 2023-06-28 14:11:52+02:00 - datafileModTime = 2023-06-28 14:11:52+02:00 + datafileCreateTime = 2025-12-01 16:14:58+01:00 + datafileModTime = 2025-12-01 16:14:58+01:00 fileSize = 12 - location = "3/10/7f7800f4-c6cb-4a2c-889f-a6d88389f11e" + location = "3/10/811120a0-2d11-4628-b0b4-3d630871d4a7" name = "greet-jdoe.txt" } (datafile){ createId = "db/nbour" - createTime = 2023-06-28 14:14:26+02:00 + createTime = 2025-12-01 16:15:46+01:00 id = 13 modId = "db/nbour" - modTime = 2023-06-28 14:14:26+02:00 + modTime = 2025-12-01 16:15:46+01:00 checksum = "9012de77" - datafileCreateTime = 2023-06-28 14:11:52+02:00 - datafileModTime = 2023-06-28 14:11:52+02:00 + datafileCreateTime = 2025-12-01 16:14:58+01:00 + datafileModTime = 2025-12-01 16:14:58+01:00 fileSize = 15 - location = "3/10/2a76ca1c-9139-4842-a141-d4550d980d1a" + location = "3/10/7ea664ec-ddae-48d5-b73b-631082f9107a" name = "greet-nbour.txt" } (datafile){ createId = "db/nbour" - createTime = 2023-06-28 14:14:26+02:00 + createTime = 2025-12-01 16:15:46+01:00 id = 14 modId = "db/nbour" - modTime = 2023-06-28 14:14:26+02:00 + modTime = 2025-12-01 16:15:46+01:00 checksum = "cc830993" - datafileCreateTime = 2023-06-28 14:11:52+02:00 - datafileModTime = 2023-06-28 14:11:52+02:00 + datafileCreateTime = 2025-12-01 16:14:58+01:00 + datafileModTime = 2025-12-01 16:14:58+01:00 fileSize = 15 - location = "3/10/3481e96c-0842-446f-bb60-1796003d51d7" + location = "3/10/5a48d180-723d-4d71-bb74-b11607284578" name = "greet-rbeck.txt" } diff --git a/doc/src/tutorial-login.rst b/doc/src/tutorial-login.rst index 75b6dc4..e592f9e 100644 --- a/doc/src/tutorial-login.rst +++ b/doc/src/tutorial-login.rst @@ -18,7 +18,7 @@ Let's check the available command line options now:: [--https-proxy HTTPS_PROXY] [--no-proxy NO_PROXY] [-a AUTH] [-u USERNAME] [-P] [-p PASSWORD] - optional arguments: + options: -h, --help show this help message and exit -c CONFIGFILE, --configfile CONFIGFILE config file diff --git a/doc/src/tutorial-search.rst b/doc/src/tutorial-search.rst index 9d1c5fe..c5ddc33 100644 --- a/doc/src/tutorial-search.rst +++ b/doc/src/tutorial-search.rst @@ -11,10 +11,10 @@ and pass them to the :meth:`~icat.client.Client.search` method:: >>> client.search("SELECT f FROM Facility f INCLUDE f.parameterTypes LIMIT 1,1") [(facility){ createId = "simple/root" - createTime = 2023-06-28 10:41:08+02:00 + createTime = 2025-12-01 15:05:00+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 11:26:31+02:00 + modTime = 2025-12-01 15:21:23+01:00 daysUntilRelease = 1826 fullName = "Fac2 Facility" name = "Fac2" @@ -30,7 +30,7 @@ some well defined and rich content to search for. Run the following commands at the command line:: $ wipeicat -s myicat_root - $ icatingest -s myicat_root -i icatdump-5.0.yaml + $ icatingest -s myicat_root -i icatdump-6.2.yaml :ref:`wipeicat` and :ref:`icatingest` are two scripts that get installed with python-icat. Depending on the situation, these scripts @@ -42,12 +42,12 @@ command reads the `icatdump-5.0.yaml` file and creates all objects listed therein in the ICAT server. .. note:: - As the name suggests, the content in `icatdump-5.0.yaml` requires - an ICAT server version 5.0 or newer. If you are using an older - ICAT, you may just as well use the `icatdump-4.10.yaml`, - `icatdump-4.7.yaml`, or `icatdump-4.4.yaml` file instead, matching - the respective older versions. For the sake of this tutorial, the - difference does not matter. + As the name suggests, the content in `icatdump-6.2.yaml` requires + an ICAT server version 6.2 or newer. If you are using an older + ICAT, you may just as well use the `icatdump-5.0.yaml`, + `icatdump-4.10.yaml`, `icatdump-4.7.yaml`, or `icatdump-4.4.yaml` + file instead, matching the respective older versions. For the sake + of this tutorial, the difference does not matter. .. note:: The search results in the following examples may depend on the user @@ -76,10 +76,10 @@ that lists all investigations:: >>> client.search(query) [(investigation){ createId = "simple/root" - createTime = 2023-06-28 12:22:40+02:00 + createTime = 2025-12-01 15:32:13+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 12:22:40+02:00 + modTime = 2025-12-01 15:32:13+01:00 doi = "DOI:00.0815/inv-00122" fileCount = 1 fileSize = 368369 @@ -89,10 +89,10 @@ that lists all investigations:: visitId = "1.1-P" }, (investigation){ createId = "simple/root" - createTime = 2023-06-28 12:22:40+02:00 + createTime = 2025-12-01 15:32:14+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 12:22:40+02:00 + modTime = 2025-12-01 15:32:14+01:00 doi = "DOI:00.0815/inv-00601" endDate = 2010-10-12 17:00:00+02:00 fileCount = 4 @@ -103,10 +103,10 @@ that lists all investigations:: visitId = "1.1-N" }, (investigation){ createId = "simple/root" - createTime = 2023-06-28 12:22:42+02:00 + createTime = 2025-12-01 15:32:15+01:00 id = 3 modId = "simple/root" - modTime = 2023-06-28 12:22:42+02:00 + modTime = 2025-12-01 15:32:15+01:00 doi = "DOI:00.0815/inv-00409" endDate = 2012-08-06 03:10:08+02:00 fileCount = 6 @@ -129,10 +129,10 @@ conditions on that attribute:: >>> client.search(query) [(investigation){ createId = "simple/root" - createTime = 2023-06-28 12:22:40+02:00 + createTime = 2025-12-01 15:32:14+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 12:22:40+02:00 + modTime = 2025-12-01 15:32:14+01:00 doi = "DOI:00.0815/inv-00601" endDate = 2010-10-12 17:00:00+02:00 fileCount = 4 @@ -153,17 +153,17 @@ We may also include related objects in the search results:: >>> client.search(query) [(investigation){ createId = "simple/root" - createTime = 2023-06-28 12:22:40+02:00 + createTime = 2025-12-01 15:32:14+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 12:22:40+02:00 + modTime = 2025-12-01 15:32:14+01:00 datasets[] = (dataset){ createId = "simple/root" - createTime = 2023-06-28 12:22:41+02:00 + createTime = 2025-12-01 15:32:14+01:00 id = 3 modId = "simple/root" - modTime = 2023-06-28 12:22:41+02:00 + modTime = 2025-12-01 15:32:14+01:00 complete = False endDate = 2010-10-01 08:17:48+02:00 fileCount = 2 @@ -173,10 +173,10 @@ We may also include related objects in the search results:: }, (dataset){ createId = "simple/root" - createTime = 2023-06-28 12:22:41+02:00 + createTime = 2025-12-01 15:32:14+01:00 id = 4 modId = "simple/root" - modTime = 2023-06-28 12:22:41+02:00 + modTime = 2025-12-01 15:32:14+01:00 complete = False endDate = 2010-10-05 10:32:21+02:00 fileCount = 2 @@ -186,10 +186,10 @@ We may also include related objects in the search results:: }, (dataset){ createId = "simple/root" - createTime = 2023-06-28 12:22:41+02:00 + createTime = 2025-12-01 15:32:14+01:00 id = 5 modId = "simple/root" - modTime = 2023-06-28 12:22:41+02:00 + modTime = 2025-12-01 15:32:14+01:00 complete = False endDate = 2010-10-12 17:00:00+02:00 fileCount = 0 @@ -218,10 +218,10 @@ following query:: >>> client.search(query) [(investigation){ createId = "simple/root" - createTime = 2023-06-28 12:22:40+02:00 + createTime = 2025-12-01 15:32:14+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 12:22:40+02:00 + modTime = 2025-12-01 15:32:14+01:00 doi = "DOI:00.0815/inv-00601" endDate = 2010-10-12 17:00:00+02:00 fileCount = 4 @@ -232,10 +232,10 @@ following query:: visitId = "1.1-N" }, (investigation){ createId = "simple/root" - createTime = 2023-06-28 12:22:42+02:00 + createTime = 2025-12-01 15:32:15+01:00 id = 3 modId = "simple/root" - modTime = 2023-06-28 12:22:42+02:00 + modTime = 2025-12-01 15:32:15+01:00 doi = "DOI:00.0815/inv-00409" endDate = 2012-08-06 03:10:08+02:00 fileCount = 6 @@ -264,10 +264,10 @@ field larger then 5 Tesla and include its parameters in the result:: >>> client.search(query) [(dataset){ createId = "simple/root" - createTime = 2023-06-28 12:22:41+02:00 + createTime = 2025-12-01 15:32:14+01:00 id = 3 modId = "simple/root" - modTime = 2023-06-28 12:22:41+02:00 + modTime = 2025-12-01 15:32:14+01:00 complete = False endDate = 2010-10-01 08:17:48+02:00 fileCount = 2 @@ -276,18 +276,18 @@ field larger then 5 Tesla and include its parameters in the result:: parameters[] = (datasetParameter){ createId = "simple/root" - createTime = 2023-06-28 12:22:41+02:00 + createTime = 2025-12-01 15:32:14+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 12:22:41+02:00 + modTime = 2025-12-01 15:32:14+01:00 numericValue = 7.3 type = (parameterType){ createId = "simple/root" - createTime = 2023-06-28 12:22:39+02:00 + createTime = 2025-12-01 15:32:12+01:00 id = 5 modId = "simple/root" - modTime = 2023-06-28 12:22:39+02:00 + modTime = 2025-12-01 15:32:12+01:00 applicableToDataCollection = False applicableToDatafile = False applicableToDataset = True @@ -303,18 +303,18 @@ field larger then 5 Tesla and include its parameters in the result:: }, (datasetParameter){ createId = "simple/root" - createTime = 2023-06-28 12:22:41+02:00 + createTime = 2025-12-01 15:32:14+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 12:22:41+02:00 + modTime = 2025-12-01 15:32:14+01:00 numericValue = 5.0 type = (parameterType){ createId = "simple/root" - createTime = 2023-06-28 12:22:39+02:00 + createTime = 2025-12-01 15:32:12+01:00 id = 7 modId = "simple/root" - modTime = 2023-06-28 12:22:39+02:00 + modTime = 2025-12-01 15:32:12+01:00 applicableToDataCollection = False applicableToDatafile = False applicableToDataset = True @@ -347,10 +347,10 @@ of your Python program. Consider:: SELECT o FROM Investigation o WHERE o.name = '08100122-EF' (investigation){ createId = "simple/root" - createTime = 2023-06-28 12:22:40+02:00 + createTime = 2025-12-01 15:32:13+01:00 id = 1 modId = "simple/root" - modTime = 2023-06-28 12:22:40+02:00 + modTime = 2025-12-01 15:32:13+01:00 doi = "DOI:00.0815/inv-00122" fileCount = 1 fileSize = 368369 @@ -363,10 +363,10 @@ of your Python program. Consider:: SELECT o FROM Investigation o WHERE o.name = '12100409-ST' AND o.visitId = '1.1-P' (investigation){ createId = "simple/root" - createTime = 2023-06-28 12:22:42+02:00 + createTime = 2025-12-01 15:32:15+01:00 id = 3 modId = "simple/root" - modTime = 2023-06-28 12:22:42+02:00 + modTime = 2025-12-01 15:32:15+01:00 doi = "DOI:00.0815/inv-00409" endDate = 2012-08-06 03:10:08+02:00 fileCount = 6 @@ -395,20 +395,20 @@ on that attribute. Search for all datafiles created in 2012:: >>> client.search(query) [(datafile){ createId = "simple/root" - createTime = 2023-06-28 12:22:42+02:00 + createTime = 2025-12-01 15:32:15+01:00 id = 7 modId = "simple/root" - modTime = 2023-06-28 12:22:42+02:00 + modTime = 2025-12-01 15:32:15+01:00 datafileCreateTime = 2012-07-16 16:30:17+02:00 datafileModTime = 2012-07-16 16:30:17+02:00 fileSize = 28937 name = "e208945-2.nxs" }, (datafile){ createId = "simple/root" - createTime = 2023-06-28 12:22:42+02:00 + createTime = 2025-12-01 15:32:15+01:00 id = 8 modId = "simple/root" - modTime = 2023-06-28 12:22:42+02:00 + modTime = 2025-12-01 15:32:15+01:00 checksum = "bd55affa" datafileCreateTime = 2012-07-30 03:10:08+02:00 datafileModTime = 2012-07-30 03:10:08+02:00 @@ -416,20 +416,20 @@ on that attribute. Search for all datafiles created in 2012:: name = "e208945.dat" }, (datafile){ createId = "simple/root" - createTime = 2023-06-28 12:22:42+02:00 + createTime = 2025-12-01 15:32:15+01:00 id = 10 modId = "simple/root" - modTime = 2023-06-28 12:22:42+02:00 + modTime = 2025-12-01 15:32:15+01:00 datafileCreateTime = 2012-07-16 16:30:17+02:00 datafileModTime = 2012-07-16 16:30:17+02:00 fileSize = 14965 name = "e208947.nxs" }, (datafile){ createId = "simple/root" - createTime = 2023-06-28 12:22:42+02:00 + createTime = 2025-12-01 15:32:15+01:00 id = 11 modId = "simple/root" - modTime = 2023-06-28 12:22:42+02:00 + modTime = 2025-12-01 15:32:15+01:00 datafileCreateTime = 2012-08-01 00:52:23+02:00 datafileModTime = 2012-08-01 00:52:23+02:00 fileSize = 264188 @@ -455,7 +455,6 @@ values of the matching objects. Listing the names of all datasets:: >>> client.search(query) [e201215, e201216, e208339, e208341, e208342, e208945, e208946, e208947, pub-00027] - As the name of that keyword argument suggests, we may also search for multiple attributes at once. The result will be a tuple of attribute values rather then a single value for each object found in the query. @@ -469,7 +468,6 @@ This requires an ICAT server version 4.11 or newer though:: >>> client.search(query) [(08100122-EF, e201215, False, raw), (08100122-EF, e201216, False, raw), (10100601-ST, e208339, False, raw), (10100601-ST, e208341, False, raw), (10100601-ST, e208342, False, raw), (12100409-ST, e208945, False, raw), (12100409-ST, e208946, False, raw), (12100409-ST, e208947, True, analyzed), (12100409-ST, pub-00027, True, other)] - There are also some aggregate functions that may be applied to search results. Let's count all datasets:: @@ -527,10 +525,10 @@ dataset with a magnetic field parameter set:: >>> client.search(query) [(investigation){ createId = "simple/root" - createTime = 2023-06-28 12:22:40+02:00 + createTime = 2025-12-01 15:32:14+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 12:22:40+02:00 + modTime = 2025-12-01 15:32:14+01:00 doi = "DOI:00.0815/inv-00601" endDate = 2010-10-12 17:00:00+02:00 fileCount = 4 @@ -541,10 +539,10 @@ dataset with a magnetic field parameter set:: visitId = "1.1-N" }, (investigation){ createId = "simple/root" - createTime = 2023-06-28 12:22:40+02:00 + createTime = 2025-12-01 15:32:14+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 12:22:40+02:00 + modTime = 2025-12-01 15:32:14+01:00 doi = "DOI:00.0815/inv-00601" endDate = 2010-10-12 17:00:00+02:00 fileCount = 4 @@ -565,10 +563,10 @@ respectively. We may fix that by applying `DISTINCT`:: >>> client.search(query) [(investigation){ createId = "simple/root" - createTime = 2023-06-28 12:22:40+02:00 + createTime = 2025-12-01 15:32:14+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 12:22:40+02:00 + modTime = 2025-12-01 15:32:14+01:00 doi = "DOI:00.0815/inv-00601" endDate = 2010-10-12 17:00:00+02:00 fileCount = 4 @@ -609,18 +607,18 @@ dataset parameter, ordered by parameter type name (ascending), units >>> client.search(query) [(datasetParameter){ createId = "simple/root" - createTime = 2023-06-28 12:22:41+02:00 + createTime = 2025-12-01 15:32:14+01:00 id = 2 modId = "simple/root" - modTime = 2023-06-28 12:22:41+02:00 + modTime = 2025-12-01 15:32:14+01:00 numericValue = 7.3 type = (parameterType){ createId = "simple/root" - createTime = 2023-06-28 12:22:39+02:00 + createTime = 2025-12-01 15:32:12+01:00 id = 5 modId = "simple/root" - modTime = 2023-06-28 12:22:39+02:00 + modTime = 2025-12-01 15:32:12+01:00 applicableToDataCollection = False applicableToDatafile = False applicableToDataset = True @@ -635,18 +633,18 @@ dataset parameter, ordered by parameter type name (ascending), units } }, (datasetParameter){ createId = "simple/root" - createTime = 2023-06-28 12:22:41+02:00 + createTime = 2025-12-01 15:32:14+01:00 id = 4 modId = "simple/root" - modTime = 2023-06-28 12:22:41+02:00 + modTime = 2025-12-01 15:32:14+01:00 numericValue = 2.7 type = (parameterType){ createId = "simple/root" - createTime = 2023-06-28 12:22:39+02:00 + createTime = 2025-12-01 15:32:12+01:00 id = 5 modId = "simple/root" - modTime = 2023-06-28 12:22:39+02:00 + modTime = 2025-12-01 15:32:12+01:00 applicableToDataCollection = False applicableToDatafile = False applicableToDataset = True @@ -661,18 +659,18 @@ dataset parameter, ordered by parameter type name (ascending), units } }, (datasetParameter){ createId = "simple/root" - createTime = 2023-06-28 12:22:41+02:00 - id = 1 + createTime = 2025-12-01 15:32:14+01:00 + id = 3 modId = "simple/root" - modTime = 2023-06-28 12:22:41+02:00 + modTime = 2025-12-01 15:32:14+01:00 numericValue = 5.0 type = (parameterType){ createId = "simple/root" - createTime = 2023-06-28 12:22:39+02:00 + createTime = 2025-12-01 15:32:12+01:00 id = 7 modId = "simple/root" - modTime = 2023-06-28 12:22:39+02:00 + modTime = 2025-12-01 15:32:12+01:00 applicableToDataCollection = False applicableToDatafile = False applicableToDataset = True @@ -687,18 +685,18 @@ dataset parameter, ordered by parameter type name (ascending), units } }, (datasetParameter){ createId = "simple/root" - createTime = 2023-06-28 12:22:41+02:00 - id = 3 + createTime = 2025-12-01 15:32:14+01:00 + id = 1 modId = "simple/root" - modTime = 2023-06-28 12:22:41+02:00 + modTime = 2025-12-01 15:32:14+01:00 numericValue = 5.0 type = (parameterType){ createId = "simple/root" - createTime = 2023-06-28 12:22:39+02:00 + createTime = 2025-12-01 15:32:12+01:00 id = 7 modId = "simple/root" - modTime = 2023-06-28 12:22:39+02:00 + modTime = 2025-12-01 15:32:12+01:00 applicableToDataCollection = False applicableToDatafile = False applicableToDataset = True @@ -713,18 +711,18 @@ dataset parameter, ordered by parameter type name (ascending), units } }, (datasetParameter){ createId = "simple/root" - createTime = 2023-06-28 12:22:42+02:00 - id = 5 + createTime = 2025-12-01 15:32:15+01:00 + id = 6 modId = "simple/root" - modTime = 2023-06-28 12:22:42+02:00 + modTime = 2025-12-01 15:32:15+01:00 numericValue = 3.92 type = (parameterType){ createId = "simple/root" - createTime = 2023-06-28 12:22:39+02:00 + createTime = 2025-12-01 15:32:12+01:00 id = 9 modId = "simple/root" - modTime = 2023-06-28 12:22:39+02:00 + modTime = 2025-12-01 15:32:12+01:00 applicableToDataCollection = False applicableToDatafile = False applicableToDataset = True @@ -739,18 +737,18 @@ dataset parameter, ordered by parameter type name (ascending), units } }, (datasetParameter){ createId = "simple/root" - createTime = 2023-06-28 12:22:42+02:00 - id = 6 + createTime = 2025-12-01 15:32:15+01:00 + id = 5 modId = "simple/root" - modTime = 2023-06-28 12:22:42+02:00 + modTime = 2025-12-01 15:32:15+01:00 numericValue = 277.07 type = (parameterType){ createId = "simple/root" - createTime = 2023-06-28 12:22:39+02:00 + createTime = 2025-12-01 15:32:12+01:00 id = 10 modId = "simple/root" - modTime = 2023-06-28 12:22:39+02:00 + modTime = 2025-12-01 15:32:12+01:00 applicableToDataCollection = False applicableToDatafile = False applicableToDataset = True @@ -800,10 +798,10 @@ last dataset to have been finished:: >>> client.search(query) [(dataset){ createId = "simple/root" - createTime = 2023-06-28 12:22:42+02:00 + createTime = 2025-12-01 15:32:15+01:00 id = 6 modId = "simple/root" - modTime = 2023-06-28 12:22:42+02:00 + modTime = 2025-12-01 15:32:15+01:00 complete = False endDate = 2012-07-30 03:10:08+02:00 fileCount = 4 diff --git a/setup.py b/setup.py index febb6b5..7c6d640 100755 --- a/setup.py +++ b/setup.py @@ -105,7 +105,7 @@ def copy_test_data(self): "ingest-datafiles.xml", "ingest-ds-params.xml", "ingest-sample-ds.xml") ) files += ( examples / ("icatdump-%s.%s" % (ver, ext)) - for ver in ("4.4", "4.7", "4.10", "5.0") + for ver in ("4.4", "4.7", "4.10", "5.0", "6.2") for ext in ("xml", "yaml") ) files += doc.glob("icatdata-*.xsd") files += examples.glob("metadata-*.xml") diff --git a/src/icat/dump_queries.py b/src/icat/dump_queries.py index 7c8aa53..c3d4b27 100644 --- a/src/icat/dump_queries.py +++ b/src/icat/dump_queries.py @@ -192,16 +192,26 @@ def getDataPublicationQueries(client, pubid): .. versionchanged:: 1.1.0 return an empty list if the ICAT server is older than 5.0 rather than raising :exc:`~icat.exception.EntityTypeError`. + + .. versionchanged:: 1.7.0 + add an include clause for ``subjects`` into query for + ``DataPublication``, if applicable. """ # Compatibility between ICAT versions: # - ICAT 5.0.0 added DataPublication and related classes. if 'dataPublication' in client.typemap: # ICAT >= 5.0.0 + datapub_includes = { + "facility", "content", "type.facility", "dates", + "fundingReferences.funding", "relatedItems" + } + if 'subject' in client.typemap: + # ICAT >= 6.2.0 + datapub_includes |= { "subjects" } return [ Query(client, "DataPublication", order=True, conditions={"id": "= %d" % pubid}, - includes={"facility", "content", "type.facility", "dates", - "fundingReferences.funding", "relatedItems"}), + includes=datapub_includes), Query(client, "DataPublicationUser", order=True, conditions={"publication.id": "= %d" % pubid}, includes={"publication", "user", "affiliations"}), diff --git a/tests/conftest.py b/tests/conftest.py index 9c5a8cf..c57cd1c 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -177,7 +177,6 @@ def require_dumpfile_backend(backend): if backend not in icat.dumpfile.Backends.keys(): _skip("need %s backend for icat.dumpfile" % (backend)) - def get_icatdata_schema(): if icat_version < "4.4": fname = "icatdata-4.3.xsd" @@ -187,8 +186,10 @@ def get_icatdata_schema(): fname = "icatdata-4.7.xsd" elif icat_version < "5.0": fname = "icatdata-4.10.xsd" - else: + elif icat_version < "6.2": fname = "icatdata-5.0.xsd" + else: + fname = "icatdata-6.2.xsd" return gettestdata(fname) @@ -200,16 +201,20 @@ def get_reference_dumpfile(ext = "yaml"): fname = "icatdump-4.7.%s" % ext elif icat_version < "5.0": fname = "icatdump-4.10.%s" % ext - else: + elif icat_version < "6.2": fname = "icatdump-5.0.%s" % ext + else: + fname = "icatdump-6.2.%s" % ext return gettestdata(fname) def get_reference_summary(): if icat_version < "5.0": version_suffix = "4" - else: + elif icat_version < "6.2": version_suffix = "5" + else: + version_suffix = "6.2" users = [ "acord", "ahau", "jbotu", "jdoe", "nbour", "rbeck" ] refsummary = { "root": gettestdata("summary-%s" % version_suffix) } for u in users: diff --git a/tests/data/summary-4 b/tests/data/summary-4 index bb82042..c5d5ab9 100644 --- a/tests/data/summary-4 +++ b/tests/data/summary-4 @@ -1,43 +1,43 @@ User: simple/root -Entity count --------------------------------- -Application : 1 -DataCollection : 3 -DataCollectionDatafile : 3 -DataCollectionDataset : 4 -DataCollectionParameter : 1 -Datafile : 10 -DatafileFormat : 6 -DatafileParameter : 10 -Dataset : 8 -DatasetParameter : 6 -DatasetType : 3 -Facility : 1 -FacilityCycle : 20 -Grouping : 13 -Instrument : 3 -InstrumentScientist : 3 -Investigation : 3 -InvestigationGroup : 9 -InvestigationInstrument : 3 -InvestigationParameter : 3 -InvestigationType : 5 -InvestigationUser : 5 -Job : 1 -Keyword : 9 -ParameterType : 9 -PermissibleStringValue : 6 -PublicStep : 24 -Publication : 1 -RelatedDatafile : 1 -Rule : 111 -Sample : 3 -SampleParameter : 2 -SampleType : 3 -Shift : 4 -Study : 1 -StudyInvestigation : 2 -User : 10 -UserGroup : 17 +Entity count +------------------------------- +Application : 1 +DataCollection : 3 +DataCollectionDatafile : 3 +DataCollectionDataset : 4 +DataCollectionParameter : 1 +Datafile : 10 +DatafileFormat : 6 +DatafileParameter : 10 +Dataset : 8 +DatasetParameter : 6 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +Grouping : 13 +Instrument : 3 +InstrumentScientist : 3 +Investigation : 3 +InvestigationGroup : 9 +InvestigationInstrument : 3 +InvestigationParameter : 3 +InvestigationType : 5 +InvestigationUser : 5 +Job : 1 +Keyword : 9 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 24 +Publication : 1 +RelatedDatafile : 1 +Rule : 111 +Sample : 3 +SampleParameter : 2 +SampleType : 3 +Shift : 4 +Study : 1 +StudyInvestigation : 2 +User : 10 +UserGroup : 17 diff --git a/tests/data/summary-4.acord b/tests/data/summary-4.acord index c715399..d36462a 100644 --- a/tests/data/summary-4.acord +++ b/tests/data/summary-4.acord @@ -1,43 +1,43 @@ User: db/acord -Entity count --------------------------------- -Application : 1 -DataCollection : 0 -DataCollectionDatafile : 0 -DataCollectionDataset : 0 -DataCollectionParameter : 0 -Datafile : 10 -DatafileFormat : 6 -DatafileParameter : 10 -Dataset : 8 -DatasetParameter : 6 -DatasetType : 3 -Facility : 1 -FacilityCycle : 20 -Grouping : 1 -Instrument : 3 -InstrumentScientist : 0 -Investigation : 3 -InvestigationGroup : 0 -InvestigationInstrument : 0 -InvestigationParameter : 3 -InvestigationType : 5 -InvestigationUser : 0 -Job : 0 -Keyword : 9 -ParameterType : 9 -PermissibleStringValue : 6 -PublicStep : 0 -Publication : 1 -RelatedDatafile : 0 -Rule : 0 -Sample : 3 -SampleParameter : 2 -SampleType : 3 -Shift : 4 -Study : 0 -StudyInvestigation : 0 -User : 10 -UserGroup : 0 +Entity count +------------------------------- +Application : 1 +DataCollection : 0 +DataCollectionDatafile : 0 +DataCollectionDataset : 0 +DataCollectionParameter : 0 +Datafile : 10 +DatafileFormat : 6 +DatafileParameter : 10 +Dataset : 8 +DatasetParameter : 6 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +Grouping : 1 +Instrument : 3 +InstrumentScientist : 0 +Investigation : 3 +InvestigationGroup : 0 +InvestigationInstrument : 0 +InvestigationParameter : 3 +InvestigationType : 5 +InvestigationUser : 0 +Job : 0 +Keyword : 9 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 0 +Publication : 1 +RelatedDatafile : 0 +Rule : 0 +Sample : 3 +SampleParameter : 2 +SampleType : 3 +Shift : 4 +Study : 0 +StudyInvestigation : 0 +User : 10 +UserGroup : 0 diff --git a/tests/data/summary-4.ahau b/tests/data/summary-4.ahau index a08df22..89ff259 100644 --- a/tests/data/summary-4.ahau +++ b/tests/data/summary-4.ahau @@ -1,43 +1,43 @@ User: db/ahau -Entity count --------------------------------- -Application : 1 -DataCollection : 0 -DataCollectionDatafile : 0 -DataCollectionDataset : 0 -DataCollectionParameter : 0 -Datafile : 4 -DatafileFormat : 6 -DatafileParameter : 4 -Dataset : 3 -DatasetParameter : 4 -DatasetType : 3 -Facility : 1 -FacilityCycle : 20 -Grouping : 3 -Instrument : 3 -InstrumentScientist : 0 -Investigation : 1 -InvestigationGroup : 0 -InvestigationInstrument : 0 -InvestigationParameter : 1 -InvestigationType : 5 -InvestigationUser : 0 -Job : 0 -Keyword : 4 -ParameterType : 9 -PermissibleStringValue : 6 -PublicStep : 0 -Publication : 1 -RelatedDatafile : 0 -Rule : 0 -Sample : 1 -SampleParameter : 1 -SampleType : 3 -Shift : 2 -Study : 0 -StudyInvestigation : 0 -User : 10 -UserGroup : 4 +Entity count +------------------------------- +Application : 1 +DataCollection : 0 +DataCollectionDatafile : 0 +DataCollectionDataset : 0 +DataCollectionParameter : 0 +Datafile : 4 +DatafileFormat : 6 +DatafileParameter : 4 +Dataset : 3 +DatasetParameter : 4 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +Grouping : 3 +Instrument : 3 +InstrumentScientist : 0 +Investigation : 1 +InvestigationGroup : 0 +InvestigationInstrument : 0 +InvestigationParameter : 1 +InvestigationType : 5 +InvestigationUser : 0 +Job : 0 +Keyword : 4 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 0 +Publication : 1 +RelatedDatafile : 0 +Rule : 0 +Sample : 1 +SampleParameter : 1 +SampleType : 3 +Shift : 2 +Study : 0 +StudyInvestigation : 0 +User : 10 +UserGroup : 4 diff --git a/tests/data/summary-4.jbotu b/tests/data/summary-4.jbotu index d4436ee..9de3f90 100644 --- a/tests/data/summary-4.jbotu +++ b/tests/data/summary-4.jbotu @@ -1,43 +1,43 @@ User: db/jbotu -Entity count --------------------------------- -Application : 1 -DataCollection : 1 -DataCollectionDatafile : 1 -DataCollectionDataset : 2 -DataCollectionParameter : 0 -Datafile : 5 -DatafileFormat : 6 -DatafileParameter : 5 -Dataset : 5 -DatasetParameter : 4 -DatasetType : 3 -Facility : 1 -FacilityCycle : 20 -Grouping : 4 -Instrument : 3 -InstrumentScientist : 0 -Investigation : 2 -InvestigationGroup : 0 -InvestigationInstrument : 0 -InvestigationParameter : 2 -InvestigationType : 5 -InvestigationUser : 0 -Job : 0 -Keyword : 5 -ParameterType : 9 -PermissibleStringValue : 6 -PublicStep : 0 -Publication : 1 -RelatedDatafile : 0 -Rule : 0 -Sample : 2 -SampleParameter : 1 -SampleType : 3 -Shift : 3 -Study : 0 -StudyInvestigation : 0 -User : 10 -UserGroup : 4 +Entity count +------------------------------- +Application : 1 +DataCollection : 1 +DataCollectionDatafile : 1 +DataCollectionDataset : 2 +DataCollectionParameter : 0 +Datafile : 5 +DatafileFormat : 6 +DatafileParameter : 5 +Dataset : 5 +DatasetParameter : 4 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +Grouping : 4 +Instrument : 3 +InstrumentScientist : 0 +Investigation : 2 +InvestigationGroup : 0 +InvestigationInstrument : 0 +InvestigationParameter : 2 +InvestigationType : 5 +InvestigationUser : 0 +Job : 0 +Keyword : 5 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 0 +Publication : 1 +RelatedDatafile : 0 +Rule : 0 +Sample : 2 +SampleParameter : 1 +SampleType : 3 +Shift : 3 +Study : 0 +StudyInvestigation : 0 +User : 10 +UserGroup : 4 diff --git a/tests/data/summary-4.jdoe b/tests/data/summary-4.jdoe index 2d1e6f8..22c80a8 100644 --- a/tests/data/summary-4.jdoe +++ b/tests/data/summary-4.jdoe @@ -1,43 +1,43 @@ User: db/jdoe -Entity count --------------------------------- -Application : 1 -DataCollection : 0 -DataCollectionDatafile : 0 -DataCollectionDataset : 0 -DataCollectionParameter : 0 -Datafile : 5 -DatafileFormat : 6 -DatafileParameter : 5 -Dataset : 5 -DatasetParameter : 4 -DatasetType : 3 -Facility : 1 -FacilityCycle : 20 -Grouping : 2 -Instrument : 3 -InstrumentScientist : 0 -Investigation : 2 -InvestigationGroup : 0 -InvestigationInstrument : 0 -InvestigationParameter : 2 -InvestigationType : 5 -InvestigationUser : 0 -Job : 0 -Keyword : 5 -ParameterType : 9 -PermissibleStringValue : 6 -PublicStep : 0 -Publication : 1 -RelatedDatafile : 0 -Rule : 0 -Sample : 2 -SampleParameter : 1 -SampleType : 3 -Shift : 3 -Study : 0 -StudyInvestigation : 0 -User : 10 -UserGroup : 0 +Entity count +------------------------------- +Application : 1 +DataCollection : 0 +DataCollectionDatafile : 0 +DataCollectionDataset : 0 +DataCollectionParameter : 0 +Datafile : 5 +DatafileFormat : 6 +DatafileParameter : 5 +Dataset : 5 +DatasetParameter : 4 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +Grouping : 2 +Instrument : 3 +InstrumentScientist : 0 +Investigation : 2 +InvestigationGroup : 0 +InvestigationInstrument : 0 +InvestigationParameter : 2 +InvestigationType : 5 +InvestigationUser : 0 +Job : 0 +Keyword : 5 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 0 +Publication : 1 +RelatedDatafile : 0 +Rule : 0 +Sample : 2 +SampleParameter : 1 +SampleType : 3 +Shift : 3 +Study : 0 +StudyInvestigation : 0 +User : 10 +UserGroup : 0 diff --git a/tests/data/summary-4.nbour b/tests/data/summary-4.nbour index 671c75c..9cd0e57 100644 --- a/tests/data/summary-4.nbour +++ b/tests/data/summary-4.nbour @@ -1,43 +1,43 @@ User: db/nbour -Entity count --------------------------------- -Application : 1 -DataCollection : 2 -DataCollectionDatafile : 2 -DataCollectionDataset : 2 -DataCollectionParameter : 1 -Datafile : 10 -DatafileFormat : 6 -DatafileParameter : 10 -Dataset : 8 -DatasetParameter : 6 -DatasetType : 3 -Facility : 1 -FacilityCycle : 20 -Grouping : 5 -Instrument : 3 -InstrumentScientist : 0 -Investigation : 3 -InvestigationGroup : 0 -InvestigationInstrument : 0 -InvestigationParameter : 3 -InvestigationType : 5 -InvestigationUser : 0 -Job : 1 -Keyword : 9 -ParameterType : 9 -PermissibleStringValue : 6 -PublicStep : 0 -Publication : 1 -RelatedDatafile : 1 -Rule : 0 -Sample : 3 -SampleParameter : 2 -SampleType : 3 -Shift : 4 -Study : 1 -StudyInvestigation : 0 -User : 10 -UserGroup : 2 +Entity count +------------------------------- +Application : 1 +DataCollection : 2 +DataCollectionDatafile : 2 +DataCollectionDataset : 2 +DataCollectionParameter : 1 +Datafile : 10 +DatafileFormat : 6 +DatafileParameter : 10 +Dataset : 8 +DatasetParameter : 6 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +Grouping : 5 +Instrument : 3 +InstrumentScientist : 0 +Investigation : 3 +InvestigationGroup : 0 +InvestigationInstrument : 0 +InvestigationParameter : 3 +InvestigationType : 5 +InvestigationUser : 0 +Job : 1 +Keyword : 9 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 0 +Publication : 1 +RelatedDatafile : 1 +Rule : 0 +Sample : 3 +SampleParameter : 2 +SampleType : 3 +Shift : 4 +Study : 1 +StudyInvestigation : 0 +User : 10 +UserGroup : 2 diff --git a/tests/data/summary-4.rbeck b/tests/data/summary-4.rbeck index 3190e66..bef7c64 100644 --- a/tests/data/summary-4.rbeck +++ b/tests/data/summary-4.rbeck @@ -1,43 +1,43 @@ User: db/rbeck -Entity count --------------------------------- -Application : 1 -DataCollection : 0 -DataCollectionDatafile : 0 -DataCollectionDataset : 0 -DataCollectionParameter : 0 -Datafile : 6 -DatafileFormat : 6 -DatafileParameter : 6 -Dataset : 5 -DatasetParameter : 2 -DatasetType : 3 -Facility : 1 -FacilityCycle : 20 -Grouping : 2 -Instrument : 3 -InstrumentScientist : 0 -Investigation : 2 -InvestigationGroup : 0 -InvestigationInstrument : 0 -InvestigationParameter : 2 -InvestigationType : 5 -InvestigationUser : 0 -Job : 0 -Keyword : 5 -ParameterType : 9 -PermissibleStringValue : 6 -PublicStep : 0 -Publication : 0 -RelatedDatafile : 0 -Rule : 0 -Sample : 2 -SampleParameter : 1 -SampleType : 3 -Shift : 2 -Study : 0 -StudyInvestigation : 0 -User : 10 -UserGroup : 0 +Entity count +------------------------------- +Application : 1 +DataCollection : 0 +DataCollectionDatafile : 0 +DataCollectionDataset : 0 +DataCollectionParameter : 0 +Datafile : 6 +DatafileFormat : 6 +DatafileParameter : 6 +Dataset : 5 +DatasetParameter : 2 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +Grouping : 2 +Instrument : 3 +InstrumentScientist : 0 +Investigation : 2 +InvestigationGroup : 0 +InvestigationInstrument : 0 +InvestigationParameter : 2 +InvestigationType : 5 +InvestigationUser : 0 +Job : 0 +Keyword : 5 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 0 +Publication : 0 +RelatedDatafile : 0 +Rule : 0 +Sample : 2 +SampleParameter : 1 +SampleType : 3 +Shift : 2 +Study : 0 +StudyInvestigation : 0 +User : 10 +UserGroup : 0 diff --git a/tests/data/summary-5 b/tests/data/summary-5 index 97cc212..65bae4e 100644 --- a/tests/data/summary-5 +++ b/tests/data/summary-5 @@ -1,57 +1,57 @@ User: simple/root -Entity count --------------------------------- -Affiliation : 2 -Application : 1 -DataCollection : 5 -DataCollectionDatafile : 4 -DataCollectionDataset : 6 +Entity count +----------------------------------- +Affiliation : 2 +Application : 1 +DataCollection : 5 +DataCollectionDatafile : 4 +DataCollectionDataset : 6 DataCollectionInvestigation : 1 -DataCollectionParameter : 1 -DataPublication : 1 -DataPublicationDate : 2 -DataPublicationFunding : 1 -DataPublicationType : 2 -DataPublicationUser : 1 -Datafile : 11 -DatafileFormat : 6 -DatafileParameter : 10 -Dataset : 9 -DatasetInstrument : 7 -DatasetParameter : 6 -DatasetTechnique : 5 -DatasetType : 3 -Facility : 1 -FacilityCycle : 20 -FundingReference : 1 -Grouping : 15 -Instrument : 3 -InstrumentScientist : 3 -Investigation : 3 -InvestigationFacilityCycle : 3 -InvestigationFunding : 1 -InvestigationGroup : 9 -InvestigationInstrument : 3 -InvestigationParameter : 3 -InvestigationType : 5 -InvestigationUser : 5 -Job : 1 -Keyword : 9 -ParameterType : 9 -PermissibleStringValue : 6 -PublicStep : 37 -Publication : 1 -RelatedDatafile : 1 -RelatedItem : 1 -Rule : 159 -Sample : 3 -SampleParameter : 2 -SampleType : 3 -Shift : 4 -Study : 1 -StudyInvestigation : 2 -Technique : 4 -User : 11 -UserGroup : 19 +DataCollectionParameter : 1 +DataPublication : 1 +DataPublicationDate : 2 +DataPublicationFunding : 1 +DataPublicationType : 2 +DataPublicationUser : 1 +Datafile : 11 +DatafileFormat : 6 +DatafileParameter : 10 +Dataset : 9 +DatasetInstrument : 7 +DatasetParameter : 6 +DatasetTechnique : 5 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +FundingReference : 1 +Grouping : 15 +Instrument : 3 +InstrumentScientist : 3 +Investigation : 3 +InvestigationFacilityCycle : 3 +InvestigationFunding : 1 +InvestigationGroup : 9 +InvestigationInstrument : 3 +InvestigationParameter : 3 +InvestigationType : 5 +InvestigationUser : 5 +Job : 1 +Keyword : 9 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 37 +Publication : 1 +RelatedDatafile : 1 +RelatedItem : 1 +Rule : 159 +Sample : 3 +SampleParameter : 2 +SampleType : 3 +Shift : 4 +Study : 1 +StudyInvestigation : 2 +Technique : 4 +User : 11 +UserGroup : 19 diff --git a/tests/data/summary-5.acord b/tests/data/summary-5.acord index 594d687..575eb1b 100644 --- a/tests/data/summary-5.acord +++ b/tests/data/summary-5.acord @@ -1,57 +1,57 @@ User: db/acord -Entity count --------------------------------- -Affiliation : 0 -Application : 1 -DataCollection : 0 -DataCollectionDatafile : 0 -DataCollectionDataset : 0 +Entity count +----------------------------------- +Affiliation : 0 +Application : 1 +DataCollection : 0 +DataCollectionDatafile : 0 +DataCollectionDataset : 0 DataCollectionInvestigation : 0 -DataCollectionParameter : 0 -DataPublication : 1 -DataPublicationDate : 0 -DataPublicationFunding : 0 -DataPublicationType : 2 -DataPublicationUser : 0 -Datafile : 11 -DatafileFormat : 6 -DatafileParameter : 10 -Dataset : 9 -DatasetInstrument : 7 -DatasetParameter : 6 -DatasetTechnique : 5 -DatasetType : 3 -Facility : 1 -FacilityCycle : 20 -FundingReference : 0 -Grouping : 1 -Instrument : 3 -InstrumentScientist : 0 -Investigation : 3 -InvestigationFacilityCycle : 0 -InvestigationFunding : 0 -InvestigationGroup : 0 -InvestigationInstrument : 0 -InvestigationParameter : 3 -InvestigationType : 5 -InvestigationUser : 0 -Job : 0 -Keyword : 9 -ParameterType : 9 -PermissibleStringValue : 6 -PublicStep : 0 -Publication : 1 -RelatedDatafile : 0 -RelatedItem : 0 -Rule : 0 -Sample : 3 -SampleParameter : 2 -SampleType : 3 -Shift : 4 -Study : 0 -StudyInvestigation : 0 -Technique : 4 -User : 11 -UserGroup : 0 +DataCollectionParameter : 0 +DataPublication : 1 +DataPublicationDate : 0 +DataPublicationFunding : 0 +DataPublicationType : 2 +DataPublicationUser : 0 +Datafile : 11 +DatafileFormat : 6 +DatafileParameter : 10 +Dataset : 9 +DatasetInstrument : 7 +DatasetParameter : 6 +DatasetTechnique : 5 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +FundingReference : 0 +Grouping : 1 +Instrument : 3 +InstrumentScientist : 0 +Investigation : 3 +InvestigationFacilityCycle : 0 +InvestigationFunding : 0 +InvestigationGroup : 0 +InvestigationInstrument : 0 +InvestigationParameter : 3 +InvestigationType : 5 +InvestigationUser : 0 +Job : 0 +Keyword : 9 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 0 +Publication : 1 +RelatedDatafile : 0 +RelatedItem : 0 +Rule : 0 +Sample : 3 +SampleParameter : 2 +SampleType : 3 +Shift : 4 +Study : 0 +StudyInvestigation : 0 +Technique : 4 +User : 11 +UserGroup : 0 diff --git a/tests/data/summary-5.ahau b/tests/data/summary-5.ahau index 350a951..bb3f6f3 100644 --- a/tests/data/summary-5.ahau +++ b/tests/data/summary-5.ahau @@ -1,57 +1,57 @@ User: db/ahau -Entity count --------------------------------- -Affiliation : 0 -Application : 1 -DataCollection : 0 -DataCollectionDatafile : 0 -DataCollectionDataset : 0 +Entity count +----------------------------------- +Affiliation : 0 +Application : 1 +DataCollection : 0 +DataCollectionDatafile : 0 +DataCollectionDataset : 0 DataCollectionInvestigation : 0 -DataCollectionParameter : 0 -DataPublication : 1 -DataPublicationDate : 0 -DataPublicationFunding : 0 -DataPublicationType : 2 -DataPublicationUser : 0 -Datafile : 5 -DatafileFormat : 6 -DatafileParameter : 4 -Dataset : 4 -DatasetInstrument : 3 -DatasetParameter : 4 -DatasetTechnique : 3 -DatasetType : 3 -Facility : 1 -FacilityCycle : 20 -FundingReference : 0 -Grouping : 3 -Instrument : 3 -InstrumentScientist : 0 -Investigation : 1 -InvestigationFacilityCycle : 0 -InvestigationFunding : 0 -InvestigationGroup : 0 -InvestigationInstrument : 0 -InvestigationParameter : 1 -InvestigationType : 5 -InvestigationUser : 0 -Job : 0 -Keyword : 4 -ParameterType : 9 -PermissibleStringValue : 6 -PublicStep : 0 -Publication : 1 -RelatedDatafile : 0 -RelatedItem : 0 -Rule : 0 -Sample : 1 -SampleParameter : 1 -SampleType : 3 -Shift : 2 -Study : 0 -StudyInvestigation : 0 -Technique : 4 -User : 11 -UserGroup : 4 +DataCollectionParameter : 0 +DataPublication : 1 +DataPublicationDate : 0 +DataPublicationFunding : 0 +DataPublicationType : 2 +DataPublicationUser : 0 +Datafile : 5 +DatafileFormat : 6 +DatafileParameter : 4 +Dataset : 4 +DatasetInstrument : 3 +DatasetParameter : 4 +DatasetTechnique : 3 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +FundingReference : 0 +Grouping : 3 +Instrument : 3 +InstrumentScientist : 0 +Investigation : 1 +InvestigationFacilityCycle : 0 +InvestigationFunding : 0 +InvestigationGroup : 0 +InvestigationInstrument : 0 +InvestigationParameter : 1 +InvestigationType : 5 +InvestigationUser : 0 +Job : 0 +Keyword : 4 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 0 +Publication : 1 +RelatedDatafile : 0 +RelatedItem : 0 +Rule : 0 +Sample : 1 +SampleParameter : 1 +SampleType : 3 +Shift : 2 +Study : 0 +StudyInvestigation : 0 +Technique : 4 +User : 11 +UserGroup : 4 diff --git a/tests/data/summary-5.jbotu b/tests/data/summary-5.jbotu index b283b18..794e3e9 100644 --- a/tests/data/summary-5.jbotu +++ b/tests/data/summary-5.jbotu @@ -1,57 +1,57 @@ User: db/jbotu -Entity count --------------------------------- -Affiliation : 0 -Application : 1 -DataCollection : 1 -DataCollectionDatafile : 1 -DataCollectionDataset : 2 +Entity count +----------------------------------- +Affiliation : 0 +Application : 1 +DataCollection : 1 +DataCollectionDatafile : 1 +DataCollectionDataset : 2 DataCollectionInvestigation : 0 -DataCollectionParameter : 0 -DataPublication : 1 -DataPublicationDate : 0 -DataPublicationFunding : 0 -DataPublicationType : 2 -DataPublicationUser : 0 -Datafile : 6 -DatafileFormat : 6 -DatafileParameter : 5 -Dataset : 6 -DatasetInstrument : 5 -DatasetParameter : 4 -DatasetTechnique : 5 -DatasetType : 3 -Facility : 1 -FacilityCycle : 20 -FundingReference : 0 -Grouping : 4 -Instrument : 3 -InstrumentScientist : 0 -Investigation : 2 -InvestigationFacilityCycle : 0 -InvestigationFunding : 0 -InvestigationGroup : 0 -InvestigationInstrument : 0 -InvestigationParameter : 2 -InvestigationType : 5 -InvestigationUser : 0 -Job : 0 -Keyword : 5 -ParameterType : 9 -PermissibleStringValue : 6 -PublicStep : 0 -Publication : 1 -RelatedDatafile : 0 -RelatedItem : 0 -Rule : 0 -Sample : 2 -SampleParameter : 1 -SampleType : 3 -Shift : 3 -Study : 0 -StudyInvestigation : 0 -Technique : 4 -User : 11 -UserGroup : 4 +DataCollectionParameter : 0 +DataPublication : 1 +DataPublicationDate : 0 +DataPublicationFunding : 0 +DataPublicationType : 2 +DataPublicationUser : 0 +Datafile : 6 +DatafileFormat : 6 +DatafileParameter : 5 +Dataset : 6 +DatasetInstrument : 5 +DatasetParameter : 4 +DatasetTechnique : 5 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +FundingReference : 0 +Grouping : 4 +Instrument : 3 +InstrumentScientist : 0 +Investigation : 2 +InvestigationFacilityCycle : 0 +InvestigationFunding : 0 +InvestigationGroup : 0 +InvestigationInstrument : 0 +InvestigationParameter : 2 +InvestigationType : 5 +InvestigationUser : 0 +Job : 0 +Keyword : 5 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 0 +Publication : 1 +RelatedDatafile : 0 +RelatedItem : 0 +Rule : 0 +Sample : 2 +SampleParameter : 1 +SampleType : 3 +Shift : 3 +Study : 0 +StudyInvestigation : 0 +Technique : 4 +User : 11 +UserGroup : 4 diff --git a/tests/data/summary-5.jdoe b/tests/data/summary-5.jdoe index 7eed027..a324a7c 100644 --- a/tests/data/summary-5.jdoe +++ b/tests/data/summary-5.jdoe @@ -1,57 +1,57 @@ User: db/jdoe -Entity count --------------------------------- -Affiliation : 0 -Application : 1 -DataCollection : 0 -DataCollectionDatafile : 0 -DataCollectionDataset : 0 +Entity count +----------------------------------- +Affiliation : 0 +Application : 1 +DataCollection : 0 +DataCollectionDatafile : 0 +DataCollectionDataset : 0 DataCollectionInvestigation : 0 -DataCollectionParameter : 0 -DataPublication : 1 -DataPublicationDate : 0 -DataPublicationFunding : 0 -DataPublicationType : 2 -DataPublicationUser : 0 -Datafile : 6 -DatafileFormat : 6 -DatafileParameter : 5 -Dataset : 6 -DatasetInstrument : 5 -DatasetParameter : 4 -DatasetTechnique : 5 -DatasetType : 3 -Facility : 1 -FacilityCycle : 20 -FundingReference : 0 -Grouping : 2 -Instrument : 3 -InstrumentScientist : 0 -Investigation : 2 -InvestigationFacilityCycle : 0 -InvestigationFunding : 0 -InvestigationGroup : 0 -InvestigationInstrument : 0 -InvestigationParameter : 2 -InvestigationType : 5 -InvestigationUser : 0 -Job : 0 -Keyword : 5 -ParameterType : 9 -PermissibleStringValue : 6 -PublicStep : 0 -Publication : 1 -RelatedDatafile : 0 -RelatedItem : 0 -Rule : 0 -Sample : 2 -SampleParameter : 1 -SampleType : 3 -Shift : 3 -Study : 0 -StudyInvestigation : 0 -Technique : 4 -User : 11 -UserGroup : 0 +DataCollectionParameter : 0 +DataPublication : 1 +DataPublicationDate : 0 +DataPublicationFunding : 0 +DataPublicationType : 2 +DataPublicationUser : 0 +Datafile : 6 +DatafileFormat : 6 +DatafileParameter : 5 +Dataset : 6 +DatasetInstrument : 5 +DatasetParameter : 4 +DatasetTechnique : 5 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +FundingReference : 0 +Grouping : 2 +Instrument : 3 +InstrumentScientist : 0 +Investigation : 2 +InvestigationFacilityCycle : 0 +InvestigationFunding : 0 +InvestigationGroup : 0 +InvestigationInstrument : 0 +InvestigationParameter : 2 +InvestigationType : 5 +InvestigationUser : 0 +Job : 0 +Keyword : 5 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 0 +Publication : 1 +RelatedDatafile : 0 +RelatedItem : 0 +Rule : 0 +Sample : 2 +SampleParameter : 1 +SampleType : 3 +Shift : 3 +Study : 0 +StudyInvestigation : 0 +Technique : 4 +User : 11 +UserGroup : 0 diff --git a/tests/data/summary-5.nbour b/tests/data/summary-5.nbour index 7301ed8..0c740c8 100644 --- a/tests/data/summary-5.nbour +++ b/tests/data/summary-5.nbour @@ -1,57 +1,57 @@ User: db/nbour -Entity count --------------------------------- -Affiliation : 0 -Application : 1 -DataCollection : 2 -DataCollectionDatafile : 2 -DataCollectionDataset : 2 +Entity count +----------------------------------- +Affiliation : 0 +Application : 1 +DataCollection : 2 +DataCollectionDatafile : 2 +DataCollectionDataset : 2 DataCollectionInvestigation : 0 -DataCollectionParameter : 1 -DataPublication : 1 -DataPublicationDate : 0 -DataPublicationFunding : 0 -DataPublicationType : 2 -DataPublicationUser : 0 -Datafile : 11 -DatafileFormat : 6 -DatafileParameter : 10 -Dataset : 9 -DatasetInstrument : 7 -DatasetParameter : 6 -DatasetTechnique : 5 -DatasetType : 3 -Facility : 1 -FacilityCycle : 20 -FundingReference : 0 -Grouping : 5 -Instrument : 3 -InstrumentScientist : 0 -Investigation : 3 -InvestigationFacilityCycle : 0 -InvestigationFunding : 0 -InvestigationGroup : 0 -InvestigationInstrument : 0 -InvestigationParameter : 3 -InvestigationType : 5 -InvestigationUser : 0 -Job : 1 -Keyword : 9 -ParameterType : 9 -PermissibleStringValue : 6 -PublicStep : 0 -Publication : 1 -RelatedDatafile : 1 -RelatedItem : 0 -Rule : 0 -Sample : 3 -SampleParameter : 2 -SampleType : 3 -Shift : 4 -Study : 1 -StudyInvestigation : 0 -Technique : 4 -User : 11 -UserGroup : 2 +DataCollectionParameter : 1 +DataPublication : 1 +DataPublicationDate : 0 +DataPublicationFunding : 0 +DataPublicationType : 2 +DataPublicationUser : 0 +Datafile : 11 +DatafileFormat : 6 +DatafileParameter : 10 +Dataset : 9 +DatasetInstrument : 7 +DatasetParameter : 6 +DatasetTechnique : 5 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +FundingReference : 0 +Grouping : 5 +Instrument : 3 +InstrumentScientist : 0 +Investigation : 3 +InvestigationFacilityCycle : 0 +InvestigationFunding : 0 +InvestigationGroup : 0 +InvestigationInstrument : 0 +InvestigationParameter : 3 +InvestigationType : 5 +InvestigationUser : 0 +Job : 1 +Keyword : 9 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 0 +Publication : 1 +RelatedDatafile : 1 +RelatedItem : 0 +Rule : 0 +Sample : 3 +SampleParameter : 2 +SampleType : 3 +Shift : 4 +Study : 1 +StudyInvestigation : 0 +Technique : 4 +User : 11 +UserGroup : 2 diff --git a/tests/data/summary-5.rbeck b/tests/data/summary-5.rbeck index cde8c7f..d8a4e46 100644 --- a/tests/data/summary-5.rbeck +++ b/tests/data/summary-5.rbeck @@ -1,57 +1,57 @@ User: db/rbeck -Entity count --------------------------------- -Affiliation : 0 -Application : 1 -DataCollection : 1 -DataCollectionDatafile : 1 -DataCollectionDataset : 1 +Entity count +----------------------------------- +Affiliation : 0 +Application : 1 +DataCollection : 1 +DataCollectionDatafile : 1 +DataCollectionDataset : 1 DataCollectionInvestigation : 1 -DataCollectionParameter : 0 -DataPublication : 1 -DataPublicationDate : 0 -DataPublicationFunding : 0 -DataPublicationType : 2 -DataPublicationUser : 0 -Datafile : 7 -DatafileFormat : 6 -DatafileParameter : 6 -Dataset : 6 -DatasetInstrument : 4 -DatasetParameter : 2 -DatasetTechnique : 2 -DatasetType : 3 -Facility : 1 -FacilityCycle : 20 -FundingReference : 0 -Grouping : 2 -Instrument : 3 -InstrumentScientist : 0 -Investigation : 2 -InvestigationFacilityCycle : 0 -InvestigationFunding : 0 -InvestigationGroup : 0 -InvestigationInstrument : 0 -InvestigationParameter : 2 -InvestigationType : 5 -InvestigationUser : 0 -Job : 0 -Keyword : 5 -ParameterType : 9 -PermissibleStringValue : 6 -PublicStep : 0 -Publication : 0 -RelatedDatafile : 0 -RelatedItem : 0 -Rule : 0 -Sample : 2 -SampleParameter : 1 -SampleType : 3 -Shift : 2 -Study : 0 -StudyInvestigation : 0 -Technique : 4 -User : 11 -UserGroup : 0 +DataCollectionParameter : 0 +DataPublication : 1 +DataPublicationDate : 0 +DataPublicationFunding : 0 +DataPublicationType : 2 +DataPublicationUser : 0 +Datafile : 7 +DatafileFormat : 6 +DatafileParameter : 6 +Dataset : 6 +DatasetInstrument : 4 +DatasetParameter : 2 +DatasetTechnique : 2 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +FundingReference : 0 +Grouping : 2 +Instrument : 3 +InstrumentScientist : 0 +Investigation : 2 +InvestigationFacilityCycle : 0 +InvestigationFunding : 0 +InvestigationGroup : 0 +InvestigationInstrument : 0 +InvestigationParameter : 2 +InvestigationType : 5 +InvestigationUser : 0 +Job : 0 +Keyword : 5 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 0 +Publication : 0 +RelatedDatafile : 0 +RelatedItem : 0 +Rule : 0 +Sample : 2 +SampleParameter : 1 +SampleType : 3 +Shift : 2 +Study : 0 +StudyInvestigation : 0 +Technique : 4 +User : 11 +UserGroup : 0 diff --git a/tests/data/summary-6.2 b/tests/data/summary-6.2 new file mode 100644 index 0000000..f9c995b --- /dev/null +++ b/tests/data/summary-6.2 @@ -0,0 +1,58 @@ +User: simple/root + +Entity count +----------------------------------- +Affiliation : 2 +Application : 1 +DataCollection : 5 +DataCollectionDatafile : 4 +DataCollectionDataset : 6 +DataCollectionInvestigation : 1 +DataCollectionParameter : 1 +DataPublication : 1 +DataPublicationDate : 2 +DataPublicationFunding : 1 +DataPublicationType : 2 +DataPublicationUser : 1 +Datafile : 11 +DatafileFormat : 6 +DatafileParameter : 10 +Dataset : 9 +DatasetInstrument : 7 +DatasetParameter : 6 +DatasetTechnique : 5 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +FundingReference : 1 +Grouping : 15 +Instrument : 3 +InstrumentScientist : 3 +Investigation : 3 +InvestigationFacilityCycle : 3 +InvestigationFunding : 1 +InvestigationGroup : 9 +InvestigationInstrument : 3 +InvestigationParameter : 3 +InvestigationType : 5 +InvestigationUser : 5 +Job : 1 +Keyword : 9 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 38 +Publication : 1 +RelatedDatafile : 1 +RelatedItem : 1 +Rule : 161 +Sample : 3 +SampleParameter : 2 +SampleType : 3 +Shift : 4 +Study : 1 +StudyInvestigation : 2 +Subject : 4 +Technique : 4 +User : 11 +UserGroup : 19 + diff --git a/tests/data/summary-6.2.acord b/tests/data/summary-6.2.acord new file mode 100644 index 0000000..6c23ac9 --- /dev/null +++ b/tests/data/summary-6.2.acord @@ -0,0 +1,58 @@ +User: db/acord + +Entity count +----------------------------------- +Affiliation : 0 +Application : 1 +DataCollection : 0 +DataCollectionDatafile : 0 +DataCollectionDataset : 0 +DataCollectionInvestigation : 0 +DataCollectionParameter : 0 +DataPublication : 1 +DataPublicationDate : 0 +DataPublicationFunding : 0 +DataPublicationType : 2 +DataPublicationUser : 0 +Datafile : 11 +DatafileFormat : 6 +DatafileParameter : 10 +Dataset : 9 +DatasetInstrument : 7 +DatasetParameter : 6 +DatasetTechnique : 5 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +FundingReference : 0 +Grouping : 1 +Instrument : 3 +InstrumentScientist : 0 +Investigation : 3 +InvestigationFacilityCycle : 0 +InvestigationFunding : 0 +InvestigationGroup : 0 +InvestigationInstrument : 0 +InvestigationParameter : 3 +InvestigationType : 5 +InvestigationUser : 0 +Job : 0 +Keyword : 9 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 0 +Publication : 1 +RelatedDatafile : 0 +RelatedItem : 0 +Rule : 0 +Sample : 3 +SampleParameter : 2 +SampleType : 3 +Shift : 4 +Study : 0 +StudyInvestigation : 0 +Subject : 0 +Technique : 4 +User : 11 +UserGroup : 0 + diff --git a/tests/data/summary-6.2.ahau b/tests/data/summary-6.2.ahau new file mode 100644 index 0000000..d48a629 --- /dev/null +++ b/tests/data/summary-6.2.ahau @@ -0,0 +1,58 @@ +User: db/ahau + +Entity count +----------------------------------- +Affiliation : 0 +Application : 1 +DataCollection : 0 +DataCollectionDatafile : 0 +DataCollectionDataset : 0 +DataCollectionInvestigation : 0 +DataCollectionParameter : 0 +DataPublication : 1 +DataPublicationDate : 0 +DataPublicationFunding : 0 +DataPublicationType : 2 +DataPublicationUser : 0 +Datafile : 5 +DatafileFormat : 6 +DatafileParameter : 4 +Dataset : 4 +DatasetInstrument : 3 +DatasetParameter : 4 +DatasetTechnique : 3 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +FundingReference : 0 +Grouping : 3 +Instrument : 3 +InstrumentScientist : 0 +Investigation : 1 +InvestigationFacilityCycle : 0 +InvestigationFunding : 0 +InvestigationGroup : 0 +InvestigationInstrument : 0 +InvestigationParameter : 1 +InvestigationType : 5 +InvestigationUser : 0 +Job : 0 +Keyword : 4 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 0 +Publication : 1 +RelatedDatafile : 0 +RelatedItem : 0 +Rule : 0 +Sample : 1 +SampleParameter : 1 +SampleType : 3 +Shift : 2 +Study : 0 +StudyInvestigation : 0 +Subject : 0 +Technique : 4 +User : 11 +UserGroup : 4 + diff --git a/tests/data/summary-6.2.jbotu b/tests/data/summary-6.2.jbotu new file mode 100644 index 0000000..8b50f51 --- /dev/null +++ b/tests/data/summary-6.2.jbotu @@ -0,0 +1,58 @@ +User: db/jbotu + +Entity count +----------------------------------- +Affiliation : 0 +Application : 1 +DataCollection : 1 +DataCollectionDatafile : 1 +DataCollectionDataset : 2 +DataCollectionInvestigation : 0 +DataCollectionParameter : 0 +DataPublication : 1 +DataPublicationDate : 0 +DataPublicationFunding : 0 +DataPublicationType : 2 +DataPublicationUser : 0 +Datafile : 6 +DatafileFormat : 6 +DatafileParameter : 5 +Dataset : 6 +DatasetInstrument : 5 +DatasetParameter : 4 +DatasetTechnique : 5 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +FundingReference : 0 +Grouping : 4 +Instrument : 3 +InstrumentScientist : 0 +Investigation : 2 +InvestigationFacilityCycle : 0 +InvestigationFunding : 0 +InvestigationGroup : 0 +InvestigationInstrument : 0 +InvestigationParameter : 2 +InvestigationType : 5 +InvestigationUser : 0 +Job : 0 +Keyword : 5 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 0 +Publication : 1 +RelatedDatafile : 0 +RelatedItem : 0 +Rule : 0 +Sample : 2 +SampleParameter : 1 +SampleType : 3 +Shift : 3 +Study : 0 +StudyInvestigation : 0 +Subject : 0 +Technique : 4 +User : 11 +UserGroup : 4 + diff --git a/tests/data/summary-6.2.jdoe b/tests/data/summary-6.2.jdoe new file mode 100644 index 0000000..4a076f5 --- /dev/null +++ b/tests/data/summary-6.2.jdoe @@ -0,0 +1,58 @@ +User: db/jdoe + +Entity count +----------------------------------- +Affiliation : 0 +Application : 1 +DataCollection : 0 +DataCollectionDatafile : 0 +DataCollectionDataset : 0 +DataCollectionInvestigation : 0 +DataCollectionParameter : 0 +DataPublication : 1 +DataPublicationDate : 0 +DataPublicationFunding : 0 +DataPublicationType : 2 +DataPublicationUser : 0 +Datafile : 6 +DatafileFormat : 6 +DatafileParameter : 5 +Dataset : 6 +DatasetInstrument : 5 +DatasetParameter : 4 +DatasetTechnique : 5 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +FundingReference : 0 +Grouping : 2 +Instrument : 3 +InstrumentScientist : 0 +Investigation : 2 +InvestigationFacilityCycle : 0 +InvestigationFunding : 0 +InvestigationGroup : 0 +InvestigationInstrument : 0 +InvestigationParameter : 2 +InvestigationType : 5 +InvestigationUser : 0 +Job : 0 +Keyword : 5 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 0 +Publication : 1 +RelatedDatafile : 0 +RelatedItem : 0 +Rule : 0 +Sample : 2 +SampleParameter : 1 +SampleType : 3 +Shift : 3 +Study : 0 +StudyInvestigation : 0 +Subject : 0 +Technique : 4 +User : 11 +UserGroup : 0 + diff --git a/tests/data/summary-6.2.nbour b/tests/data/summary-6.2.nbour new file mode 100644 index 0000000..ef58425 --- /dev/null +++ b/tests/data/summary-6.2.nbour @@ -0,0 +1,58 @@ +User: db/nbour + +Entity count +----------------------------------- +Affiliation : 0 +Application : 1 +DataCollection : 2 +DataCollectionDatafile : 2 +DataCollectionDataset : 2 +DataCollectionInvestigation : 0 +DataCollectionParameter : 1 +DataPublication : 1 +DataPublicationDate : 0 +DataPublicationFunding : 0 +DataPublicationType : 2 +DataPublicationUser : 0 +Datafile : 11 +DatafileFormat : 6 +DatafileParameter : 10 +Dataset : 9 +DatasetInstrument : 7 +DatasetParameter : 6 +DatasetTechnique : 5 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +FundingReference : 0 +Grouping : 5 +Instrument : 3 +InstrumentScientist : 0 +Investigation : 3 +InvestigationFacilityCycle : 0 +InvestigationFunding : 0 +InvestigationGroup : 0 +InvestigationInstrument : 0 +InvestigationParameter : 3 +InvestigationType : 5 +InvestigationUser : 0 +Job : 1 +Keyword : 9 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 0 +Publication : 1 +RelatedDatafile : 1 +RelatedItem : 0 +Rule : 0 +Sample : 3 +SampleParameter : 2 +SampleType : 3 +Shift : 4 +Study : 1 +StudyInvestigation : 0 +Subject : 0 +Technique : 4 +User : 11 +UserGroup : 2 + diff --git a/tests/data/summary-6.2.rbeck b/tests/data/summary-6.2.rbeck new file mode 100644 index 0000000..fae8e0c --- /dev/null +++ b/tests/data/summary-6.2.rbeck @@ -0,0 +1,58 @@ +User: db/rbeck + +Entity count +----------------------------------- +Affiliation : 0 +Application : 1 +DataCollection : 1 +DataCollectionDatafile : 1 +DataCollectionDataset : 1 +DataCollectionInvestigation : 1 +DataCollectionParameter : 0 +DataPublication : 1 +DataPublicationDate : 0 +DataPublicationFunding : 0 +DataPublicationType : 2 +DataPublicationUser : 0 +Datafile : 7 +DatafileFormat : 6 +DatafileParameter : 6 +Dataset : 6 +DatasetInstrument : 4 +DatasetParameter : 2 +DatasetTechnique : 2 +DatasetType : 3 +Facility : 1 +FacilityCycle : 20 +FundingReference : 0 +Grouping : 2 +Instrument : 3 +InstrumentScientist : 0 +Investigation : 2 +InvestigationFacilityCycle : 0 +InvestigationFunding : 0 +InvestigationGroup : 0 +InvestigationInstrument : 0 +InvestigationParameter : 2 +InvestigationType : 5 +InvestigationUser : 0 +Job : 0 +Keyword : 5 +ParameterType : 9 +PermissibleStringValue : 6 +PublicStep : 0 +Publication : 0 +RelatedDatafile : 0 +RelatedItem : 0 +Rule : 0 +Sample : 2 +SampleParameter : 1 +SampleType : 3 +Shift : 2 +Study : 0 +StudyInvestigation : 0 +Subject : 0 +Technique : 4 +User : 11 +UserGroup : 0 + diff --git a/tests/test_05_setup.py b/tests/test_05_setup.py index 230884c..cf2843a 100644 --- a/tests/test_05_setup.py +++ b/tests/test_05_setup.py @@ -318,6 +318,9 @@ def test_add_data_publication(data, pubname): "name": "= '%s'" % t['name'] }) data_publication.type = client.assertedSearch(query)[0] + if "subject" in client.typemap: + for d in pubdata['subjects']: + data_publication.subjects.append(client.new("Subject", **d)) for d in pubdata['dates']: data_publication.dates.append(client.new("DataPublicationDate", **d)) for ri in pubdata['relatedItems']: diff --git a/tests/test_06_query.py b/tests/test_06_query.py index cc76c20..ff075a4 100644 --- a/tests/test_06_query.py +++ b/tests/test_06_query.py @@ -35,8 +35,9 @@ def client(setupicat): # The the actual number of rules in the test data differs with the # ICAT version. have_icat_5 = 0 if icat_version < "5.0" else 1 -all_rules = 111 + 48*have_icat_5 -grp_rules = 51 + 30*have_icat_5 +have_icat_6_2 = 0 if icat_version < "6.2" else 1 +all_rules = 111 + 48*have_icat_5 + 2*have_icat_6_2 +grp_rules = 51 + 30*have_icat_5 + 2*have_icat_6_2 @pytest.mark.dependency(name='get_investigation') def test_query_simple(client):