-
Notifications
You must be signed in to change notification settings - Fork 50
Objects Glossary
Both REST & WebSocket API uses various JSON Objects for query & results. This page lists all shared objects model and their field descriptions for reference. A link to the object description on this page will be available in the whole API Docs wherever that particular object is being used.
credentials of an added user in cineast
Credentials : Object
{
"username": String,
"password": String
}
-
username
is the username of the added user in cineast. -
password
is the corresponding password of the added user in cineast.
A message containing the items to be extracted.
ExtractionContainerMessage : Object { "items": Array<ExtractionItemContainer> }
-
items
is a list ofExtractionItemContainers
containing details about objects to be extracted.
An ExtractionItemContainer
contains all the information for ONE item which is supposed to be extracted. A container MUST contain a path linking to the item to be extracted. The corresponding object MUST contain the mediaType so an item can be handed out to different extraction handlers.
ExtractionItemContainer : Object { "object": MultimediaObjectDescriptor, "metadata": Array<MultimediaMetadataDescriptor> }
-
object
contains details about the item to be extracted. -
metadata
to be associated with the object.
hints used in QueryConfig
for tuning the query.
Hints : Enum {
exact, inexact, lsh, ecp, mi, pq, sh, va, vaf, vav, sequential, empirical
}
-
config
attribute inSimilarityQuery
,queryId
&hints
inQueryConfig
are optional and can be omitted.
Contains a list of ids that can be used as a payload in request.
IdList : Object
{
"ids": Array<String>
}
-
ids
is an array of String which represents an id.
An Enum, the value of which tells the type of media an object is
MediaType : Enum
{
VIDEO, IMAGE, AUDIO, MODEL3D, UNKNOWN
}
This object represents a MetadataLookup message, i.e. a request for a metadata lookup.
MetadataLookup : Object { "objectids": Array<String>, "domains": Array<String>, "messageType": "M_LOOKUP" }
-
objectids
is a list of object IDs for which metadata should be looked up. -
domains
is a list of metadata domains that should be considered. If empty, all domains are considered! -
messageType
is alwaysM_LOOKUP
.
This object contains list of MultimediaMetadataDescriptors
& is received as a part of MetadataLookup
results.
MetadataQueryResult : Object { "content": Array<MultimediaMetadataDescriptors>, "queryId": String, "messageType": "QR_METADATA" }
-
content
will be a list ofMultimediaMetadataDescriptors
. -
queryId
will be same as what was in the request if specified or else will be randomly generated. -
messageType
is alwaysQR_METADATA
.
This object represents a MoreLikeThisQuery message, i.e. a request for search more like the provided segment.
MoreLikeThisQuery : Object { "segmentId": String, "categories": Array, "config": QueryConfig, "messageType": "Q_MLT" }
-
segmentId
is the id of the segment for which more-like-this query is to be performed. -
categories
is the list of named feature categories that should be considered when doing More-Like-This. -
config
attribute is optional and can be supplied for additional query configurations. -
messageType
is alwaysQ_MLT
.
Contains metadata about the object.
MultimediaMetadataDescriptor : Object
{
"objectId": String,
"domain": String,
"key": String,
"value": String
}
-
objectId
is the id of the object this metadata belongs to. -
domain
tells the metadata domain (e.g. EXIF, IPTC, DC...). -
key
is the key of the metadata. -
value
is the value corresponding to thekey
.
Contains details about a particular multimedia object.
MultimediaObjectDescriptor : Object { "objectId": String, "name": String, "path": String, "mediatype": MediaType, "contentURL": String }
-
objectId
uniquely identifies a givenMultimediaObjectDescriptor
object. -
name
is the name of the multimedia object. -
path
is the path of a multimedia object known to Cineast. -
mediaType
is the type of multimedia the object is. -
contentURL
is the absolute path of the multimedia object.
This object represents a NeighboringSegmentQuery message, i.e. a request for a neighbor-search.
NeighboringSegmentQuery : Object { "segmentId": String, "count": Int, "config": QueryConfig, "messageType": "Q_NESEG" }
-
segmentId
is the id of the segment for which neighbors should be retrieved. -
count
is the Number of neighbors that should be retrieved. -
config
attribute is optional and can be supplied for additional query configurations. -
messageType
is always<a href="Message-Type-Glossary#q_neseg">Q_NESEG</a>
.
This object contains a list of MultimediaObjectDescriptors
& is received as a part of query results.
ObjectQueryResult : Object { "content": Array<MultimediaObjectDescriptor>, "contentType": String, "queryId": String, "messageType": "QR_OBJECT" }
-
content
will be a list ofMultimediaObjectDescriptors
. -
contentType
will beorg.vitrivr.cineast.core.data.entities.MediaObjectDescriptor
. -
queryId
will be same as what was in the request if specified or else will be randomly generated. -
messageType
will always beQR_OBJECT
.
An object to be sent to ping the server
PingRequest : Object { "messageType": "PING" }
-
messageType
is alwaysPING
to specify it's a ping request.
An object received contains the ping status of the server.
PingResponse : Object { "status": PingStatus, "messageType": "PING" }
-
status
tells the ping result of the server. -
messageType
is alwaysPING
.
An enum that specifies all the ping status of the server.
PingStatus : Enum
{
UNKNOWN, OK, ERROR
}
It represents a query container with multiple QueryComponent
.
QueryComponent : Object { "stages": Array<QueryComponent> }
-
stages
is a list ofQueryComponents
.
It represents a query container with multiple QueryTerms
.
QueryComponent : Object { "terms": Array<QueryTerm> }
-
terms
is a list ofQueryTerms
.
A configuration object which is used to tune query.
QueryConfig : Object { "queryId": String "hints": Array<Hints> }
-
queryId
will be same as what was in the request if specified or else will be randomly generated. -
hints
is a list ofHints
supplied to tune query.
This object is received at the end of query results when using WebSockets.
QueryEnd : Object { "queryId": String, "messageType": "QR_END" }
-
queryId
will be the same as what was in the request if specified or else will be randomly generated. -
messageType
will always beQR_END
.
This object is received if an error occurs during retrieval.
QueryError : Object { "queryId": String, "message": String, "messageType": "QR_ERROR" }
-
queryId
will be the same as what was in the request if specified or else will be randomly generated. -
message
is the error message. -
messageType
is alwaysQR_ERROR
.
It represents a particular query term in a QueryComponent
.
QueryTerm : Object { "type": QueryTermType, "data": String, "categories": Array<String> }
- type is a
QueryTermType
which tells the type of query term. - QueryTerm Object
data
format:
QueryTermType |
data |
---|---|
IMAGE |
|
AUDIO |
|
MOTION |
MotionDataModel : Object
|
MODEL3D |
|
LOCATION |
LocationDataModel : Object |
TIME |
|
TEXT |
|
TAG |
TagModel : Object
|
- QueryTerm Object
categories
:
The categories are the collection of features to search for. They can be found here. All the nodes in features
block in retriever
block are categories with subnodes being the features belonging to that particular category.
An Enum tells the type of query term.
QueryTermType : Enum
{
IMAGE, AUDIO, MOTION, MODEL3D, LOCATION, TIME, TEXT, TAG
}
This object is received at the start of query results when using WebSockets.
QueryStart : Object { "queryId": String, "messageType": "QR_START" }
-
queryId
will be the same as what was in the request if specified or else will be randomly generated. -
messageType
will always beQR_START
.
Contains details about a particular multimedia object's segment.
SegmentDescriptor : Object
{
"segmentId": String,
"objectId": String,
"start": Int,
"end": Int,
"startabs": Float,
"endabs": Float,
"sequenceNumber": Int,
"count": Int
}
-
segmentId
uniquely identifies a givenSegmentDescriptor
object. -
objectId
is the id of the segment's object. -
start
tells the start frame of this segment if applicable else is 0. -
end
tells the end frame of this segment if applicable else is 0. -
startabs
tells the absolute starting time (in s) of this segment if applicable else is 0. -
endabs
tells the absolute ending time (in s) of this segment if applicable else is 0. -
sequenceNumber
is the segment's sequence number. All segments of an object have incremental sequence number starting from 1. -
count
is the total number of frames in this segment.
This object contains a list of SegmentDescriptors
& is received as a part of query results.
SegmentQueryResult : Object { "content": Array<SegmentDescriptor>, "contentType": String, "queryId": String, "messageType": "QR_SEGMENT" }
-
content
will be a list ofSegmentDescriptors
. -
contentType
will beorg.vitrivr.cineast.core.data.entities.MediaSegmentDescriptor
-
queryId
will be same as what was in the request if specified or else will be randomly generated. -
messageType
will always beQR_SEGMENT
.
It contains a segment's matched value for a query.
SegmentWeight : Object
{
"key": String,
"value": Float
}
-
key
is the segment id for which this object contains matched value. -
value
is the matched value for the query.
Contains the state of a session
SessionState : Object { "id": String, "validUntil": Long, "type": SessionType }
-
id
is the session id. -
validUntil
tells till when the session is valid. -
type
tells the type of session.
An enum that tells the type of the session.
SessionType : Enum
{
UNAUTHENTICATED, USER, ADMIN
}
This object represents a temporal-query message, i.e. a request for temporal chaining of similarity-searches.
TemporalQuery : Object { "queries": Array<TemporalQueryComponent>, "config": QueryConfig, "messageType": "Q_SIM" }
-
queries
is a list ofTemporalQueryComponents
. -
config
attribute is optional and can be supplied for additional query configurations.
This object represents a similarity-query message, i.e. a request for a similarity-search.
SimilarityQuery : Object { "containers": Array<QueryComponent>, "config": QueryConfig, "messageType": "Q_SIM" }
-
containers
is a list ofQueryComponents
. -
config
attribute is optional and can be supplied for additional query configurations.
This object contains a list of SegmentWeights
& is received as a part of query results.
SimilarityQueryResult : Object { "content": Array<SegmentWeight>, "contentType": String, "queryId": String, "category": String, "containerId" Int, "messageType": "QR_SIMILARITY" }
-
content
will be a list ofSegmentWeight
. -
contentType
will beorg.vitrivr.cineast.core.data.StringDoublePair
. -
queryId
will be the same as what was in the request if specified or else will be randomly generated. -
category
is the category for which this query result is. -
containerId
is 0 if it is a simple similarity query or any integer of 0 and above when it is part of aTemporalQuery
. -
messageType
will always beQR_SIMILARITY
.
Contains similarity query results.
SimilarityResult : Object { "categories": Array<String>, "results": Array<SimilarityQueryResult> }
-
categories
will contain all the categories queried. -
results
is a list ofSimilarityQueryResults
containing results of similarity query.
Message to be sent when starting a session.
StartSessionMessage : Object { "credentials": Credentials }
-
credentials
are the credentials of an added user in cineast.
A tag associated with an object.
Tag : Object
{
"id": String,
"name": String,
"description": String
}
-
id
is the id of the object this tag belongs to. -
name
: name of the tag. -
description
: description of the tag.
- Home
- Setup
- Environment Setup
- Getting Started
- Optional: Retrieval Setup Guide
- Research: Working with Existing Data
- Working with Multimedia Data
- Advanced
- API Documentation
- CLI