With data sources on the Web undergoing a developing trend towards Linked Data, Web APIs, which provide on-the-fly computation of data resources through invocation, need to progress in order to continue playing their roles as Linked Data prosumers when invoked through semantic extensions. Therefore, OmniVoke takes RDF data as input and returns RDF data as response data, thus enabling a seamless integration of Web APIs, as semantic data prosumers, into the linked data space. To carry out concrete invocations, the envisaged scenario is for applications to issue SPARQL queries to derive the data required for invoking a particular Web API. Alternatively appropriate user-interaction interfaces can be provided to allow the user to provide his/her input, which, together with response data, can be collected into shared data space for further manipulations like inspection, re-use etc. In latter case, the user is typically presented with a set of input fields, which need to be completed in order to invoke the service. Semantic annotations or descriptions of the service can be attached here to aid the user. Additional information such as comments can be provided to support the user resolving any potential ambiguities. OmniVoke supports both means of deriving request data.

OmniVoke Architecture