@docmaps/api-server v0.1.0
Runtime - the core server
This package contains all the code necessary to run the API server on your own, including superficial options for storage.
The package/server is structured like this:
Layer | Notes |
---|---|
NodeJS Client | Generated from ts-rest . See src/client.ts . May be extracted to a separate package in this repository. |
HTTP webserver | using express.js, fulfills contract described in the RFC for this server |
Node API Instance | fulfills contract spec of the RFC in nodejs library. src/api.ts |
Adapter layer | Separates the dataset adapter from the API instance for example, isolates auth from data src/adapter/ |
SPARQL processor/adapter | converts Docmaps semantics to SPARQL and uses docmaps-sdk to make objects from triples |
SPARQL triplestore | Anything that supports SPARQL is allowed, we supply easy access to oxigraph |
Development and Testing
See the readme in repository root for general info about this monorepo.
Dependencies for local development include:
pnpm
docker # with docker-compose
curl
To begin with this package, in this directory run:
pnpm install
pnpm test:unit
pnpm test:integration
If you have never done this before, the tests may timeout due to invoking a docker pull
for the oxigraph
image, which
is used for a local triplestore to use during integration tests.
Misc
See CONTRIBUTING.md for guidelines (see repository root).
Licensed according to the Knowledge Futures, Inc standard license (see repository root).
Special thanks to all OSS teams and contributors who helped with this project or its dependencies, especially but in no way limited to express,ts-rest,oxigraph