web-backend
Science Score: 57.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.8%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: issa-project
- License: apache-2.0
- Language: JavaScript
- Default Branch: master
- Size: 7.75 MB
Statistics
- Stars: 0
- Watchers: 3
- Forks: 2
- Open Issues: 0
- Releases: 3
Metadata Files
README.md
ISSA Web Application Backend Services
The ISSA project focuses on the semantic indexing of scientific publications in an open archive.
This repository is the backend part of a web application that demonstrates the interest and use of such a semantic index for researchers and librarians. It provides a set of Web APIs (services) used by the frontend application available in the visualization repository.
Services
The services exposed by the server are defined in routes/index.js.
With the exception of service autoComplete, the services submit SPARQL SELECT queries to the ISSA SPARQL endpoint (property SEMANTICINDEXSPARQL_ENDPOINT in .env)
using the d3-sparql library.
The response of the services is the output of the d3-sparql library itself, that only returns the "results.bindings" part
of the SPARQL response in JSON format, following this format:
json
{
"result": [
{
"var1": "value1",
"var2": "value2",
...
},
...
]}
Therefore, the SELECT clause of the SPARQL queries are the de facto documentation of the services since they give the names of the variables (var1 and var2 in the example above).
Standalone deployment
Pre-requisite: node.js 17, yarn.
Install the dependencies with yarn install.
Run the application: yarn start
By default, the node.js server listens on port 3000. This can be changed in file .env.
Make sure the server is properly started by pointing your browser to: ``` http://localhost:3000/getArticleMetadata?uri=http://data-issa.cirad.fr/document/592919 http://localhost:3000/getArticleAuthors/?uri=http://data-issa.cirad.fr/document/592919 http://localhost:3000/getAbstractNamedEntities/?uri=http://data-issa.cirad.fr/document/592919 http://localhost:3000/getGeographicNamedEntities/?uri=http://data-issa.cirad.fr/document/592919
http://localhost:3000/autoComplete/?input=forestry http://localhost:3000/autoComplete/?input=forestry&entityType=All http://localhost:3000/autoComplete/?input=forestry&entityType=Agrovoc http://localhost:3000/autoComplete/?input=forestry&entityType=Agrovoc,Wikidata
http://localhost:3000/searchDocumentByConcept/?uri=http://www.wikidata.org/entity/Q234173,http://aims.fao.org/aos/agrovoc/c423ff1cb http://localhost:3000/searchDocumentBySubConcept/?uri=http://www.wikidata.org/entity/Q234173,http://aims.fao.org/aos/agrovoc/c423ff1cb http://localhost:3000/searchDocumentByRelatedConcept/?uri=http://aims.fao.org/aos/agrovoc/c_423ff1cb ```
Docker deployment
The repository comes with a Dockerfile and a docker-compose file. After cloning, build the application with this command:
docker-compose build
Then start the services with:
docker-compose up -d
Logging
Log traces are printed out in file log/application.log.
This can be changed by customizing file config/log4js.json. Refer to the Log4JS documentation.
License
See the LICENSE file.
Cite this work
Franck MICHEL, Youssef MEKOUAR, ISSA Project (2023). ISSA Web Application Backend Services. https://github.com/issa-project/web-backend/.
Publications
ISSA: Generic Pipeline, Knowledge Model and Visualization tools to Help Scientists Search and Make Sense of a Scientific Archive. Anne Toulet, Franck Michel, Anna Bobasheva, Aline Menin, Sébastien Dupré, Marie-Claude Deboin, Marco Winckler, Andon Tchechmedjiev. 21st International Semantic Web Conference (ISWC), Oct 2022, Hangzhou, China. DOI: ⟨10.1007/978-3-031-19433-7_38⟩. HAL
Owner
- Name: ISSA Project
- Login: issa-project
- Kind: organization
- Repositories: 2
- Profile: https://github.com/issa-project
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: ISSA Web Application Backend Services
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Franck
family-names: Michel
email: franck.michel@inria.fr
affiliation: 'University Côte d''Azur, CNRS, Inria'
orcid: 'https://orcid.org/0000-0001-9064-0463'
- given-names: Youssef
family-names: Mekouar
affiliation: University Côte d'Azur
repository-code: 'https://github.com/issa-project/web-visualization'
abstract: >-
The ISSA project (https://issa.cirad.fr/) focuses on the
semantic indexing of scientific publications in an open
archive. This project is the backend part of a web application
that demonstrates the interest and use of such a semantic index
for researchers and librarians. It provides a set of Web APIs (services)
used by the frontend application.
keywords:
- information retrieval
- semantic search
- scientific literature
- SPARQL
- node
license: Apache-2.0
version: '1.1'
date-released: '2023-10-04'
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "SoftwareSourceCode",
"license": "https://spdx.org/licenses/Apache-2.0",
"codeRepository": "https://github.com/issa-project/web-backend",
"datePublished": "2022-05-01",
"dateModified": "2023-10-04",
"issueTracker": "https://github.com/issa-project/web-backend/issues",
"name": "ISSA Web Application Backend Services",
"version": "1.1",
"description": "The ISSA project (https://issa.cirad.fr/) focuses on the semantic indexing of scientific publications in an open archive. This project is the backend part of a web application that demonstrates the interest and use of such a semantic index for researchers and librarians. It provides a set of Web APIs (services) used by the frontend application.",
"funding": "ISSA project",
"developmentStatus": "active",
"referencePublication": "https://hal.science/hal-03807744",
"isPartOf": "https://issa.cirad.fr/",
"funder": {
"@type": "Organization",
"name": "ISSA, research infrastructure CollEx-Perse"
},
"keywords": [
"web API",
"SPARQL",
"information retrieval",
"semantic search",
"scientific literature",
"node"
],
"programmingLanguage": [
"Javascript"
],
"runtimePlatform": [
"node.js"
],
"softwareRequirements": [
"node.js 17+",
"yarn",
"https://github.com/issa-project/web-backend/blob/master/package.json"
],
"author": [
{
"@type": "Person",
"@id": "https://orcid.org/0000-0001-9064-0463",
"givenName": "Franck",
"familyName": "Michel",
"email": "franck.michel@inria.fr",
"affiliation": {
"@type": "Organization",
"name": "University Cte d'Azur, CNRS, Inria"
}
},
{
"@type": "Person",
"givenName": "Youssef",
"familyName": "Mekouar",
"affiliation": {
"@type": "Organization",
"name": "University Cte d'Azur"
}
}
]
}
GitHub Events
Total
Last Year
Dependencies
- node 17 build
- eslint ^7.32.0 development
- eslint-plugin-react ^7.24.0 development
- cookie-parser ~1.4.4
- d3-sparql ^2.0.0
- debug ~2.6.9
- dotenv ^10.0.0
- express ~4.16.1
- http-errors ~1.6.3
- isomorphic-fetch ^3.0.0
- log4js >=6.4.0
- pug ^3.0.2