MMI Collection Browser Authority Term Schema for 2.6
Status
This schema is... |
|
---|---|
under review |
|
complete |
|
Browser Schema
Authority |
MMI Field Name |
CSpace field name |
DB table.field |
NXQL table:field |
notes |
search |
updated |
---|---|---|---|---|---|---|---|
Entity (Person) |
Term display name |
Display name |
personstermgroup.termdisplayname |
persons_common:personTermGroupList/0/termDisplayName |
|
|
|
|
Birth/founding date |
Date Display Date |
structureddategroup.dateEarliestSingleYear |
persons_common:birthDateGroup/dateDisplayDate |
|
|
|
|
Death/dissolution date |
Date Display Date |
structureddategroup.dateEarliestSingleYear |
persons_common:deathDateGroup/dateDisplayDate |
|
|
|
|
Type |
Entity type (CL) |
personstermgroup.termtype |
persons_common:personTermGroupList/0/termType |
|
|
|
|
History notes |
Biographical Note |
persons_common.bionote |
persons_common:bioNote |
|
|
|
|
Source |
Source (CL) |
personstermgroup.termsource |
persons_common:personTermGroupList/0/termSource |
|
|
|
|
Source notes |
Source note |
personstermgroup.termsourcenote |
persons_common:personTermGroupList/0/termSourceNote |
|
|
|
Production (Work) |
Term display name |
Display name |
worktermgroup.termdisplayname |
works_common:workTermGroupList/0/termDisplayName |
|
|
|
|
Medium |
Medium (CL) |
works_common.medium |
works_common:medium |
|
|
|
|
Display Date |
Display Date |
structureddategroup.datedisplaydate |
works_common:workDateGroupList/0/dateDisplayDate |
|
|
|
|
Date Association |
Date Association (CL) |
structureddategroup.dateassociation |
works_common:workDateGroupList/0/dateAssociation |
|
|
|
|
Creator |
Creator |
creatorgroup.creator |
works_common:creatorGroupList/0/creator |
|
|
|
|
Creator Type |
Creator Type (CL) |
creatorgroup.creatortype |
works_common:creatorGroupList/0/creatorType |
|
|
|
|
Publisher |
Publisher |
publishergroup.publisher |
works_common:publisherGroupList/0/publisher |
|
|
|
|
Publisher Type |
Publisher Type (CL) |
publishergroup.publishertype |
works_common:publisherGroupList/0/publisherType |
|
|
|
|
Scope Note |
Scope Note |
works_common.scopenote |
works_common:scopeNote |
is there data in this field? |
|
|
|
Indexing notes |
Term source detail |
worktermgroup.termsourcedetail |
works_common:workTermGroupList/0/termSourceDetail |
|
|
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.
Other parameters
Description |
NXQL string |
DB string |
API query string |
Required |
---|---|---|---|---|
is object record deleted? |
|
|
Y |
|
sort by |
|
|
N |
Using short ID in place of CSIDs
Foreknowledge of the parent authority CSID is no longer necessary. Only the short ID
of the parent authority needs be known, which for MMI is urn:cspace:name(person)
. Likewise, the CSID of the person authority record can be replaced with the short ID
of that record.
The URL structure can be formatted with CSIDs
http://collectiontest.movingimage.us:8180/cspace-services/personauthorities/b348ff18-db98-44e7-9780/items/44793958-fe52-4c4f-b960-84e23f9b618d
or with short IDs
http://collectiontest.movingimage.us:8180/cspace-services/personauthorities/urn:cspace:name(person)/items/urn:cspace:name(oc96)
Also see /wiki/spaces/collectionspace/pages/666273476.
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 authority record
http://collectiontest.movingimage.us:8180/cspace-services/personauthorities/urn:cspace:name(person)/items/urn:cspace:name(oc96)/authorityrefs
Get cataloging records referencing a specific person authority record
Getting a list of cataloging records referencing a specific person authority record follows the same API construction listed in the previous section. An additional query path component is used, refObjs
, to filter referencing cataloging, procedural or authority records. By default refObjs
filters by procedural records, i.e. records that are not collectionobjects nor authorities, but using a ?type=object
parameter will filter by object record. Likewise, ?type=authority
will filter by authorities.
An example API call would be as such
http://collectiontest.movingimage.us:8180/cspace-services/personauthorities/urn:cspace:name(person)/items/urn:cspace:name(oc96)/refObjs?type=object
Also see related Object References for authority term instances.
Chaining multiple record calls using the OR
operator
The benefit of the relations service is receiving a single payload that contains refNames or CSIDs of all the related records. Typically, from here it is necessary to make one API call for every refName/CSID received since no other supporting information is returned for a related record, since only a few fields are listed in the query results. This can be unwieldy if there are dozens of refNames/CSIDs to fetch. Here the OR
operator can be used to 'chain' together multiple calls to the same procedure.
Example
We want to create a list of cataloging records that reference a given person authority record. We want the caption
and objectNumber
fields to show in the UI for each cataloging record.
First, the following person authority service API call is made to find all the referenced cataloging records.
http://collectiontest.movingimage.us:8180/cspace-services/personauthorities/urn:cspace:name(person)/items/782c7a8a-3026-49d5-9575-9c8ff57ea0a6/refObjs?type=object
The xml list returns something like this abbreviated payload in the following (using xpath authority-ref-doc-item/
). We will take the value in docID
as this is the CSID of the referenced cataloging record.
... <docId>7f8337d1-26c6-4363-858a-8eeea04da220</docId> ... <docId>88b76720-f9f9-4d87-aa07-5c2128b01bdc</docId> ... <docId>53a45ccb-729e-4953-b6a8-608a5e2f2f82</docId> ... <docId>7e1fde40-a917-43cd-96a8-a9eb2403cc57</docId> ...
There are 32 cataloging records listed above, but we'll only use the first 4 in this example.
Next, instead of 32 separate API calls to the media server we can construct one (or more)* API call using the CSIDs given above. We can use a special CSpace/Nuxeo NXQL property to search by CSIDs: ecm:name
.
http://collectiontest.movingimage.us:8180/cspace-services/collectionobjects?as= ecm:name='7f8337d1-26c6-4363-858a-8eeea04da220' OR ecm:name='88b76720-f9f9-4d87-aa07-5c2128b01bdc' OR ecm:name='53a45ccb-729e-4953-b6a8-608a5e2f2f82' OR ecm:name='7e1fde40-a917-43cd-96a8-a9eb2403cc57'
This resultant list payload will show us the value of the caption
field for each of cataloging record queried.
* More records can be chained together to improve processing speed, but there is a string limit to the length of a URL.
Controlled List mapping
Entity - Type
Controlled list string |
Display string |
---|---|
|
Corporation |
|
Group |
|
Individual |
Entity - Source
Controlled list string |
Display string |
---|---|
|
Encyclopedia of Early Cinema |
|
Halliwell's Who's Who in the Cinema |
|
Library of Congress Name Authority |
|
Other |
|
Root |
|
Silent Film Necrology, 2nd Edition |
|
The Film Encyclopedia, 4th Edition |
Production - Medium
Controlled list string |
Display string |
---|---|
|
Film |
|
Internet |
|
Television |
|
Video game |
Production - Date Association
Controlled list string |
Display string |
---|---|
|
Creation |
|
Copyright |
|
Display |
|
Exhibition |
|
Ownership |
|
Release |
|
Production |
|
Publication |
|
Running |
|
Use |
Production - Creator Type
Controlled list string |
Display string |
---|---|
|
Artist |
|
Director |
|
Publishing company |
|
Developer |
|
Production company |
Production - Publisher Type
Controlled list string |
Display string |
---|---|
|
network cable service |
|
distribution company |
|
publishing company |
Additional links
Authority REST API for Hierarchies
Person Services REST APIs
Organization Services REST APIs
Common Services REST API
Short Identifier /wiki/spaces/collectionspace/pages/666273476