throughput_api

An express/nodejs API application and skeleton.

https://github.com/throughput-ec/throughput_api

Science Score: 54.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
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.8%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

An express/nodejs API application and skeleton.

Basic Info
  • Host: GitHub
  • Owner: throughput-ec
  • Language: JavaScript
  • Default Branch: production
  • Size: 3.78 MB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 1
  • Open Issues: 11
  • Releases: 1
Created about 7 years ago · Last pushed about 2 years ago
Metadata Files
Readme Citation

README.md

lifecycle NSF-1928366 DOI

Annotation Engine neo4j API

This application is designed to allow users to generate simple annotations of material using web-based resources based on the API protocols defined in the W3C standards.

Annotations are generated as conformant to W3C annotation standards, and implemented using Neo4J.

Contributions

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Application Setup

This application is developed using Express/Node.js to interact with a neo4j database.

Installing neo4j

Instructions for installing neo4j on a Linux system can be found on the neo4j documentation. This documentation is written assuming the installation of the Neo4j Community Version.

The installation of neo4j results in the installation of a number of files that need to be modified throughout the use of Neo4j. Those files are listed in Neo4j's configuration documentation.

Once neo4j is installed you can type:

service neo4j start

And navigate a browser to localhost:7474.

Installing nodejs and Express

If you are starting from this repository: Ensure that you have npm installed locally. then clone (or fork/clone) the repository to a local directory and run the command.

npm install

This will ensure all the appropriate packages are downloaded and installed for the project.

Running the Application

Once neo4j and the node/express setup is complete the application can be run using nodemon.

Endpoints

All endpoints come from http://throughputdb.com/api/ and then:

Research Databases:

  • http://throughputdb.com/api/ccdr with query parameters:

    • keyword: Search research data resources (databases and catalogs) by defined keyword
    • search: Fulltext search for a research data resource by name and description.
    • limit: [30] Maximum number of records to return.
    • offset: [30] Maximum number of records to return.

Examples:

Linked Code repositories

Code repositories linked to research databases:

  • http://throughputdb.com/api/ccdr/linked with query parameters:

  • id: Unique database identifiers (provided by ccdr)

  • limit: [30] Maximum number of records to return.

  • offset: [30] Maximum number of records to return.

Examples:

Keyword Searches

  • http://throughputdb.com/api/keywords

    • keyword: A comma separated string of keywords: climate,weather,botany
    • limit: [30] Maximum number of records to return.
    • offset: [30] Maximum number of records to return.

Summary Endpoints

  • http://throughputdb.com/api/summary/types Returns the count of each object type in the database.

Owner

  • Name: Throughput Database
  • Login: throughput-ec
  • Kind: organization
  • Location: A Multi-Institution Project

A repository for the NSF Funded Throughput Project, part of the EarthCube Program (http://earthcube.org)

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: "Goring"
    given-names: "Simon James"
    orcid: https://orcid.org/0000-0002-2700-4605
title: "Throughput Annotation Database API v1.0.0"
version: 1.0.0
doi: 10.5281/zenodo.7908787
date-released: 2023-05-08
url: "https://github.com/throughput-ec/throughput_api"

GitHub Events

Total
Last Year

Dependencies

package-lock.json npm
  • 1115 dependencies
package.json npm
  • babel-cli ^6.26.0 development
  • babel-preset-env ^1.7.0 development
  • eslint ^7.32.0 development
  • jest ^26.6.3 development
  • mocha ^6.2.3 development
  • superagent ^6.1.0 development
  • supertest ^6.1.6 development
  • apicache ^1.6.2
  • apoc ^2.1.6
  • body-parser ^1.19.0
  • chai ^4.3.4
  • chakram ^1.5.0
  • citation-js ^0.5.1
  • cookie-parser ^1.4.5
  • cors ^2.8.5
  • debug ^4.3.2
  • dotenv ^10.0.0
  • express ^4.17.1
  • express-openapi-validator ^3.17.2
  • express-subdomain ^1.0.5
  • fs 0.0.1-security
  • jsonwebtoken ^8.5.1
  • mochawesome ^6.2.2
  • morgan ^1.10.0
  • neo4j-driver ^4.3.3
  • node-fetch ^2.6.5
  • nodemon ^2.0.13
  • oatts ^1.6.0
  • octokit ^1.6.1
  • pug ^3.0.2
  • qs ^6.10.1
  • serve-favicon ^2.5.0
  • static-favicon ^2.0.0-alpha
  • swagger-ui-express ^4.1.6
  • yamljs ^0.3.0