You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
NodeNorm ES has never had NodeNorm Redis's TRAPI endpoints (/query and /asyncquery), but its OpenAPI document, src/nodenorm/webapp/openapi.json, still carries everything that went with them. It was copied from NodeNorm Redis, and none of the TRAPI content applies here, so it can all be removed. This issue also covers the other parts of the document that describe endpoints this service doesn't have.
TRAPI-specific content to remove
The info.x-trapi block (version: 1.5.0, operations: [annotate_nodes]). It advertises a TRAPI interface this service doesn't implement. This is the "Doesn't actually support TRAPI 1.5.0" item in Update the OpenAPI information #35.
145 of the 151 schemas in components.schemas. No path references them. Only CurieList, SemanticTypes, SetIDQuery, SetIDResponse, HTTPValidationError and ValidationError are reachable from paths. The rest are TRAPI models (Message, KnowledgeGraph, Analysis, FilterKgraphTopNParameters, the Hashable* wrappers, and so on).
/get_curie_prefixes.info.description tells readers to "check ... /get_curie_prefixes", but it returns 404 here. handlers/curie_prefix.py exists but isn't registered in build_handlers(). It also looks like an unfinished copy of the semantic-types handler: its class is named SemanticTypeHandler, and it returns semantic types rather than prefix counts. Either implement and register the endpoint, or delete the file and remove it from the description.
/version. It's registered and served, but it isn't in the OpenAPI document, and /status already reports the same version. Either document it or remove it.
How to check
TranslatorSRI/babel-validation's test_openapi_json validates each deployment's published document. It currently fails on nodenorm-es.ci and nodenorm-es.test with the max_edges error above, and should pass once the unused schemas are gone.
NodeNorm ES has never had NodeNorm Redis's TRAPI endpoints (
/queryand/asyncquery), but its OpenAPI document,src/nodenorm/webapp/openapi.json, still carries everything that went with them. It was copied from NodeNorm Redis, and none of the TRAPI content applies here, so it can all be removed. This issue also covers the other parts of the document that describe endpoints this service doesn't have.TRAPI-specific content to remove
info.x-trapiblock (version: 1.5.0,operations: [annotate_nodes]). It advertises a TRAPI interface this service doesn't implement. This is the "Doesn't actually support TRAPI 1.5.0" item in Update the OpenAPI information #35.components.schemas. No path references them. OnlyCurieList,SemanticTypes,SetIDQuery,SetIDResponse,HTTPValidationErrorandValidationErrorare reachable frompaths. The rest are TRAPI models (Message,KnowledgeGraph,Analysis,FilterKgraphTopNParameters, theHashable*wrappers, and so on).FilterKgraphTopNParameters.max_edgesdeclaresmaximum: 0.0withdefault: 50(max_edges declares a maximum of 0.0 but defaults to 50, so the OpenAPI document fails validation NCATSTranslator/NodeNormalization#409). Deleting the unused schemas removes that failure without anyone having to fix a model that nothing uses.Other out-of-date parts
/get_curie_prefixes.info.descriptiontells readers to "check ... /get_curie_prefixes", but it returns 404 here.handlers/curie_prefix.pyexists but isn't registered inbuild_handlers(). It also looks like an unfinished copy of the semantic-types handler: its class is namedSemanticTypeHandler, and it returns semantic types rather than prefix counts. Either implement and register the endpoint, or delete the file and remove it from the description./version. It's registered and served, but it isn't in the OpenAPI document, and/statusalready reports the sameversion. Either document it or remove it.How to check
TranslatorSRI/babel-validation's
test_openapi_jsonvalidates each deployment's published document. It currently fails on nodenorm-es.ci and nodenorm-es.test with themax_edgeserror above, and should pass once the unused schemas are gone.