Skip to content

Latest commit

 

History

History
309 lines (207 loc) · 17.9 KB

File metadata and controls

309 lines (207 loc) · 17.9 KB

Change Log 1.6.0-beta (2025-06-06) -> 2.0.0-beta (2026-04-02)

1. QEdge Constraints Refactor (see migration guide entry, reference doc entry)

  • QEdge.attribute_constraints and QEdge.qualifier_constraintshave been removed and replaced with QEdge.constraints, which is an object that can contain constraints for knowledge_level, agent_type, sources, attributes, and qualifiers
  • The new sources constraint has ALLOW and DENY constructs with an optional primary_only flag

2. Add Query.parameters and Response.parameters to contain existing log_level and bypass_cache parameters and add timeout query parameter (see migration guide entry, reference doc entry)

  • Move Query.log_level to Query.parameters.log_level
  • Move Query.bypass_cache to Query.parameters.bypass_cache
  • Add Query.parameters.timeout
  • Add Response.parameters that conveys the same parameters as Query.parameters
  • Add HTTP 409 code

3. Binding Structure Changes (NodeBinding/EdgeBinding/PathBinding) (see migration guide entry, PR)

  • <node/edge/path>_bindings are now minProperties: 1 (i.e. when these fields are present, they MUST contain data)
  • id properties renamed to ids and is now a list
  • ids arrays are minItems: 1 (this property is required)
  • attributes property completely removed
  • query_id was removed from NodeBinding (obsolete with the current subclassing behavior)
  • Each binding is now an object containing only ids (which is a list), instead of a list of objects each with id and attributes

4. KL/AT turned into top-level Edge properties, now required (see migration guide entry, PR)

  • Edge.knowledge_level and Edge.agent_type are now required Edge properties instead of being located within attributes

5. Add COLLATE option to QNode.set_interpretation enum (see migration guide entry, PR)

6. null is no longer a valid value in queries and responses (see migration guide entry, issue for context)

  • Remove nullable: true/false designations for all properties. Properties with no data must now be absent from TRAPI JSON or an empty array/object if the schema allows, rather than allowed to be present but with a null value. Some field descriptions explicitly state that the empty array/object MUST be used in certain circumstances.

7. Many properties set to <minItems/minProperties>: 1

In the following properties, empty lists are no longer permitted to say "no data here". "No data" is now expressed with an absent property:

8. Removed AuxiliaryGraph.attributes property (reference doc entry)

  • It was previously required, but never used and its empty arrays bloated responses. Additional undefined properties are still allowed in AuxiliaryGraph objects.

9. The following properties changed to not-required

10. Analysis is technically allowed to have both edge and path bindings (experimental use, PR)

11. YAML specification document migrated from OpenAPI 3.0.1 to OpenAPI 3.1.2 (PR)

  • All example attributes become examples in OpenAPI 3.1.2

12. BaseQueryGraph and BaseAnalysis base classes removed in favor of single QueryGraph and Analysis classes that support both pathfinder and regular queries

PR, but look at 2.0 yaml for up-to-date versions of those sub-schemas.

=============

Change Log TRAPI 1.5.0 (2024-05-26) -> 1.6.0-beta (2025-06-06)

  • Diff: https://github.com/NCATSTranslator/ReasonerAPI/compare/1.5...1.6
  • TRAPI 1.6.0-beta was designed to be backwards compatible while adding support for Pathfinder queries. Any valid TRAPI 1.5.0 document is also a valid TRAPI 1.6.0 document.
  • Split QueryGraph into BaseQueryGraph, PathfinderQueryGraph (for Pathfinder support), and QueryGraph (for all other queries). The latter two classes inherit from BaseQueryGraph
  • Split Analysis into BaseAnalysis, PathfinderAnalysis (for Pathfinder support), and Analysis (for all other queries). The latter two classes inherit from BaseAnalysis
  • Add PathfinderQueryGraph.QPath class containing properties subject, object, predicates, and constraints

=============

Change Log TRAPI 1.4.0 (2023-06-23) -> 1.5.0 (2024-05-26)

https://github.com/NCATSTranslator/ReasonerAPI/compare/v1.4.0...1.5

Documentation updates:

Minor updates during the beta phase:

  • Pending

Change Log TRAPI 1.3 (2022-09-01) -> 1.4-beta (2023-03-23)

https://github.com/NCATSTranslator/ReasonerAPI/compare/v1.3.0...1.4

Minor updates during the beta phase:

Change Log TRAPI 1.2 -> 1.3

https://github.com/NCATSTranslator/ReasonerAPI/compare/v1.2.0...1.3

Change Log TRAPI 1.1 -> 1.2

Change Log TRAPI 1.0 -> 1.1

  • Many changes to "info" template at top. Please refresh to the latest template
  • info.version is now your API version not TRAPI version
  • x-trapi now contains the official TRAPI version
  • x-translator now contains mandatory metadata
  • Remove tag "reasoner". Add tag "trapi"
  • /predicates endpoint is marked deprecated
  • New /meta_knowledge_graph endpoint replaces /predicates endpoint. Note that counts are optional as defined in extended schema
  • log_level property in Query specifies desired logging level in Response
  • QNode.id pluralized to ids and changed from CURIE or array of CURIEs to just array of CURIEs with array length > 0
  • QNode.category pluralized to categories and changed from BiolinkEntity or array of BiolinkEntitys to just array of BiolinkEntitys with array length > 0
  • QNode.predicate pluralized to predicates and changed from BiolinkPredicate or array of BiolinkPredicates to just array of BiolinkPredicates with array length > 0
  • Attribute class extended and properties renamed
  • QNode.constraints and QEdge.constraints as array of Constraint added