{"id":13725254,"url":"https://github.com/Covid19-GraphQL/covid-graph-graphql","last_synced_at":"2025-05-07T19:33:33.306Z","repository":{"id":40709184,"uuid":"250098769","full_name":"Covid19-GraphQL/covid-graph-graphql","owner":"Covid19-GraphQL","description":"A Neo4j-GraphQL API for the CovidGraph project","archived":false,"fork":false,"pushed_at":"2022-12-13T18:36:13.000Z","size":8543,"stargazers_count":22,"open_issues_count":39,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-04T01:27:24.168Z","etag":null,"topics":["api","coronavirus","covid-19","grandstack","graphql","graphs4good"],"latest_commit_sha":null,"homepage":"https://covid-graph-graphql.now.sh/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Covid19-GraphQL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-03-25T21:47:42.000Z","updated_at":"2023-03-16T14:54:53.000Z","dependencies_parsed_at":"2023-01-28T14:02:08.081Z","dependency_job_id":null,"html_url":"https://github.com/Covid19-GraphQL/covid-graph-graphql","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Covid19-GraphQL%2Fcovid-graph-graphql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Covid19-GraphQL%2Fcovid-graph-graphql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Covid19-GraphQL%2Fcovid-graph-graphql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Covid19-GraphQL%2Fcovid-graph-graphql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Covid19-GraphQL","download_url":"https://codeload.github.com/Covid19-GraphQL/covid-graph-graphql/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224645283,"owners_count":17346111,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","coronavirus","covid-19","grandstack","graphql","graphs4good"],"created_at":"2024-08-03T01:02:17.223Z","updated_at":"2024-11-14T15:31:01.491Z","avatar_url":"https://github.com/Covid19-GraphQL.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"[![CI status](https://circleci.com/gh/Covid19-GraphQL/covid-graph-graphql.svg?style=shield)](https://circleci.com/gh/Covid19-GraphQL/covid-graph-graphql)\n\nThis project serves to develop and maintain a [Neo4j-GraphQL](https://grandstack.io/docs/neo4j-graphql-js) API for the Neo4j graph database used by the [CovidGraph](https://covidgraph.org/) project. \n\n* [Demo](#demo)\n  * [GraphQL Playground](#graphql-playground)\n  * [GraphQL Voyager](#graphql-voyager)\n* [Getting Started](#getting-started)\n* [Schema](#schema)\n  * [Patents](#patents)\n  * [BioBERT](#biobert-nlp--ner)\n  * [BioMedical](#biomedical)\n  * [Papers](#papers)\n  * [Clinical Trials](#clinical-trials)\n  * [Statistical \u0026 Geographic](#statistical--geographic)\n* [Tests](#tests)\n\n[![Image from covidgraph.org](https://covidgraph.org/img/content-img/Schema_v1.1_no_logo.png)](https://covidgraph.org/ 'Image from covidgraph.org')\n\n## Demo\n### GraphQL Playground\nThe API is currently hosted by Vercel at: https://covid-graph-graphql.now.sh/. For example queries, please see the below [integration tests](#tests).\n\nTry this query 🚀\n```graphql\nquery {\n  Paper(first: 50) {\n    _hash_id\n    cord_uid\n    journal\n    publish_time\n    source\n    title\n    url\n  }\n}\n```\n[![GraphQL Playground](./img/graphql-playground-main.png)](https://covid-graph-graphql.now.sh/ 'GraphQL Playground')\n\n### GraphQL Voyager\n[GraphQL Voyager](https://www.npmjs.com/package/graphql-voyager) is available at: https://covid-graph-graphql.now.sh/voyager\n[![GraphQL Voyager](./img/graphql-voyager-main.png)](https://covid-graph-graphql.now.sh/voyager 'GraphQL Voyager')\n\n## Getting Started\nInstall root dependencies: \n```sh\nnpm install\n```\nand install `/api` dependencies:\n```sh\ncd api\nnpm install\n```\nIn the root directory, you can start the API server with: \n```sh\nrun run start\n```\nTo develop the API server and print Cypher translations to your terminal:\n```sh\ncd api\nnpm run start:dev\n```\n## Schema\nThe below links go to corresponding Neo4j-GraphQL type definitions:\n### Patents\n  * [Patent](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/5f3d1da4fffe6bc6982f52caa73bfb463df72621/api/src/schemas/Patents/typeDefs/Patent.js#L5)\n  * [PatentTitle](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/5f3d1da4fffe6bc6982f52caa73bfb463df72621/api/src/schemas/Patents/typeDefs/Patent.js#L189)\n  * [PatentAbstract](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/5f3d1da4fffe6bc6982f52caa73bfb463df72621/api/src/schemas/Patents/typeDefs/Patent.js#L156)\n  * [PatentDescription](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/5f3d1da4fffe6bc6982f52caa73bfb463df72621/api/src/schemas/Patents/typeDefs/Patent.js#L217)\n  * [PatentClaim](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/5f3d1da4fffe6bc6982f52caa73bfb463df72621/api/src/schemas/Patents/typeDefs/Patent.js#L203)\n  * [PatentNumber](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/5f3d1da4fffe6bc6982f52caa73bfb463df72621/api/src/schemas/Patents/typeDefs/Patent.js#L46)\n  * [Entity](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/5f3d1da4fffe6bc6982f52caa73bfb463df72621/api/src/schemas/Patents/typeDefs/Patent.js#L170)\n\n### BioBERT (NLP + NER)\n  * [Fragment](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/BioBERT/typeDefs/Fragment.js#L23)\n  * [Keyword](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/BioBERT/typeDefs/Keyword.js#L10)\n  * [NamedEntity](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/BioBERT/typeDefs/NamedEntity.js#L9) \n  * [GOTerm](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/BioBERT/typeDefs/GOTerm.js#L11)\n  * [Word](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/BioBERT/typeDefs/Word.js#L6)\n\n### BioMedical\n  * [Gene](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Biomedical/typeDefs/Gene.js#L5)\n    * [GeneSymbol](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Biomedical/typeDefs/GeneSymbol.js#L5)\n    * [GtexTissue](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Biomedical/typeDefs/Gene.js#L84)\n    * [Pathway](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Biomedical/typeDefs/Gene.js#L164)\n    * [Disease](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Biomedical/typeDefs/Disease.js#L5)\n      * [Anatomy](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Biomedical/typeDefs/Disease.js#L41)\n    * [Transcript](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Biomedical/typeDefs/Gene.js#L44)\n      * [Protein](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Biomedical/typeDefs/Protein.js#L5)\n\n### Papers\n  * [Paper](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Papers/typeDefs/Paper.js#L5)\n    * [Author](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Papers/typeDefs/Paper.js#L32)\n      * [Affiliation](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Papers/typeDefs/Paper.js#L44)\n        * [Location](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Papers/typeDefs/Paper.js#L52)\n    * [ReferenceCollection](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Papers/typeDefs/Paper.js#L92)\n      * [BodyText](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Papers/typeDefs/Paper.js#L161)\n      * [Reference](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Papers/typeDefs/Paper.js#L77)\n      * [Abstract](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Papers/typeDefs/Paper.js#L122)\n        * [Citation](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Papers/typeDefs/Paper.js#L145)\n\n### Clinical Trials\n  * [ClinicalTrial](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/ClinicalTrials/typeDefs/ClinicalTrial.js#L5)\n    * [Design](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/ClinicalTrials/typeDefs/ClinicalTrial.js#L162)\n    * [InclusionCriteria](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/ClinicalTrials/typeDefs/ClinicalTrial.js#L206)\n    * [ExclusionCriteria](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/ClinicalTrials/typeDefs/ClinicalTrial.js#L211)\n    * [Status](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/ClinicalTrials/typeDefs/ClinicalTrial.js#L121)\n    * [Description](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/ClinicalTrials/typeDefs/ClinicalTrial.js#L156)\n    * [Contact](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/ClinicalTrials/typeDefs/ClinicalTrial.js#L216)\n    * [Phase](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/ClinicalTrials/typeDefs/ClinicalTrial.js#L98)\n    * [Facility](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/ClinicalTrials/typeDefs/ClinicalTrial.js#L55)\n  * [Compound](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/ClinicalTrials/typeDefs/Compound.js#L5)\n\n### Statistical \u0026 Geographic\n  * [Country](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Cases/typeDefs/Country.js#L5)\n    * [City](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Cases/typeDefs/Country.js#L15)\n    * [Province](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Cases/typeDefs/Country.js#L28)\n      * [DailyReport](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Cases/typeDefs/Country.js#L43)\n    * [AgeGroup](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/076ffb5423a79331a51d8e192016a926bf78f04d/api/src/schemas/Cases/typeDefs/Country.js#L67)\n\n## Tests\nIntegration tests are run using [Ava](https://github.com/avajs/ava). To run the below tests, start the API server and run:\n```sh\nnpm run test\n```\nIf you're in `/api`, you can run: \n```sh\nnpm run integration\n```\n[![Integration tests](./img/integration-tests.png)](./img/integration-tests.png 'Integration tests')\n### Patents\n  * [Patent](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/6d6581ce73909bc7c975bd0490410135f7032fd5/api/src/schemas/Patents/tests/Patent.test.js#L5)\n### BioBERT (NLP + NER)\n  * [NamedEntity path: (NamedEntity)\u003c-[MENTIONS]-(Abstract)-[HAS_FRAGMENT]-\u003e(FromAbstract:Fragment)-[MENTIONS]-\u003e(GeneSymbol)](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/6d6581ce73909bc7c975bd0490410135f7032fd5/api/src/schemas/BioBERT/tests/NamedEntity.test.js#L5)\n\n### BioMedical\n  * [Gene](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/6d6581ce73909bc7c975bd0490410135f7032fd5/api/src/schemas/Biomedical/tests/Gene.test.js#L5)\n    * [GeneSymbol](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/6d6581ce73909bc7c975bd0490410135f7032fd5/api/src/schemas/Biomedical/tests/GeneSymbol.test.js#L5)\n    * [Disease](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/6d6581ce73909bc7c975bd0490410135f7032fd5/api/src/schemas/Biomedical/tests/Disease.test.js#L5)\n    * [Protein](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/6d6581ce73909bc7c975bd0490410135f7032fd5/api/src/schemas/Biomedical/tests/Protein.test.js#L5)\n\n### Papers\n  * [Paper](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/6d6581ce73909bc7c975bd0490410135f7032fd5/api/src/schemas/Papers/tests/Paper.test.js#L5)\n\n### Clinical Trials\n  * [ClinicalTrial](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/6d6581ce73909bc7c975bd0490410135f7032fd5/api/src/schemas/ClinicalTrials/tests/ClinicalTrial.test.js#L5)\n  * [Compound](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/6d6581ce73909bc7c975bd0490410135f7032fd5/api/src/schemas/ClinicalTrials/tests/Compound.test.js#L5)\n\n### Statistical \u0026 Geographic\n  * [Country path: (Country)\u003c-[LOCATED_IN]-(City)\u003c-[LOCATED_IN]-(Facility)](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/6d6581ce73909bc7c975bd0490410135f7032fd5/api/src/schemas/Cases/tests/Country.test.js#L5)\n  * [Country path: (Country)\u003c-[PART_OF]-(Province)-[REPORTED]-\u003e(DailyReport)](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/6d6581ce73909bc7c975bd0490410135f7032fd5/api/src/schemas/Cases/tests/Country.test.js#L133)\n  * [Country to AgeGroups](https://github.com/Covid19-GraphQL/covid-graph-graphql/blob/6d6581ce73909bc7c975bd0490410135f7032fd5/api/src/schemas/Cases/tests/Country.test.js#L911)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCovid19-GraphQL%2Fcovid-graph-graphql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCovid19-GraphQL%2Fcovid-graph-graphql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCovid19-GraphQL%2Fcovid-graph-graphql/lists"}