Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

STAM webservice with WebAPI (stamd) #1

Open
proycon opened this issue May 17, 2024 · 3 comments
Open

STAM webservice with WebAPI (stamd) #1

proycon opened this issue May 17, 2024 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@proycon
Copy link
Contributor

proycon commented May 17, 2024

As the tooling around STAM is reaching more maturity, it would be a relatively small step now to develop a higher-level WebAPI that exposes some of the functionality via a webservice. Communication would largely proceed by GET/POST of a STAMQL query.

The webservice (let's call it stamd), would load one or more annotation stores into memory and serve requests. It would be somewhat comparable in function to both TextRepo & AnnoRepo. Do to the nature of the current library, however, the implementation would be strictly memory-bound, which might make it less scalable to huge data collections.

The service would be kept pretty lightweight without features such as user authentication (that can be taken care of in a wrapper).

@proycon proycon added the enhancement New feature or request label May 17, 2024
@proycon proycon self-assigned this May 17, 2024
@proycon
Copy link
Contributor Author

proycon commented Nov 12, 2024

An early version is implemented at https://github.com/annotation/stamd now. All it does for now is load a specified annotation model from disk into memory, and serve it as a webservice so it can be queried with STAMQL via the query/ endpoint.

@proycon
Copy link
Contributor Author

proycon commented Nov 12, 2024

Some further things to implement:

  • JSON errors
  • A multistore that loads/unloads annotation stores as they are used
  • Query API (STAMQL)
  • Mutable queries
  • Directly return HTML visualisations (driven by request content type)
  • Directly return plain text (driven by request content type)
  • Directly return web annotations (driven by request content type) (model after w3c annorepo API?)
  • Auto-generated OpenAPI specification
  • Upload API
  • List API

@proycon proycon transferred this issue from annotation/stam-tools Nov 12, 2024
@proycon
Copy link
Contributor Author

proycon commented Nov 14, 2024

  • Improve requests and responses to be streaming where appropriate
  • Improve web annotation output with automatically set base URIs
  • Implement more of the W3C Web Annotation Protocol, most notably listing annotations in stores (Annotation Containers) using AnnotationPage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

No branches or pull requests

1 participant