The application consists of two fundamental building blocks:
- A Node.js Express server (backend) produces ranked results with essential information such as labels, descriptions, and subgraph bindings.
- A React app (frontend) provides a user-friendly and responsive web interface.
The application requires a running SPARQL endpoint and the files representing the summary graph generated at the first off-line phase of Fed20. The routes of the backend are very lightweight, containing the OpenAPI documentation. The routes are mapped to corresponding controllers. The latter uses a common set of services. The most prominent services are as follows:
- Query service: Acts as a single entry point for all calls to the Top-k Query generator code (query generation).
- Result service: Used for the generation of the result list and the calculation of the ranking scores.
- Enrichment service: Provides all additional information for IRIs such as labels, descriptions, and image URLs. To avoid regenerating identical data and improve performance, we utilize both standard HTTP cache headers and in-memory caches implemented as Express server middleware.
The search application consists of two components:
- backend: see search-api/README.md
- frontend: see search-client/README.md
This project is licensed under the MIT License.