A computer-implemented method for an object and activity
query language wherein an object is a
data type representing a thing or a being with a visual shape in an image or video frame and said activity is a
data type representing an action or an event visually shown in an image or video or video frame, the method comprising the steps of storing a plurality of items in a
raw data storage, said items comprising images and / or videos,
processing said items in a processor and to generate and / or segment annotated information from said items and to extract object, activity and / or
metadata information from said items in said first data storage, storing said annotated information in a secondary data storage, storing said extracted object, activity, and / or
metadata information and said annotated information in a primary data storage, executing on a processor an identify function, wherein given a query item said identify function identifies said query item and / or finds a
list of items similar to said first item; and a said query item comprises a video, a video frame, an image, a set of images, a template extracted from a video or image or images, an object, an activity, or annotated information, and displaying results of said identify function.