Skip to content

Commit 5fcaf54

Browse files
committed
Add TRAPI query validation back in
1 parent 3edbc6d commit 5fcaf54

2 files changed

Lines changed: 28 additions & 5 deletions

File tree

cohd/cohd_trapi_15.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from .cohd_utilities import omop_concept_curie
1212
from .cohd_trapi import *
1313
from .biolink_mapper import *
14-
from .trapi.reasoner_validator_ext import validate_trapi_14x as validate_trapi
14+
from .trapi.reasoner_validator_ext import validate_trapi_15x as validate_trapi
1515
from .translator import bm_toolkit, bm_version
1616
from .translator.ubergraph import Ubergraph
1717

@@ -41,7 +41,7 @@ class CohdTrapi150(CohdTrapi):
4141
edge_types_negative = ['biolink:negatively_correlated_with']
4242
default_negative_predicate = edge_types_negative[0]
4343

44-
tool_version = f'{CohdTrapi._SERVICE_NAME} 6.4.3'
44+
tool_version = f'{CohdTrapi._SERVICE_NAME} 6.5.0'
4545
schema_version = '1.5.0'
4646
biolink_version = bm_version
4747

@@ -126,9 +126,8 @@ def _check_query_input(self):
126126
return self._valid_query, self._invalid_query_response
127127

128128
# Use TRAPI Reasoner Validator to validate the query
129-
try:
130-
# For now, bypass the TRAPI validation because reasoner_validator doesn't work with TRAPI 1.5
131-
# validate_trapi(self._json_data, "Query")
129+
try:
130+
validate_trapi(self._json_data, "Query")
132131
self.log('Query passed reasoner validator')
133132
except ValidationError as err:
134133
self._valid_query = False

cohd/trapi/reasoner_validator_ext.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,30 @@ def validate_trapi_14x(instance, component):
134134
return validator.validate(instance, component)
135135

136136

137+
def validate_trapi_15x(instance, component):
138+
"""Validate instance against TRAPI 1.5 schema.
139+
140+
Parameters
141+
----------
142+
instance
143+
instance to validate
144+
component : str
145+
component to validate against
146+
147+
Raises
148+
------
149+
`ValidationError <https://python-jsonschema.readthedocs.io/en/latest/errors/#jsonschema.exceptions.ValidationError>`_
150+
If the instance is invalid.
151+
152+
Examples
153+
--------
154+
>>> validate({"message": {}}, "Query")
155+
"""
156+
# Validate against official TRAPI 1.4 release
157+
validator = TRAPISchemaValidator(trapi_version='1.5.0')
158+
return validator.validate(instance, component)
159+
160+
137161
def validate_trapi_response(trapi_version, bl_version, response):
138162
""" Uses the reasoner_validator's more advanced TRAPIResponseValidator to perform thorough validation
139163

0 commit comments

Comments
 (0)