Skip to content

API: Redesign of Query & Retrieval API #136

@ppanopticon

Description

@ppanopticon

Description

The vitrivr-engine query API should be finalized and stabilized. In its current state, it has several shortcomings, that must be addressed in order to prepare it for future use and use-cases.

The goal of this issue is to do exactly that. We plan to do this along the following dimensions:

  • Definition: The existing API definitions, and the objects used to represent them, must be revisited with respect to completeness, expressiveness and ease-of-use.
  • Categorization: Common Operators used in these APIs should be defined and categorized.
  • Implementation: Missing implementation(s) of Operators should be added.

Advantages & Shortcomings

The current API implementation has a singular advantage, which should be maintained: It is quite straightforward and easy to use. However, it comes with several shortcomings:

  • It's more like a minimal working example designed with a particular use-case in mind.
  • It's incomplete in terms of supported Operators.
  • It's code is poorly documented
  • The resulting Open API endpoints are not usable for everyone (e.g., C# @Spiess can maybe elaborate).
  • Implementations are not part of vitrivr-engine-core
  • The API design differs from the ingest API, which, ideally, should be identical.

Notes on Scope

The issues is about the definition and implementations of the API and not the general, operator-based model of data processing. Also the vitrivr-engine data model is out-of-scope for this issue.

Metadata

Metadata

Assignees

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions