Bulky metadata

Bulky metadata can be used to store large amounts of timed metadata. The metadata is arranged in a key-value fashion, where the key is the quintuple (field, start, end, stream, channel).

The metadata is not indexed, but is typically used as a temporary container for metadata that is to be processed later, for example using auto-projection rules.

Managing bulky metadata

Both items and shapes can hold bulky metadata.

Insert values in bulk

PUT /item/(item-id)/metadata/bulky/
PUT /item/(item-id)/shape/(shape-id)/metadata/bulky/

Inserts all key-value pairs from a given document.

Accepts:
Role:

_metadata_write

Example

PUT /item/VX-250/metadata/bulky
Content-Type: application/xml

<BulkyMetadataDocument xmlns="http://xml.vidispine.com/schema/vidispine">
   <field start="3" end="5">
      <key>mykey</key>
      <value>This is the value of mykey for the first interval.</value>
   </field>
   <field start="5" end="9">
      <key>mykey</key>
      <value>This is the value of mykey for the second interval.</value>
   </field>
</BulkyMetadataDocument>

Retrieve all keys used in the bulky metadata

GET /item/(item-id)/metadata/bulky/
GET /item/(item-id)/shape/(shape-id)/metadata/bulky/

Retrieves a list of all keys in the bulky metadata.

Produces:
  • application/xml, application/jsonURIListDocument
  • text/plain – CRLF-delimited list of keys
Role:

_metadata_read

Remove all keys used in the bulky metadata

DELETE /item/(item-id)/metadata/bulky/
DELETE /item/(item-id)/shape/(shape-id)/metadata/bulky/

Removes all the keys in the bulky metadata.

Role:_metadata_write

Read values

GET /item/(item-id)/metadata/bulky/(key)
GET /item/(item-id)/shape/(shape-id)/metadata/bulky/(key)

Retrieves all values of a certain key over a specified interval. All values for that key can be retrieved by specifying start as “-INF” and end as “+INF”.

Matrix Parameters:
 
  • start – A time code that defines the start of the interval.
  • end – A time code that defines the end of the interval.
Produces:
Role:

_metadata_read

Example

GET /item/VX-123/metadata/bulky/mykey;start=-INF;end=+INF
<BulkyMetadataDocument id="VX-123" xmlns="http://xml.vidispine.com/schema/vidispine">
   <field start="3" end="5">
      <key>mykey</key>
      <value>This is the value of mykey for the first interval.</value>
   </field>
   <field start="5" end="9">
      <key>mykey</key>
      <value>This is the value of mykey for the second interval.</value>
   </field>
</BulkyMetadataDocument>

Insert values

PUT /item/(item-id)/metadata/bulky/(key)
PUT /item/(item-id)/shape/(shape-id)/metadata/bulky/(key)

Inserts a value at the specified interval for the given key. If the key already has a value at that specific interval then that value will be overwritten.

Matrix Parameters:
 
  • start – A time code that defines the start of the interval.
  • end – A time code that defines the end of the interval.
  • stream – The stream index (optional).
  • channel – The audio channel index (optional).
  • itemTrack – The track in the item (optional).
Accepts:
  • text/plain – The value to set.
Role:

_metadata_write

Example

PUT /item/VX-123/metadata/bulky/mykey;start=3;end=5
Content-Type: text/plain

This is the value of mykey for the first interval.
PUT /item/VX-123/metadata/bulky/mykey;start=5;end=9
Content-Type: text/plain

This is the value of mykey for the second interval.

Remove values

DELETE /item/(item-id)/metadata/bulky/(key)
DELETE /item/(item-id)/shape/(shape-id)/metadata/bulky/(key)

Removes all the values for a certain key over the specified interval.

Matrix Parameters:
 
  • start – A time code that defines the start of the interval.
  • end – A time code that defines the end of the interval.
Role:

_metadata_write