-
Notifications
You must be signed in to change notification settings - Fork 0
REST API: Schema information
NOTE: These requests yield rarely changing data and should be cached for 24h or longer in production clients.
GET <API endpoint root>/schema/aictype:Asset/subtypes
-
uri
(string): Asset type identifier (URI) -
label
(string): Asset type label -
acceptMimeTypes
(list of strings): Accepted mime types for the asset type
####Example response { "results": [ { "uri": "http://definitions.artic.edu/ontology/type#StillImage", "label": "Image", "acceptMimeTypes": [ "image/jpeg", "image/bmp", "image/tiff" ] }, { "uri": "http://definitions.artic.edu/ontology/type#Text", "label": "Text", "acceptMimeTypes": [ "text/plain", "application/rtf", "application/msword" ] } ] }
This applies to Assets, Comments, Tags and any other types that need to be discovered by clients.
GET <API endpoint root>/schema/<resource type URI>/properties
-
uri
(string): Resource identifier -
label
(string): Property label -
searchable
(bool): Property is a searchable term -
viewable
(bool): Property is available in Manager or Editor -
category
(string): Property category: can be used to group properties for a more organized uix view (@TODO stub - defaults to "Basic Info") -
editable
(bool): Property is editable (opposite of read-only). This can inform the UI appearance (e.g. a read-only text field is greyed out) -
dataType
(string, XSD URI - if it is a LAKE resource, "xsd:anyURI" is used): Data type (text, numeric…) (See http://books.xmlschemata.org/relaxng/relax-CHP-19.html). This informs the GUI about which type of widget to display. -
resourceType
(string): RDF type of individuals accepted for resource (if the property is a LAKE resource - ignore for literals or out-of-repo URIs) -
minCardinality
(non-negative int): Minimum occurrence of property - 0 means optional, >0 means mandatory -
maxCardinality
(positive int): Maximum occurrence of property - 1 is single-valued, >1 is multi-valued, unset is unbound -
controlledValues
(object): Lookup list directives. This JSON object presents the following properties:-
type
(string): "list" or "authority". Lists are usually restricted do few elements easily displayable in a drop-down list; authorities are controlled values taken from an arbitrary number of resources and are more suitable for an autocomplete text field. -
editable
(bool): Whether values can be added or removed from list. UI should present different options accordingly. -
deptRestricted
(list of strings): Departments allowed to view this property. If the list is empty, all departments can see it (@TODO stub - default to empty list). -
items
: A list of objects representing all the possible choices for a list. Iftype
is "authority", this is ignored and choices should be queried among repository resources with RDF type specified by theresourceType
value.
-
-
fullTextSearchable
(bool): Property is available for full text search (@TODO stub - defaults to true)
####Example response { "results": [ { "uri": "http://definitions.artic.edu/ontology#legacyUid", "label": "Legacy Number", "searchable": true, "viewable": true, "category": "Basic Info", "editable": false, "dataType": "http://www.w3.org/2001/XMLSchema#string", "minCardinality": 0, "maxCardinality": 1, "fullTextSearchable": true }, { "uri": "http://definitions.artic.edu/ontology#imageType", "label": "Image Type", "searchable": true, "viewable": true, "category": "Basic Info", "editable": true, "dataType": "http://www.w3.org/2001/XMLSchema#string", "minCardinality": 0, "controlledValues": { "type" : "list", "editable" : true, "items" : [ { "label" : "Photo Documentation", "value" : "https://lake.artic.edu/listItem1" }, { "label" : "From Glass Negative", "value" : "https://lake.artic.edu/listItem2" }, { "label" : "Provisional", "value" : "https://lake.artic.edu/listItem3" } ] }, "fullTextSearchable": true }, { "uri": "http://definitions.artic.edu/ontology#hasTag", "label": "Tags", "searchable": true, "viewable": true, "category": "Basic Info", "editable": true, "dataType": "http://www.w3.org/2001/XMLSchema#anyURI", "resourceType" : "http://definitions.artic.edu/ontology/type#Tag", "controlledValues": { "type" : "authority", "editable" : false }, "fullTextSearchable": true, }, { "uri": "http://definitions.artic.edu/ontology#hasComment", "label": "Comments", "searchable": true, "viewable": true, "category": "Basic Info", "editable": true, "dataType": "http://www.w3.org/2001/XMLSchema#anyURI", "resourceType" : "http://definitions.artic.edu/ontology/type#Comment", "controlledValues": { "type" : "authority", "editable" : true }, "fullTextSearchable": true } ] }