xsearchkg
Source code for XSearchKG, a full-stack web application for explainable keyword search over knowledge graphs
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.5%) to scientific vocabulary
Keywords
Repository
Source code for XSearchKG, a full-stack web application for explainable keyword search over knowledge graphs
Basic Info
Statistics
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 11
- Releases: 1
Topics
Metadata Files
README.md
XSearchKG: A Platform for Explainable Keyword Search over Knowledge Graphs
:video_camera: Demo Video
System Architecture

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.
Run
The search application consists of two components: * backend: see search-api/README.md * frontend: see search-client/README.md
License
This project is licensed under the MIT License.
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "SoftwareSourceCode",
"license": "https://spdx.org/licenses/MIT",
"codeRepository": "https://github.com/fusion-jena/XSearchKG",
"dateCreated": "2023-10-06",
"datePublished": "2023-10-06",
"dateModified": "2023-10-06",
"downloadUrl": "",
"issueTracker": "https://github.com/fusion-jena/XSearchKG/issues",
"name": "XSearchKG",
"version": "1.0.0",
"identifier": "",
"description": "Source code for XSearchKG, a full-stack web application for explainable keyword search over knowledge graphs",
"referencePublication": "",
"funder": {},
"keywords": [
"Explainability",
"Keyword Search",
"Knowledge Graph"
],
"programmingLanguage": [
"JavaScript"
],
"runtimePlatform": [
"nodejs"
],
"softwareRequirements": [
"node version >= v14.16.1"
],
"relatedLink": [
"https://doi.org/10.5281/zenodo.8414093"
],
"author": [
{
"@type": "Person",
"@id": "https://orcid.org/0009−0008−2589−6532",
"givenName": "Martin",
"familyName": "Birke",
"email": "Martin.Birke@uni-jena.de",
"affiliation": {
"@type": "Organization",
"name": "Heinz Nixdorf Chair for Distributed Information Systems, Friedrich Schiller University Jena, Jena, Germany"
}
},
{
"@type": "Person",
"@id": "https://orcid.org/0000-0001-8896-8208",
"givenName": "Leila",
"familyName": "Feddoul",
"email": "Leila.Feddoul@uni-jena.de",
"affiliation": {
"@type": "Organization",
"name": "Heinz Nixdorf Chair for Distributed Information Systems, Friedrich Schiller University Jena, Jena, Germany"
}
}
]
}
GitHub Events
Total
- Watch event: 1
- Delete event: 1
- Issue comment event: 1
- Pull request event: 3
- Create event: 2
Last Year
- Watch event: 1
- Delete event: 1
- Issue comment event: 1
- Pull request event: 3
- Create event: 2