Status
This schema is... |
|
---|---|
under review |
|
complete |
|
Schema
Procedure |
MMI Field name |
CSpace field name |
DB table.field |
NXQL table:field |
Link to search? |
---|---|---|---|---|---|
Cataloging |
Label |
Brief Description (RF) |
collectionobjects_common_briefdescriptions.item .pos |
collectionobjects_common:briefDescriptions |
N |
|
Description |
Distinguishing Features |
collectionobjects_common.distinguishingfeatures |
collectionobjects_common:distinguishingFeatures |
N |
|
Content remarks |
Inscription Content (RF) |
collectionobjects_mmi_mmiinscriptioncontents.item .pos |
collectionobjects_mmi:mmiInscriptionContents |
N |
|
Accession number |
Object Number |
collectionobjects_common.objectnumber |
collectionobjects_common:objectNumber |
N |
|
Collection category |
Responsible Department (RF)(CL) |
collectionobjects_common_responsibledepartments.item |
collectionobjects_common:responsibleDepartments |
Y |
|
Artifact class/ Work type (Categories) |
Artifact class/ Work type (RG) |
shares the table name |
shares the table name |
|
|
|
Artifact Class |
.artifactclass |
:artifactClassWorkTypeList/*/artifactClass |
Y |
|
|
Work Type |
.worktype |
:artifactClassWorkTypeList/*/workType |
Y |
|
Dimensions |
Dimensions (component) |
|
shares the table name |
N |
|
|
Dimension summary |
measuredpartgroup.dimensionsummary |
:measuredPartGroupList/*/dimensionSummary |
|
|
|
Measured part |
measuredpartgroup.measuredpart |
:measuredPartGroupList/*/measuredPart |
|
|
|
Value date (date) |
dimensionsubgroup.valuedate |
:measuredPartGroupList//dimensionSubGroupList//valueDate |
|
|
|
Measurement unit |
dimensionsubgroup.measurementunit |
:measuredPartGroupList//dimensionSubGroupList//measurementUnit |
|
|
|
Value (integer) |
dimensionsubgroup.value |
:measuredPartGroupList//dimensionSubGroupList//value |
|
|
|
Value qualifier (integer) |
dimensionsubgroup.valuequalifier |
:measuredPartGroupList//dimensionSubGroupList//valueQualifier |
|
|
Extent |
Number of Objects (integer) |
collectionobjects_common.numberofobjects |
collectionobjects_common:numberOfObjects |
N |
|
Attribute: Format |
Physical Description |
collectionobjects_common.physicaldescription |
collectionobjects_common:physicalDescription |
N |
|
Attribute: Technique |
Technique (RF) |
collectionobjects_mmi_mmitechniques.item .pos |
collectionobjects_mmi:mmiTechniques |
N |
|
Attribute: Dimensions |
Dimensions (component) |
same as before? |
|
N |
|
Attribute: Display date |
Production Date (component) |
shares the table name |
shares the table name |
N |
|
|
Display date |
.datedisplaydate |
:objectProductionDateGroupList/*/dateDisplayDate |
|
|
|
Association (URN) |
.dateassociation |
:objectProductionDateGroupList/*/dateAssociation |
|
|
|
dateEarliestScalarValue (date) |
.dateearliestscalarvalue |
:objectProductionDateGroupList/*/dateEarliestScalarValue |
|
|
|
dateLatestScalarValue (date) |
.datelatestscalarvalue |
:objectProductionDateGroupList/*/dateLatestScalarValue |
|
|
Attribute: Materials |
Material (RF) (CL) |
collectionobjects_mmi_mmimaterials.item .pos |
collectionobjects_mmi:mmiMaterials |
N |
|
Attribute: Components |
Object component name (RG) |
shares the table name |
shares the table name |
N |
|
|
Object component name |
.objectcomponentname |
:objectComponentGroupList/*/objectComponentName |
|
|
|
Object component information |
.objectcomponentinformation |
:objectComponentGroupList/*/objectComponentInformation |
|
|
Authority: Associated Entities |
Associated organization (RG) |
shares the table name |
shares the table name |
Y |
|
|
Associated organization (URN) |
.assocorganization |
:assocOrganizationGroupList/*/assocOrganization |
|
|
|
Associated organization type (CL) |
.assocorganizationtype |
:assocOrganizationGroupList/*/assocOrganizationType |
|
|
|
Associated organization note |
.assocorganizationnote |
:assocOrganizationGroupList/*/assocOrganizationNote |
|
|
Authority: Associated Productions |
Associated production (RG) |
shares the table name |
shares the table name |
Y |
|
|
Associated production (URN) |
.assocproduction |
:assocProductionList/*/assocProduction |
|
|
|
Associated production type (CL) |
.assocproductiontype |
:assocProductionList/*/assocProductionType |
|
|
|
Associated production note |
.assocproductionnote |
:assocProductionList/*/assocProductionNote |
|
|
Authority: Associated Publications |
Associated publication (RG) |
shares the table name |
shares the table name |
Y |
|
|
Associated publication (URN) |
.assocpublication |
:assocPublicationList/*/assocPublication |
|
|
|
Associated publication type (CL) |
.assocpublicationtype |
:assocPublicationList/*/assocPublicationType |
|
|
|
Associated publication note |
.assocpublicationnote |
:assocPublicationList/*/assocPublicationNote |
|
|
Authority: Production Entities |
Production organization (RG) |
shares the table name |
shares the table name |
Y |
|
|
Production organization (URN) |
.objectproductionorganization |
:objectProductionOrganizationGroupList/*/objectProductionOrganization |
|
|
|
Production role (CL) |
.objectproductionorganizationrole |
:objectProductionOrganizationGroupList/*/objectProductionOrganizationRole |
|
|
Authority: Content Entities |
Content organization (RG) |
shares the table name |
shares the table name |
Y |
|
|
Content entity (URN) |
.contententity |
:contentEntityList/*/contentEntity |
|
|
|
Content entity type (CL) |
.contententitytype |
:contentEntityList/*/contentEntityType |
|
|
Authority: Groups (collection subsets) |
need to add |
|
|
Y |
Acquisition |
Credit line |
Credit Line |
acquisitions_common.creditline |
|
N |
Location |
Current location |
Current location |
movements_common.currentlocation |
movements_common:currentLocation |
N |
The fields marked (RF) describe the NXQL format that will search through all elements of that repeatable field. To limit the search to the primary value then append /0
to the field name, e.g. collectionobjects_mmi:mmiTechniques/0
Likewise, fields marked (RG) describe repeatable groups of fields. The underlying fields are shown with a wildcard in the field path to indicate that such an search term is required for the NXQL query string to return without a syntax error. The wildcard can be replaced with a 0
to indicate the primary value of that field should be only be searched upon.
The fields marked (CL) describe a field that is a controlled list (HTML select
element). The returned value is a non-spaced string. Please see Controlled List mapping for a mapping of controlled list strings to displayed values.
(date) indicates a PostgreSQL "timestamp without time zone" type field and requires a DATE or TIMESTAMP literal in the NXQL notation. For instance, in non-URL encoded form:
collectionobjects_common:measuredPartGroupList/
/dimensionSubGroupList/
/valueDate <= DATE '2012-01-09'
or
collectionobjects_common:measuredPartGroupList/
/dimensionSubGroupList/
/valueDate <= TIMESTAMP '2012-01-09T00:00:00'
See also Common Services REST API documentation and NXQL documentation.
(integer) indicates a field integer type.
(URN) indicates a field that uses a refname structure to indicate value and metadata for that field. See also refname.
Searching through a range of values using text based fields
The following is not the preferred form. Please see searching scalar values below.
NXQL supports the BETWEEN
operator to search through a range of numerical or text values.
An example
http://cspacetest.collectionspace.org:8180/cspace-services/collectionobjects?as=collectionobjects_common/physicalDescription BETWEEN 'g' AND 'h'
Another example for a simple range of displayDate
values for 1950's
http://cspacetest.collectionspace.org:8180/cspace-services/collectionobjects?as=collectionobjects_common/objectProductionDateGroupList/*/dateDisplayDate BETWEEN '%1950%' AND '%1959%'
BETWEEN
doesn't give expected results when the displayDate
value is in any format other than strictly numerical. Values like "stamped 1934", "Jan 1973, Feb 1973", "ca. 1922", "Feb-May, Dec 1975" and "February, 1934" are not found when bounding the BETWEEN
operator between two numerical values.
Searching through a range of scalar date values for a structured date field
The structured date field type is a group of related fields which give greater definition of a date, range and certainty.
Searching through a range of dates for a structured date requires using the dateEarliestScalarValue
and dateLatestScalarValue
scalar fields of the structured date group.
These fields contain a postgres TIMESTAMP
value in the form of YYYY-MM-DDThh:mm:ss
where T
is an indicator of a timestamp, e.g. 2012-03-27T11:23:00
. the API will also accept queries using a DATE literal and internally convert to/from TIMESTAMP.
All scalar dates are saved in postgres with a lower bound time stamp, dateEarliestScalarValue
, of T00:00:00
and a higher bound time stamp, dateLatestScalarValue
, of T23:59:59
.
An important fact about scalar dates in this context is that CollectionSpace modifies the saved postgres timestamp value by the server's timezone. This means the postgres scalar values are effectively 5 hours behind (NYC being UTC -5, ignoring DST) in CollectionSpace. This impacts the way in which DATE or TIMESTAMP ranges are calculated using the REST API.
For example, say there is a search for all dates from 1954.
Using the DATE
literal, rather than search from a lower bound of 1954-01-01
and a higher bound of 1954-12-31
, there would be a recalculated search from 1953-12-31
up through 1955-01-01
.
Using the TIMESTAMP
literal, the range search would take into consideration the server timezone (non DST value) and recalculate based on that value. The updated query would have a range from 1953-12-31T19:00:00
up through 1954-12-31:19:00:00
.
Example API call
DATE
non url-encoded http://cspacetest.collectionspace.org:8180/cspace-services/collectionobjects?as=collectionobjects_common:objectProductionDateGroupList/0/dateEarliestScalarValue >= DATE "1953-12-31" AND collectionobjects_common:objectProductionDateGroupList/0/dateLatestScalarValue <= DATE "1955-01-01"
encoded http://cspacetest.collectionspace.org:8180/cspace-services/collectionobjects?as=collectionobjects_common%3aobjectProductionDateGroupList%2F0%2FdateEarliestScalarValue++>%3D++DATE++%221955-01-01%22++AND++collectionobjects_common%3aobjectProductionDateGroupList%2F0%2FdateLatestScalarValue++<%3D++DATE++%221955-01-01%22
TIMESTAMP
non url-encoded http://cspacetest.collectionspace.org:8180/cspace-services/collectionobjects?as=collectionobjects_common:objectProductionDateGroupList/0/dateEarliestScalarValue >= TIMESTAMP "1953-12-31T19:00:00" AND collectionobjects_common:objectProductionDateGroupList/0/dateLatestScalarValue <= TIMESTAMP "1954-12-31T19:00:00"
url-encoded http://cspacetest.collectionspace.org:8180/cspace-services/collectionobjects?as=collectionobjects_common%3aobjectProductionDateGroupList%2F0%2FdateEarliestScalarValue++%3E%3D++TIMESTAMP++%221953-12-31T19:00:00%22++AND++collectionobjects_common%3aobjectProductionDateGroupList%2F0%2FdateLatestScalarValue++%3C%3D++TIMESTAMP++%221954-12-31T19:00:00%22
Other parameters
In progress
Description |
NXQL string |
DB string |
API query string |
Required |
---|---|---|---|---|
is record status completed and publishable? |
collectionobjects_common.recordStatus |
|
|
Y |
is object record deleted? |
|
|
Y |
|
sort by |
|
|
N |
|
show only objects on exhibit |
to do |
to do |
|
N |
show only records with images |
to do |
to do |
|
|
show only objects from a specific tenant |
implied |
|
implied |
Y |
Sample URL query
URL encoded query string using the above parameters:
http://cspacetest.collectionspace.org:8180/cspace-services/collectionobjects?as=collectionobjects_common%3AdistinguishingFeatures++ILIKE++%27Foo%25%27++AND++collectionobjects_common%3ArecordStatus+%3d+%27completedpublish%27&sortBy=collectionspace_core%3AupdatedAt&wf_deleted=false
Non-encoded URL
http://cspacetest.collectionspace.org:8180/cspace-services/collectionobjects ?as=collectionobjects_common:distinguishingFeatures ILIKE 'Foo%' AND collectionobjects_common:recordStatus = 'completedpublish' &sortBy=collectionspace_core:updatedAt &wf_deleted=false
REST API query payload columns returned
The following columns are returned from an API query call to the collectionobject service
csid|uri|updatedAt|objectNumber|objectName|title|responsibleDepartment|briefDescriptions
briefDescriptions
is used for the browser search results listing page. The related thumbnail image requires a separate call to the relationship service. (See section below for additional details.)
Get referenced authority records
Append authorityrefs
to the API URL for a collectionobject record to get a list of referenced authority records': sourceField
, itemDisplayName
and refName
(in short ID
format).
An example API call for authorityrefs
for a given collectionobject record
http://cspacetest.collectionspace.org:8180/cspace-services/collectionobjects/a7fdba4a-ec23-472c-9c45-47249aa3242d/authorityrefs
Finding related media records from a given collectionobject record
The relations service provides the mechanism to find related records of a given type. With a known collectionobject csid
the API call would be
http://cspacetest.collectionspace.org:8180/cspace-services/relations?sbj={{csid}}&objType=MediaTenant42
The objType
value is the document type for the unique MMI tenant, MediaTenant42
.
Controlled List mapping
Collection category
Controlled list string |
Display string |
---|---|
|
Not yet assigned |
|
Distribution |
|
Exhibition |
|
Industry (as a whole) |
|
Marketing |
|
Merchandising |
|
Production |
|
Reception |
|
Works of art |
Material
Controlled list string |
Display string |
Controlled list string |
Display string |
---|---|---|---|
|
Acetatefilm |
|
Metal |
|
cellophane |
|
Neon |
|
Cellulose nitrate film |
|
Paper |
|
Cement |
|
Photographic negative |
|
Ceramic |
|
Photographic paper |
|
Composition |
|
Photographic paper mounted on textile |
|
Cork |
|
Plaster |
|
Crystal |
|
Plastic |
|
Engineered wood |
|
Polystyrene |
|
Fiberglass |
|
Polyurethane |
|
Foam |
|
Resin |
|
Fur |
|
Rock |
|
Glass |
|
Rubber |
|
Glycerin |
|
Soap |
|
Hair |
|
Textile |
|
Latex |
|
Vinyl |
|
Leather |
|
Wax |
|
|
|
Wood |
Associated organization type / Production role
Controlled list string |
Display string |
---|---|
|
Authority Creator |
|
Authority Designer |
|
Authority Distributor |
|
Authority Licensor |
|
Authority Illustrator |
|
Authority Manufacturer |
|
Authority Producer |
|
Authority Publisher |
|
Authority Owner |
|
Authority author/writer |
|
Authority exhibitor |
|
Authority performer |
|
Authority signitor |
Content entity type
Controlled list string |
Display string |
---|---|
|
Depicts Authority |
|
References Authority |
|
See also Authority |
Associated production type
Controlled list string |
Display string |
---|---|
|
Depicts Authority |
|
References Authority |
|
Is from Authority |
Associated publication type
Controlled list string |
Display string |
---|---|
|
The Object Is an issue of The Authority |
|
The Object _References _The Authority |
Related links
/wiki/spaces/collectionspace/pages/666273449
CollecitonObject RESTful API
Common services RESTful API
Media service RESTful API
Relation service RESTful API