{"took":8,"total":125,"max_score":6.992629,"hits":[{"components":{"schemas":{"Analysis":{"additionalProperties":true,"description":"An analysis is a dictionary that contains information about the result tied to a particular service. Each Analysis is generated by a single reasoning service, and describes the outputs of analyses performed by the reasoner on a particular Result (e.g. a result score), along with provenance information supporting the analysis (e.g. method or data that supported generation of the score).","properties":{"attributes":{"description":"The attributes of this particular Analysis.","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"edge_bindings":{"additionalProperties":{"items":{"$ref":"#/components/schemas/EdgeBinding"},"type":"array"},"description":"The dictionary of input Query Graph to Knowledge Graph edge bindings where the dictionary keys are the key identifiers of the Query Graph edges and the associated values of those keys are instances of EdgeBinding schema type (see below). This value is an array of EdgeBindings since a given query edge may resolve to multiple Knowledge Graph Edges.","type":"object"},"resource_id":{"$ref":"#/components/schemas/CURIE","description":"The id of the resource generating this Analysis"},"score":{"description":"A numerical score associated with this result indicating the relevance or confidence of this result relative to others in the returned set. Higher MUST be better.","example":163.233,"format":"float","nullable":true,"type":"number"},"scoring_method":{"description":"An identifier and link to an explanation for the method used to generate the score","nullable":true,"type":"string"},"support_graphs":{"description":"This is a list of references to Auxiliary Graph instances that supported the analysis of a Result as performed by the reasoning service. Each item in the list is the key of a single Auxiliary Graph.","items":{"type":"string"},"nullable":true,"type":"array"}},"required":["resource_id","edge_bindings"],"type":"object"},"AsyncQuery":{"additionalProperties":true,"description":"The AsyncQuery class is effectively the same as the Query class but it requires a callback property.","properties":{"bypass_cache":{"default":false,"description":"Set to true in order to request that the agent obtain fresh information from its sources in all cases where it has a viable choice between requesting fresh information in real time and using cached information. The agent receiving this flag MUST also include it in TRAPI sent to downstream sources (e.g., ARS -> ARAs -> KPs).","type":"boolean"},"callback":{"description":"Upon completion, this server will send a POST request to the callback URL with `Content-Type: application/json` header and request body containing a JSON-encoded `Response` object. The server MAY POST `Response` objects before work is fully complete to provide interim results with a Response.status value of 'Running'. If a POST operation to the callback URL does not succeed, the server SHOULD retry the POST at least once.","format":"uri","nullable":false,"pattern":"^https?://","type":"string"},"log_level":{"description":"The least critical level of logs to return","nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"submitter":{"description":"Any string for self-identifying the submitter of a query. The purpose of this optional field is to aid in the tracking of the source of queries for development and issue resolution.","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps to be executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["callback","message"],"type":"object","x-body-name":"request_body"},"AsyncQueryResponse":{"additionalProperties":true,"description":"The AsyncQueryResponse object contains a payload that must be returned from a submitted async_query.","properties":{"description":{"description":"A brief human-readable description of the result of the async_query submission.","example":"Async_query has been queued","nullable":true,"type":"string"},"job_id":{"description":"An identifier for the submitted job that can be used with /async_query_status to receive an update on the status of the job.","nullable":false,"type":"string"},"status":{"description":"One of a standardized set of short codes: e.g. Accepted, QueryNotTraversable, KPsNotAvailable","example":"Accepted","nullable":true,"type":"string"}},"required":["job_id"],"type":"object"},"AsyncQueryStatusResponse":{"additionalProperties":true,"description":"The AsyncQueryStatusResponse object contains a payload that describes the current status of a previously submitted async_query.","properties":{"description":{"description":"A brief human-readable description of the current state or summary of the problem if the status is Failed.","example":"Callback URL returned 500","nullable":false,"type":"string"},"logs":{"description":"A list of LogEntry items, containing errors, warnings, debugging information, etc. List items MUST be in chronological order with earliest first. The most recent entry should be last. Its timestamp will be compared against the current time to see if there is still activity.","items":{"$ref":"#/components/schemas/LogEntry"},"minItems":1,"nullable":false,"type":"array"},"response_url":{"description":"Optional URL that can be queried to restrieve the full TRAPI Response.","example":"https://arax.ncats.io/api/arax/v1.3/response/116481","nullable":true,"type":"string"},"status":{"description":"One of a standardized set of short codes: Queued, Running, Completed, Failed","example":"Running","nullable":false,"type":"string"}},"required":["status","description","logs"],"type":"object"},"Attribute":{"additionalProperties":false,"description":"Generic attribute for a node or an edge that expands the key-value pair concept by including fields for additional metadata. These fields can be used to describe the source of the statement made in a key-value pair of the attribute object, or describe the attribute's value itself including its semantic type, or a url providing additional information about it. An attribute may be further qualified with sub-attributes (for example to provide confidence intervals on a value).","properties":{"attribute_source":{"description":"The source of the core assertion made by the key-value pair of an attribute object. Use a CURIE or namespace designator for this resource where possible.","example":"UniProtKB","nullable":true,"type":"string"},"attribute_type_id":{"$ref":"#/components/schemas/CURIE","description":"The 'key' of the attribute object, holding a CURIE of an ontology property defining the attribute (preferably the CURIE of a Biolink association slot). This property captures the relationship asserted to hold between the value of the attribute, and the node or edge from  which it hangs. For example, that a value of '0.000153' represents a p-value supporting an edge, or that a value of 'ChEMBL' represents the original source of the knowledge expressed in the edge.","example":"biolink:synonym"},"attributes":{"description":"A list of attributes providing further information about the parent attribute (for example to provide provenance information about the parent attribute).","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"description":{"description":"Human-readable description for the attribute and its value.","example":"Assertion Authored By Dr. Trans L. Ator","nullable":true,"type":"string"},"original_attribute_name":{"description":"The term used by the original source of an attribute to describe the meaning or significance of the value it captures. This may be a column name in a source tsv file, or a key in a source json document for the field in the data that held the attribute's value. Capturing this information  where possible lets us preserve what the original source said. Note that the data type is string' but the contents of the field could also be a CURIE of a third party ontology term.","example":"p-value","nullable":true,"type":"string"},"value":{"description":"Value of the attribute. May be any data type, including a list.","example":0.000153},"value_type_id":{"description":"CURIE describing the semantic type of an  attribute's value. Use a Biolink class if possible, otherwise a term from an external ontology. If a suitable CURIE/identifier does not exist, enter a descriptive phrase here and submit the new type for consideration by the appropriate authority.","example":"EDAM:data_1187","nullable":true,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"value_url":{"description":"Human-consumable URL linking to a web document that provides additional information about an  attribute's value (not the node or the edge fom which it hangs).","example":"https://pubmed.ncbi.nlm.nih.gov/32529952","nullable":true,"type":"string"}},"required":["attribute_type_id","value"],"type":"object"},"AttributeConstraint":{"additionalProperties":false,"description":"Generic query constraint for a query node or query edge","properties":{"id":{"description":"CURIE of the concept being constrained. For properties defined by the Biolink model this SHOULD be a biolink CURIE. otherwise, if possible, from the EDAM ontology. If a suitable CURIE does not exist, enter a descriptive phrase here and submit the new type for consideration by the appropriate authority.","example":"EDAM:data_0844","oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"name":{"description":"Human-readable name or label for the constraint concept. If appropriate, it SHOULD be the term name of the CURIE used as the 'id'. This is redundant but required for human readability.","example":"molecular mass","type":"string"},"not":{"default":false,"type":"boolean"},"operator":{"description":"Relationship between the database value and the constraint value for the specified id. The operators ==, >, and < mean is equal to, is greater than, and is less than, respectively. The 'matches' operator indicates that the value is a regular expression to be evaluated. If value is a list type, then at least one evaluation must be true (equivalent to OR). This means that the == operator with a list acts like a SQL 'IN' clause. If the value of the compared attribute is a list, then comparisons are performed between each of the constraint values and each of the attribute values, and any one true evaluation counts as an overall true (e.g., [1,2,3] == [6,7,2] is true). The == operator is therefore a broad interpretation of inclusion. The '===' operator requires that the constraint value and the attribute value be the same data type, length, content, and order (e.g. only [1,2,3] === [1,2,3]). The 'not' property negates the operator such that not and == means 'not equal to' (or 'not in' for a list), and not > means <=, and not < means >=, not matches means does not match, and not === means the match between the constraint and attribute values are not exact. The '==' operator SHOULD NOT be used in a manner that describes an \"is a\" subclass relationship for the parent QNode.","enum":["==",">","<","matches","==="],"type":"string"},"unit_id":{"description":"CURIE of the units of the value or list of values in the 'value' property. The Units of Measurement Ontology (UO) should be used if possible. The unit_id MUST be provided for (lists of) numerical values that correspond to a quantity that has units.","example":"UO:0000222","nullable":true},"unit_name":{"description":"Term name that is associated with the CURIE of the units of the value or list of values in the 'value' property. The Units of Measurement Ontology (UO) SHOULD be used if possible. This property SHOULD be provided if a unit_id is provided. This is redundant but recommended for human readability.","example":"kilodalton","nullable":true},"value":{"description":"Value of the attribute. May be any data type, including a list. If the value is a list and there are multiple items, at least one comparison must be true (equivalent to OR) unless the '===' operator is used. If 'value' is of data type 'object', the keys of the object MAY be treated as a list. A 'list' data type paired with the '>' or '<' operators will encode extraneous comparisons, but this is permitted as it is in SQL and other languages.","example":57.0}},"required":["name","id","operator","value"],"type":"object"},"AuxiliaryGraph":{"additionalProperties":true,"description":"A single AuxiliaryGraph instance that is used by Knowledge Graph Edges and Result Analyses. Edges comprising an Auxiliary Graph are a subset of the Knowledge Graph in the message. Data creators can create an AuxiliaryGraph to assemble a specific collections of edges from the Knowledge Graph into a named graph that can be referenced from an Edge as evidence/explanation supporting that Edge, or from a Result Analysis as information used to generate a score.","properties":{"attributes":{"description":"Attributes of the Auxiliary Graph","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"edges":{"description":"List of edges that form the Auxiliary Graph. Each item is a reference to a single Knowledge Graph edge","items":{"type":"string"},"minItems":1,"nullable":false,"type":"array"}},"required":["edges","attributes"],"type":"object"},"BiolinkEntity":{"description":"Compact URI (CURIE) for a Biolink class, biolink:NamedThing or a child thereof. The CURIE must use the prefix 'biolink:' followed by the PascalCase class name.","example":"biolink:PhenotypicFeature","externalDocs":{"description":"Biolink model entities","url":"https://biolink.github.io/biolink-model/docs/NamedThing.html"},"pattern":"^biolink:[A-Z][a-zA-Z]*$","type":"string"},"BiolinkPredicate":{"description":"CURIE for a Biolink 'predicate' slot, taken from the Biolink slot ('is_a') hierarchy rooted in biolink:related_to (snake_case). This predicate defines the Biolink relationship between the subject and object nodes of a biolink:Association defining a knowledge graph edge.","example":"biolink:interacts_with","externalDocs":{"description":"Biolink model predicates","url":"https://biolink.github.io/biolink-model/docs/related_to.html"},"pattern":"^biolink:[a-z][a-z_]*$","type":"string"},"CURIE":{"description":"A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI.","externalDocs":{"url":"https://www.w3.org/TR/2010/NOTE-curie-20101216/"},"type":"string"},"Edge":{"additionalProperties":false,"description":"A specification of the semantic relationship linking two concepts that are expressed as nodes in the knowledge \"thought\" graph resulting from a query upon the underlying knowledge source.","properties":{"attributes":{"description":"A list of additional attributes for this edge","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"object":{"description":"Corresponds to the map key CURIE of the object concept node of this relationship edge.","example":"UniProtKB:P00738","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"predicate":{"description":"The type of relationship between the subject and object for the statement expressed in an Edge. These should be Biolink Model predicate terms and are NOT allowed to be of type 'abstract' or 'mixin'. Returning 'deprecated' predicate terms should also be avoided.","example":"biolink:gene_associated_with_condition","nullable":false,"oneOf":[{"$ref":"#/components/schemas/BiolinkPredicate"}]},"qualifiers":{"description":"A set of Qualifiers that act together to add nuance or detail to the statement expressed in an Edge.","items":{"$ref":"#/components/schemas/Qualifier"},"nullable":true,"type":"array"},"sources":{"description":"A list of RetrievalSource objects that provide information about how a particular Information Resource served as a source from which the knowledge expressed in an Edge, or data used to generate this knowledge, was retrieved.","items":{"$ref":"#/components/schemas/RetrievalSource"},"minItems":1,"nullable":false,"type":"array"},"subject":{"description":"Corresponds to the map key CURIE of the subject concept node of this relationship edge.","example":"MONDO:0011382","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]}},"required":["object","predicate","subject","sources"],"type":"object"},"EdgeBinding":{"additionalProperties":true,"description":"A instance of EdgeBinding is a single KnowledgeGraph Edge mapping, identified by the corresponding 'id' object key identifier of the Edge within the Knowledge Graph. Instances of EdgeBinding may include extra annotation (such annotation is not yet fully standardized). Edge bindings are captured within a specific reasoner's Analysis object because the Edges in the Knowledge Graph that get bound to the input Query Graph may differ between reasoners.","properties":{"attributes":{"description":"A list of attributes providing further information about the edge binding. This is not intended for capturing edge attributes and should only be used for properties that vary from result to result.","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"id":{"description":"The key identifier of a specific KnowledgeGraph Edge.","nullable":false,"type":"string"}},"required":["id","attributes"],"type":"object"},"KnowledgeGraph":{"additionalProperties":true,"description":"The knowledge graph associated with a set of results. The instances of Node and Edge defining this graph represent instances of biolink:NamedThing (concept nodes) and biolink:Association (relationship edges) representing (Attribute) annotated knowledge returned from the knowledge sources and inference agents wrapped by the given TRAPI implementation.","properties":{"edges":{"additionalProperties":{"$ref":"#/components/schemas/Edge"},"description":"Dictionary of Edge instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.","type":"object"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/Node"},"description":"Dictionary of Node instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.","type":"object"}},"required":["nodes","edges"],"type":"object"},"LogEntry":{"additionalProperties":true,"description":"The LogEntry object contains information useful for tracing and debugging across Translator components.  Although an individual component (for example, an ARA or KP) may have its own logging and debugging infrastructure, this internal information is not, in general, available to other components. In addition to a timestamp and logging level, LogEntry includes a string intended to be read by a human, along with one of a standardized set of codes describing the condition of the component sending the message.","properties":{"code":{"description":"One of a standardized set of short codes e.g. QueryNotTraversable, KPNotAvailable, KPResponseMalformed","nullable":true,"type":"string"},"level":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"A human-readable log message","nullable":false,"type":"string"},"timestamp":{"description":"Timestamp in ISO 8601 format, providing the LogEntry time either in univeral coordinated time (UTC) using the 'Z' tag (e.g 2020-09-03T18:13:49Z), or, if local time is provided, the timezone offset must be provided (e.g. 2020-09-03T18:13:49-04:00).","example":"2020-09-03T18:13:49+00:00","format":"date-time","nullable":false,"type":"string"}},"required":["timestamp","message"],"type":"object"},"LogLevel":{"description":"Logging level","enum":["ERROR","WARNING","INFO","DEBUG"],"type":"string"},"Message":{"additionalProperties":false,"description":"The message object holds the main content of a Query or a Response in three properties: query_graph, results, and knowledge_graph. The query_graph property contains the query configuration, the results property contains any answers that are returned by the service, and knowledge_graph property contains lists of edges and nodes in the thought graph corresponding to this message. The content of these properties is context-dependent to the encompassing object and the TRAPI operation requested.","properties":{"auxiliary_graphs":{"additionalProperties":{"$ref":"#/components/schemas/AuxiliaryGraph"},"description":"Dictionary of AuxiliaryGraph instances that are used by Knowledge Graph Edges and Result Analyses. These are referenced elsewhere by the dictionary key.","nullable":true,"type":"object"},"knowledge_graph":{"description":"KnowledgeGraph object that contains lists of nodes and edges in the thought graph corresponding to the message","nullable":true,"oneOf":[{"$ref":"#/components/schemas/KnowledgeGraph"}]},"query_graph":{"description":"QueryGraph object that contains a serialization of a query in the form of a graph","nullable":true,"oneOf":[{"$ref":"#/components/schemas/QueryGraph"}]},"results":{"description":"List of all returned Result objects for the query posed. The list SHOULD NOT be assumed to be ordered. The 'score' property, if present, MAY be used to infer result rankings. If Results are not expected (such as for a query Message), this property SHOULD be null or absent. If Results are expected (such as for a response Message) and no Results are available, this property SHOULD be an array with 0 Results in it.","items":{"$ref":"#/components/schemas/Result"},"minItems":0,"nullable":true,"type":"array"}},"type":"object"},"MetaAttribute":{"properties":{"attribute_source":{"description":"Source of an attribute provided by this TRAPI web service.","example":"infores:chembl","nullable":true,"type":"string"},"attribute_type_id":{"$ref":"#/components/schemas/CURIE","description":"Type of an attribute provided by this TRAPI web service (preferably the CURIE of a Biolink association slot)","example":"biolink:p_value"},"constraint_name":{"description":"Human-readable name or label for the constraint concept. Required whenever constraint_use is true.","example":"p-value","nullable":true,"type":"string"},"constraint_use":{"default":false,"description":"Indicates whether this attribute can be used as a query constraint.","type":"boolean"},"original_attribute_names":{"description":"Names of an the attribute as provided by the source.","items":{"type":"string"},"minItems":1,"nullable":true,"type":"array"}},"required":["attribute_type_id"],"type":"object"},"MetaEdge":{"additionalProperties":false,"description":"Edge in a meta knowledge map describing relationship between a subject Biolink class and an object Biolink class.","properties":{"association":{"$ref":"#/components/schemas/BiolinkEntity","description":"The Biolink association type (entity) that this edge represents. Associations are classes in Biolink that represent a relationship between two entities. For example, the association 'gene interacts with gene' is represented by the Biolink class, 'biolink:GeneToGeneAssociation'.  If association is filled out, then the testing harness can help validate that the qualifiers are being used correctly.","example":"biolink:ChemicalToGeneAssociation"},"attributes":{"description":"Edge attributes provided by this TRAPI web service.","items":{"$ref":"#/components/schemas/MetaAttribute"},"nullable":true,"type":"array"},"knowledge_types":{"description":"A list of knowledge_types that are supported by the service. If the knowledge_types is null, this means that only 'lookup' is supported. Currently allowed values are 'lookup' or 'inferred'.","items":{"type":"string"},"minItems":1,"nullable":true,"type":"array"},"object":{"$ref":"#/components/schemas/BiolinkEntity","description":"Object node category of this relationship edge.","example":"biolink:Protein"},"predicate":{"$ref":"#/components/schemas/BiolinkPredicate","description":"Biolink relationship between the subject and object categories.","example":"biolink:affects"},"qualifiers":{"description":"Qualifiers that are possible to be found on this edge type.","items":{"$ref":"#/components/schemas/MetaQualifier"},"nullable":true,"type":"array"},"subject":{"$ref":"#/components/schemas/BiolinkEntity","description":"Subject node category of this relationship edge.","example":"biolink:ChemicalEntity"}},"required":["subject","predicate","object"],"type":"object"},"MetaKnowledgeGraph":{"description":"Knowledge-map representation of this TRAPI web service. The meta knowledge graph is composed of the union of most specific categories and predicates for each node and edge.","properties":{"edges":{"description":"List of the most specific edges/predicates provided by this TRAPI web service. A predicate is only exposed here if there is an edge for which the predicate is the most specific available.","items":{"$ref":"#/components/schemas/MetaEdge"},"type":"array"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/MetaNode"},"description":"Collection of the most specific node categories provided by this TRAPI web service, indexed by Biolink class CURIEs. A node category is only exposed here if there is node for which that is the most specific category available.","type":"object"}},"required":["nodes","edges"],"type":"object"},"MetaNode":{"additionalProperties":false,"description":"Description of a node category provided by this TRAPI web service.","properties":{"attributes":{"description":"Node attributes provided by this TRAPI web service.","items":{"$ref":"#/components/schemas/MetaAttribute"},"nullable":true,"type":"array"},"id_prefixes":{"description":"List of CURIE prefixes for the node category that this TRAPI web service understands and accepts on the input.","example":["CHEMBL.COMPOUND","INCHIKEY"],"items":{"type":"string"},"minItems":1,"type":"array"}},"required":["id_prefixes"],"type":"object"},"MetaQualifier":{"properties":{"applicable_values":{"description":"The list of values that are possible for this qualifier.","items":{"example":["expression","activity","abundance","degradation"],"type":"string"},"type":"array"},"qualifier_type_id":{"$ref":"#/components/schemas/CURIE","description":"The CURIE of the qualifier type.","example":"biolink:subject_aspect_qualifier","nullable":false}},"required":["qualifier_type_id"],"type":"object"},"Node":{"additionalProperties":false,"description":"A node in the KnowledgeGraph which represents some biomedical concept. Nodes are identified by the keys in the KnowledgeGraph Node mapping.","properties":{"attributes":{"description":"A list of attributes describing the node","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"categories":{"description":"These should be Biolink Model categories and are NOT allowed to be of type 'abstract' or 'mixin'. Returning 'deprecated' categories should also be avoided.","items":{"$ref":"#/components/schemas/BiolinkEntity"},"minItems":1,"nullable":false,"type":"array"},"is_set":{"description":"Indicates that the node represents a set of entities. If this property is missing or null, it is assumed to be false.","nullable":true,"type":"boolean"},"name":{"description":"Formal name of the entity","example":"Haptoglobin","nullable":true,"type":"string"}},"required":["categories","attributes"],"type":"object"},"NodeBinding":{"additionalProperties":true,"description":"An instance of NodeBinding is a single KnowledgeGraph Node mapping, identified by the corresponding 'id' object key identifier of the Node within the Knowledge Graph. Instances of NodeBinding may include extra annotation in the form of additional properties. (such annotation is not yet fully standardized). Each Node Binding must bind directly to node in the original Query Graph.","properties":{"attributes":{"description":"A list of attributes providing further information about the node binding. This is not intended for capturing node attributes and should only be used for properties that vary from result to result.","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"id":{"description":"The CURIE of a Node within the Knowledge Graph.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"query_id":{"description":"An optional property to provide the CURIE in the QueryGraph to which this binding applies. If the bound QNode does not have an an 'id' property or if it is empty, then this query_id MUST be null or absent. If the bound QNode has one or more CURIEs as an 'id' and this NodeBinding's 'id' refers to a QNode 'id' in a manner where the CURIEs are different (typically due to the NodeBinding.id being a descendant of a QNode.id), then this query_id MUST be provided. In other cases, there is no ambiguity, and this query_id SHOULD NOT be provided.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]}},"required":["id","attributes"],"type":"object"},"QEdge":{"additionalProperties":true,"description":"An edge in the QueryGraph used as a filter pattern specification in a query. If the optional predicate property is not specified, it is assumed to be a wildcard match to the target knowledge space. If specified, the ontological inheritance hierarchy associated with the term provided is assumed, such that edge bindings returned may be an exact match to the given QEdge predicate term, or to a term that is a descendant of the QEdge predicate term.","properties":{"attribute_constraints":{"default":[],"description":"A list of attribute constraints applied to a query edge. If there are multiple items, they must all be true (equivalent to AND)","items":{"$ref":"#/components/schemas/AttributeConstraint"},"type":"array"},"knowledge_type":{"description":"Indicates the type of knowledge that the client wants from the server between the subject and object. If the value is 'lookup', then the client wants direct lookup information from knowledge sources. If the value is 'inferred', then the client wants the server to get creative and connect the subject and object in more speculative and non-direct-lookup ways. If this property is absent or null, it MUST be assumed to mean 'lookup'. This feature is currently experimental and may be further extended in the future.","example":"lookup","nullable":true,"type":"string"},"object":{"description":"Corresponds to the map key identifier of the object concept node anchoring the query filter pattern for the query relationship edge.","example":"https://www.uniprot.org/uniprot/P00738","type":"string"},"predicates":{"description":"These should be Biolink Model predicates and are allowed to be of type 'abstract' or 'mixin' (only in QGraphs!). Use of 'deprecated' predicates should be avoided.","items":{"$ref":"#/components/schemas/BiolinkPredicate"},"minItems":1,"nullable":true,"type":"array"},"qualifier_constraints":{"default":[],"description":"A list of QualifierConstraints that provide nuance to the QEdge. If multiple QualifierConstraints are provided, there is an OR relationship between them. If the QEdge has multiple predicates or if the QNodes that correspond to the subject or object of this QEdge have multiple categories or multiple curies, then qualifier_constraints MUST NOT be specified because these complex use cases are not supported at this time.","items":{"$ref":"#/components/schemas/QualifierConstraint"},"type":"array"},"subject":{"description":"Corresponds to the map key identifier of the subject concept node anchoring the query filter pattern for the query relationship edge.","example":"https://omim.org/entry/603903","type":"string"}},"required":["subject","object"],"type":"object"},"QNode":{"additionalProperties":true,"description":"A node in the QueryGraph used to represent an entity in a query. If a CURIE is not specified, any nodes matching the category of the QNode will be returned in the Results.","properties":{"categories":{"description":"These should be Biolink Model categories and are allowed to be of type 'abstract' or 'mixin' (only in QGraphs!). Use of 'deprecated' categories should be avoided.","items":{"$ref":"#/components/schemas/BiolinkEntity"},"minItems":1,"nullable":true,"type":"array"},"constraints":{"default":[],"description":"A list of constraints applied to a query node. If there are multiple items, they must all be true (equivalent to AND)","items":{"$ref":"#/components/schemas/AttributeConstraint"},"type":"array"},"ids":{"description":"A CURIE identifier (or list of identifiers) for this node.  The 'ids' field will hold a list of CURIEs only in the case of a BATCH set_interpretation, where each CURIE is queried  separately. If a list of queried CURIEs is to be considered as a   set (as under a MANY or ALL set_interpretation), the 'ids' field  will hold a single id representing this set, and the individual members  of this set will be captured in a separate 'member_ids' field.  Note that the set id MUST be created as a UUID by the system that  defines the queried set, using a centralized nodenorm service.  Note also that downstream systems MUST re-use the original set UUID  in the messages they create/send, which will facilitate merging or  caching operations.","example":["OMIM:603903"],"items":{"$ref":"#/components/schemas/CURIE"},"minItems":1,"nullable":true,"type":"array"},"member_ids":{"description":"A list of CURIE identifiers for members of a queried set. This  field MUST be populated under a set_interpretation of MANY or ALL, when the 'ids' field holds a UUID representing the set  itself. This field MUST NOT be used under a set_interpretation  of BATCH.","items":{"$ref":"#/components/schemas/CURIE"},"nullable":true,"type":"array"},"set_interpretation":{"description":"Indicates how multiple CURIEs in the ids property MUST be interpreted. BATCH indicates that the query is intended to be a batch query and each CURIE is treated independently. ALL means that all specified CURIES MUST appear in each Result. MANY means that member CURIEs MUST form one or more sets in the Results, and sets with more members are generally considered more desirable that sets with fewer members. If this property is missing or null, the default is BATCH.","enum":["BATCH","ALL","MANY"],"nullable":true,"type":"string"}},"type":"object"},"Qualifier":{"additionalProperties":false,"description":"An additional nuance attached to an assertion","properties":{"qualifier_type_id":{"$ref":"#/components/schemas/CURIE","description":"CURIE for a Biolink 'qualifier' association slot, generally taken from Biolink association slots designated for this purpose (that is, association slots with names ending in 'qualifier') e.g. biolink:subject_aspect_qualifier,  biolink:subject_direction_qualifier, biolink:object_aspect_qualifier, etc. Such qualifiers are used to elaborate a second layer of meaning of a knowledge graph edge. Available qualifiers are edge properties in the Biolink Model (see https://biolink.github.io/biolink-model/docs/edge_properties.html) which have slot names with the suffix string 'qualifier'.","example":"biolink:subject_aspect_qualifier","nullable":false,"pattern":"^biolink:[a-z][a-z_]*$"},"qualifier_value":{"description":"The value associated with the type of the qualifier, drawn from a set of controlled values by the type as specified in the Biolink model (e.g. 'expression' or 'abundance' for the qualifier type 'biolink:subject_aspect_qualifier', etc). The enumeration of qualifier values for a given qualifier type is generally going to be constrained by the category of edge (i.e. biolink:Association subtype) of the (Q)Edge.","example":"expression","nullable":false,"type":"string"}},"required":["qualifier_type_id","qualifier_value"],"type":"object"},"QualifierConstraint":{"additionalProperties":false,"description":"Defines a query constraint based on the qualifier_types and qualifier_values of a set of Qualifiers attached to an edge. For example, it can constrain a \"ChemicalX - affects - ?Gene\" query to return only edges where ChemicalX specifically affects the 'expression' of the Gene, by constraining on the qualifier_type \"biolink:object_aspect_qualifier\" with a qualifier_value of \"expression\".","properties":{"qualifier_set":{"description":"A set of Qualifiers that serves to add nuance to a query, by constraining allowed values held by Qualifiers on queried Edges.","items":{"$ref":"#/components/schemas/Qualifier"},"nullable":false,"type":"array"}},"required":["qualifier_set"],"type":"object"},"Query":{"additionalProperties":true,"description":"The Query class is used to package a user request for information. A Query object consists of a required Message object with optional additional properties. Additional properties are intended to convey implementation-specific or query-independent parameters. For example, an additional property specifying a log level could allow a user to override the default log level in order to receive more fine-grained log information when debugging an issue.","properties":{"bypass_cache":{"default":false,"description":"Set to true in order to request that the agent obtain fresh information from its sources in all cases where it has a viable choice between requesting fresh information in real time and using cached information. The agent receiving this flag MUST also include it in TRAPI sent to downstream sources (e.g., ARS -> ARAs -> KPs).","type":"boolean"},"log_level":{"description":"The least critical level of logs to return","nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"submitter":{"description":"Any string for self-identifying the submitter of a query. The purpose of this optional field is to aid in the tracking of the source of queries for development and issue resolution.","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps to be executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["message"],"type":"object","x-body-name":"request_body"},"QueryGraph":{"additionalProperties":true,"description":"A graph representing a biomedical question. It serves as a template for each result (answer), where each bound knowledge graph node/edge is expected to obey the constraints of the associated query graph element.","properties":{"edges":{"additionalProperties":{"$ref":"#/components/schemas/QEdge"},"description":"The edge specifications. The keys of this map are unique edge identifiers and the corresponding values include the constraints on bound edges, in addition to specifying the subject and object QNodes.","type":"object"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/QNode"},"description":"The node specifications. The keys of this map are unique node identifiers and the corresponding values include the constraints on bound nodes.","type":"object"}},"required":["nodes","edges"],"type":"object"},"ResourceRoleEnum":{"description":"The role played by the InformationResource in serving as a source for an Edge. Note that a given Edge should have one and only one 'primary' source, and may have any number of 'aggregator' or 'supporting data' sources.  This enumeration is found in Biolink Model, but is repeated here for convenience.","enum":["primary_knowledge_source","aggregator_knowledge_source","supporting_data_source"],"type":"string"},"Response":{"additionalProperties":true,"description":"The Response object contains the main payload when a TRAPI query endpoint interprets and responds to the submitted query successfully (i.e., HTTP Status Code 200). The message property contains the knowledge of the response (query graph, knowledge graph, and results). The status, description, and logs properties provide additional details about the response.","properties":{"biolink_version":{"description":"Version label of the Biolink model used in this document","example":"3.1.2","nullable":true,"type":"string"},"description":{"description":"A brief human-readable description of the outcome","example":"Success. 42 results found.","nullable":true,"type":"string"},"logs":{"description":"A list of LogEntry items, containing errors, warnings, debugging information, etc. List items MUST be in chronological order with earliest first.","items":{"$ref":"#/components/schemas/LogEntry"},"minItems":0,"nullable":false,"type":"array"},"message":{"description":"Contains the knowledge of the response (query graph, knowledge graph, and results).","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"schema_version":{"description":"Version label of the TRAPI schema used in this document","example":"1.4.0","nullable":true,"type":"string"},"status":{"description":"One of a standardized set of short codes, e.g. Success, QueryNotTraversable, KPsNotAvailable","example":"Success","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps that were executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["message"],"type":"object"},"Result":{"additionalProperties":true,"description":"A Result object specifies the nodes and edges in the knowledge graph that satisfy the structure or conditions of a user-submitted query graph. It must contain a NodeBindings object (list of query graph node to knowledge graph node mappings) and a list of Analysis objects.","properties":{"analyses":{"description":"The list of all Analysis components that contribute to the result. See below for Analysis components.","items":{"$ref":"#/components/schemas/Analysis"},"minItems":0,"nullable":false,"type":"array"},"node_bindings":{"additionalProperties":{"items":{"$ref":"#/components/schemas/NodeBinding"},"minItems":1,"type":"array"},"description":"The dictionary of Input Query Graph to Result Knowledge Graph node bindings where the dictionary keys are the key identifiers of the Query Graph nodes and the associated values of those keys are instances of NodeBinding schema type (see below). This value is an array of NodeBindings since a given query node may have multiple knowledge graph Node bindings in the result.","nullable":false,"type":"object"}},"required":["node_bindings","analyses"],"type":"object"},"RetrievalSource":{"additionalProperties":true,"description":"Provides information about how a particular InformationResource served as a source from which knowledge expressed in an Edge, or data used to generate this knowledge, was retrieved.","properties":{"resource_id":{"$ref":"#/components/schemas/CURIE","description":"The CURIE for an Information Resource that served as a source of knowledge expressed in an Edge, or a source of data used to generate this knowledge.","example":"infores:drugbank","nullable":false},"resource_role":{"$ref":"#/components/schemas/ResourceRoleEnum","description":"The role played by the InformationResource in serving as a source for an Edge. Note that a given Edge should have one and only one 'primary' source, and may have any number of 'aggregator' or 'supporting data' sources."},"source_record_urls":{"description":"A URL linking to a specific web page or document provided by the  source, that contains a record of the knowledge expressed in the  Edge. If the knowledge is contained in more than one web page on  an Information Resource's site, urls MAY be provided for each.  For example, Therapeutic Targets Database (TTD) has separate web  pages for 'Imatinib' and its protein target KIT, both of which hold  the claim that 'the KIT protein is a therapeutic target for Imatinib'.         ","example":"[https://db.idrblab.net/ttd/data/drug/details/d0az3c,  https://db.idrblab.net/ttd/data/target/details/t57700]","items":{"type":"string"},"nullable":true,"type":"array"},"upstream_resource_ids":{"description":"An upstream InformationResource from which the resource being described directly retrieved a record of the knowledge expressed in the Edge, or data used to generate this knowledge. This is an array because there are cases where a merged Edge holds knowledge that was retrieved from multiple sources. e.g. an Edge provided by the ARAGORN ARA can expressing knowledge it retrieved from both the automat-mychem-info and molepro KPs, which both provided it with records of this single fact.","example":["infores:automat-mychem-info","infores:molepro"],"items":{"$ref":"#/components/schemas/CURIE"},"nullable":true,"type":"array"}},"required":["resource_id","resource_role"],"type":"object"}}},"externalDocs":{"description":"Documentation for the NCATS Biomedical Translator Reasoners web services","url":"https://github.com/NCATSTranslator/ReasonerAPI"},"info":{"contact":{"email":"gglusman@systemsbiology.org","name":"Gwenlyn Glusman"},"description":"TRAPI 1.5 endpoint for the Multiomics Microbiome KP, an NCATS Biomedical Translator Knowledge Provider","license":{"name":"Apache 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.html"},"termsOfService":"https://github.com/RTXteam/PloverDB/blob/main/LICENSE","title":"Microbiome KP - TRAPI 1.5.0","version":"2.1.0","x-translator":{"biolink-version":"4.2.1","component":"KP","externalDocs":{"description":"The values for component and team are restricted according to this external JSON schema. See schema and examples at url","url":"https://github.com/NCATSTranslator/translator_extensions/blob/\\ production/x-translator/"},"infores":"infores:multiomics-microbiome","team":["Multiomics Provider"]},"x-trapi":{"asyncquery":false,"externalDocs":{"description":"The values for version are restricted according to the regex in this external JSON schema. See schema and examples at url","url":"https://github.com/NCATSTranslator/translator_extensions/blob/\\ production/x-trapi/"},"multicuriequery":false,"operations":["lookup"],"pathfinderquery":false,"test_data_location":{"default":{"url":"https://multiomics.rtx.ai:9990/mbkp/sri_test_triples"}},"version":"1.5.0"}},"openapi":"3.0.1","paths":{"/meta_knowledge_graph":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaKnowledgeGraph"}}},"description":"Returns meta knowledge graph representation of this TRAPI web service."}},"summary":"Meta knowledge graph representation of this TRAPI web service.","tags":["meta_knowledge_graph"]}},"/query":{"post":{"description":"","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Query"}}},"description":"Query information to be submitted","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK. There may or may not be results. Note that some of the provided identifiers may not have been recognized."},"400":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Bad request. The request is invalid according to this OpenAPI schema OR a specific identifier is believed to be invalid somehow (not just unrecognized)."},"413":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Payload too large. Indicates that batch size was over the limit specified in x-trapi."},"429":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Too many requests. Indicates that the client issued requests that exceed the rate limit specified in x-trapi."},"500":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Internal server error."},"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Not implemented."}},"summary":"Initiate a query and wait to receive a Response","tags":["query"]}},"/asyncquery":{"post":{"description":"","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncQuery"}}},"description":"Query information to be submitted","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncQueryResponse"}}},"description":"The query is accepted for processing and the Response will be sent to the callback url when complete."},"400":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Bad request. The request is invalid according to this OpenAPI schema OR a specific identifier is believed to be invalid somehow (not just unrecognized)."},"413":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Payload too large. Indicates that batch size was over the limit specified in x-trapi."},"429":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Too many requests. Indicates that the client issued requests that exceed the rate limit specified in x-trapi."},"500":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Internal server error."},"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Not implemented."}},"summary":"Initiate a query with a callback to receive the response","tags":["asyncquery"]}},"/asyncquery_status/{job_id}":{"get":{"operationId":"asyncquery_status","parameters":[{"description":"Identifier of the job for status request","in":"path","name":"job_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncQueryStatusResponse"}}},"description":"Returns the status and current logs of a previously submitted asyncquery."},"404":{"description":"job_id not found"},"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Return code 501 indicates that this endpoint has not been implemented at this site. Sites that implement /asyncquery MUST implement /asyncquery_status/{job_id}, but those that do not implement /asyncquery SHOULD NOT implement /asyncquery_status."}},"summary":"Retrieve the current status of a previously submitted asyncquery given its job_id","tags":["asyncquery_status"]}}},"servers":[{"description":"MBKP TRAPI 1.5 endpoint - development","url":"https://multiomics.rtx.ai:9990/mbkp","x-maturity":"development"},{"description":"MBKP TRAPI 1.5 endpoint - staging","url":"https://multiomics.ci.transltr.io/mbkp","x-maturity":"staging"},{"description":"MBKP TRAPI 1.5 endpoint - testing","url":"https://multiomics.test.transltr.io/mbkp","x-maturity":"testing"},{"description":"MBKP TRAPI 1.5 endpoint - production","url":"https://multiomics.transltr.io/mbkp","x-maturity":"production"}],"tags":[{"description":"Retrieve the meta knowledge graph representation of this TRAPI web service. KPs MUST provide all subject category - predicate - object category triplets that are supported by the service, NOT including all implied ancestor relationships. ARAs SHOULD provide the union of all meta knowledge graphs of all the KPs that they can consult.","name":"meta_knowledge_graph"},{"description":"Initiate a query and wait to receive the response","name":"query"},{"description":"Initiate a query with a callback to receive the response","name":"asyncquery"},{"description":"Retrieve the current status of a previously submitted asyncquery given its job_id","name":"asyncquery_status"},{"description":"Required for SmartAPI validation of x-translator","name":"translator"},{"description":"Required for SmartAPI validation of x-trapi","name":"trapi"}]},{"components":{"schemas":{"Analysis":{"additionalProperties":true,"description":"An analysis is a dictionary that contains information about the result tied to a particular service. Each Analysis is generated by a single reasoning service, and describes the outputs of analyses performed by the reasoner on a particular Result (e.g. a result score), along with provenance information supporting the analysis (e.g. method or data that supported generation of the score).","properties":{"attributes":{"description":"The attributes of this particular Analysis.","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"edge_bindings":{"additionalProperties":{"items":{"$ref":"#/components/schemas/EdgeBinding"},"type":"array"},"description":"The dictionary of input Query Graph to Knowledge Graph edge bindings where the dictionary keys are the key identifiers of the Query Graph edges and the associated values of those keys are instances of EdgeBinding schema type (see below). This value is an array of EdgeBindings since a given query edge may resolve to multiple Knowledge Graph Edges.","type":"object"},"resource_id":{"$ref":"#/components/schemas/CURIE","description":"The id of the resource generating this Analysis"},"score":{"description":"A numerical score associated with this result indicating the relevance or confidence of this result relative to others in the returned set. Higher MUST be better.","example":163.233,"format":"float","nullable":true,"type":"number"},"scoring_method":{"description":"An identifier and link to an explanation for the method used to generate the score","nullable":true,"type":"string"},"support_graphs":{"description":"This is a list of references to Auxiliary Graph instances that supported the analysis of a Result as performed by the reasoning service. Each item in the list is the key of a single Auxiliary Graph.","items":{"type":"string"},"nullable":true,"type":"array"}},"required":["resource_id","edge_bindings"],"type":"object"},"AsyncQuery":{"additionalProperties":true,"description":"The AsyncQuery class is effectively the same as the Query class but it requires a callback property.","properties":{"bypass_cache":{"default":false,"description":"Set to true in order to request that the agent obtain fresh information from its sources in all cases where it has a viable choice between requesting fresh information in real time and using cached information. The agent receiving this flag MUST also include it in TRAPI sent to downstream sources (e.g., ARS -> ARAs -> KPs).","type":"boolean"},"callback":{"description":"Upon completion, this server will send a POST request to the callback URL with `Content-Type: application/json` header and request body containing a JSON-encoded `Response` object. The server MAY POST `Response` objects before work is fully complete to provide interim results with a Response.status value of 'Running'. If a POST operation to the callback URL does not succeed, the server SHOULD retry the POST at least once.","format":"uri","nullable":false,"pattern":"^https?://","type":"string"},"log_level":{"description":"The least critical level of logs to return","nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"submitter":{"description":"Any string for self-identifying the submitter of a query. The purpose of this optional field is to aid in the tracking of the source of queries for development and issue resolution.","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps to be executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["callback","message"],"type":"object","x-body-name":"request_body"},"AsyncQueryResponse":{"additionalProperties":true,"description":"The AsyncQueryResponse object contains a payload that must be returned from a submitted async_query.","properties":{"description":{"description":"A brief human-readable description of the result of the async_query submission.","example":"Async_query has been queued","nullable":true,"type":"string"},"job_id":{"description":"An identifier for the submitted job that can be used with /async_query_status to receive an update on the status of the job.","nullable":false,"type":"string"},"status":{"description":"One of a standardized set of short codes: e.g. Accepted, QueryNotTraversable, KPsNotAvailable","example":"Accepted","nullable":true,"type":"string"}},"required":["job_id"],"type":"object"},"AsyncQueryStatusResponse":{"additionalProperties":true,"description":"The AsyncQueryStatusResponse object contains a payload that describes the current status of a previously submitted async_query.","properties":{"description":{"description":"A brief human-readable description of the current state or summary of the problem if the status is Failed.","example":"Callback URL returned 500","nullable":false,"type":"string"},"logs":{"description":"A list of LogEntry items, containing errors, warnings, debugging information, etc. List items MUST be in chronological order with earliest first. The most recent entry should be last. Its timestamp will be compared against the current time to see if there is still activity.","items":{"$ref":"#/components/schemas/LogEntry"},"minItems":1,"nullable":false,"type":"array"},"response_url":{"description":"Optional URL that can be queried to restrieve the full TRAPI Response.","example":"https://arax.ncats.io/api/arax/v1.3/response/116481","nullable":true,"type":"string"},"status":{"description":"One of a standardized set of short codes: Queued, Running, Completed, Failed","example":"Running","nullable":false,"type":"string"}},"required":["status","description","logs"],"type":"object"},"Attribute":{"additionalProperties":false,"description":"Generic attribute for a node or an edge that expands the key-value pair concept by including fields for additional metadata. These fields can be used to describe the source of the statement made in a key-value pair of the attribute object, or describe the attribute's value itself including its semantic type, or a url providing additional information about it. An attribute may be further qualified with sub-attributes (for example to provide confidence intervals on a value).","properties":{"attribute_source":{"description":"The source of the core assertion made by the key-value pair of an attribute object. Use a CURIE or namespace designator for this resource where possible.","example":"UniProtKB","nullable":true,"type":"string"},"attribute_type_id":{"$ref":"#/components/schemas/CURIE","description":"The 'key' of the attribute object, holding a CURIE of an ontology property defining the attribute (preferably the CURIE of a Biolink association slot). This property captures the relationship asserted to hold between the value of the attribute, and the node or edge from  which it hangs. For example, that a value of '0.000153' represents a p-value supporting an edge, or that a value of 'ChEMBL' represents the original source of the knowledge expressed in the edge.","example":"biolink:synonym"},"attributes":{"description":"A list of attributes providing further information about the parent attribute (for example to provide provenance information about the parent attribute).","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"description":{"description":"Human-readable description for the attribute and its value.","example":"Assertion Authored By Dr. Trans L. Ator","nullable":true,"type":"string"},"original_attribute_name":{"description":"The term used by the original source of an attribute to describe the meaning or significance of the value it captures. This may be a column name in a source tsv file, or a key in a source json document for the field in the data that held the attribute's value. Capturing this information  where possible lets us preserve what the original source said. Note that the data type is string' but the contents of the field could also be a CURIE of a third party ontology term.","example":"p-value","nullable":true,"type":"string"},"value":{"description":"Value of the attribute. May be any data type, including a list.","example":0.000153},"value_type_id":{"description":"CURIE describing the semantic type of an  attribute's value. Use a Biolink class if possible, otherwise a term from an external ontology. If a suitable CURIE/identifier does not exist, enter a descriptive phrase here and submit the new type for consideration by the appropriate authority.","example":"EDAM:data_1187","nullable":true,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"value_url":{"description":"Human-consumable URL linking to a web document that provides additional information about an  attribute's value (not the node or the edge fom which it hangs).","example":"https://pubmed.ncbi.nlm.nih.gov/32529952","nullable":true,"type":"string"}},"required":["attribute_type_id","value"],"type":"object"},"AttributeConstraint":{"additionalProperties":false,"description":"Generic query constraint for a query node or query edge","properties":{"id":{"description":"CURIE of the concept being constrained. For properties defined by the Biolink model this SHOULD be a biolink CURIE. otherwise, if possible, from the EDAM ontology. If a suitable CURIE does not exist, enter a descriptive phrase here and submit the new type for consideration by the appropriate authority.","example":"EDAM:data_0844","oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"name":{"description":"Human-readable name or label for the constraint concept. If appropriate, it SHOULD be the term name of the CURIE used as the 'id'. This is redundant but required for human readability.","example":"molecular mass","type":"string"},"not":{"default":false,"type":"boolean"},"operator":{"description":"Relationship between the database value and the constraint value for the specified id. The operators ==, >, and < mean is equal to, is greater than, and is less than, respectively. The 'matches' operator indicates that the value is a regular expression to be evaluated. If value is a list type, then at least one evaluation must be true (equivalent to OR). This means that the == operator with a list acts like a SQL 'IN' clause. If the value of the compared attribute is a list, then comparisons are performed between each of the constraint values and each of the attribute values, and any one true evaluation counts as an overall true (e.g., [1,2,3] == [6,7,2] is true). The == operator is therefore a broad interpretation of inclusion. The '===' operator requires that the constraint value and the attribute value be the same data type, length, content, and order (e.g. only [1,2,3] === [1,2,3]). The 'not' property negates the operator such that not and == means 'not equal to' (or 'not in' for a list), and not > means <=, and not < means >=, not matches means does not match, and not === means the match between the constraint and attribute values are not exact. The '==' operator SHOULD NOT be used in a manner that describes an \"is a\" subclass relationship for the parent QNode.","enum":["==",">","<","matches","==="],"type":"string"},"unit_id":{"description":"CURIE of the units of the value or list of values in the 'value' property. The Units of Measurement Ontology (UO) should be used if possible. The unit_id MUST be provided for (lists of) numerical values that correspond to a quantity that has units.","example":"UO:0000222","nullable":true},"unit_name":{"description":"Term name that is associated with the CURIE of the units of the value or list of values in the 'value' property. The Units of Measurement Ontology (UO) SHOULD be used if possible. This property SHOULD be provided if a unit_id is provided. This is redundant but recommended for human readability.","example":"kilodalton","nullable":true},"value":{"description":"Value of the attribute. May be any data type, including a list. If the value is a list and there are multiple items, at least one comparison must be true (equivalent to OR) unless the '===' operator is used. If 'value' is of data type 'object', the keys of the object MAY be treated as a list. A 'list' data type paired with the '>' or '<' operators will encode extraneous comparisons, but this is permitted as it is in SQL and other languages.","example":57.0}},"required":["name","id","operator","value"],"type":"object"},"AuxiliaryGraph":{"additionalProperties":true,"description":"A single AuxiliaryGraph instance that is used by Knowledge Graph Edges and Result Analyses. Edges comprising an Auxiliary Graph are a subset of the Knowledge Graph in the message. Data creators can create an AuxiliaryGraph to assemble a specific collections of edges from the Knowledge Graph into a named graph that can be referenced from an Edge as evidence/explanation supporting that Edge, or from a Result Analysis as information used to generate a score.","properties":{"attributes":{"description":"Attributes of the Auxiliary Graph","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"edges":{"description":"List of edges that form the Auxiliary Graph. Each item is a reference to a single Knowledge Graph edge","items":{"type":"string"},"minItems":1,"nullable":false,"type":"array"}},"required":["edges","attributes"],"type":"object"},"BiolinkEntity":{"description":"Compact URI (CURIE) for a Biolink class, biolink:NamedThing or a child thereof. The CURIE must use the prefix 'biolink:' followed by the PascalCase class name.","example":"biolink:PhenotypicFeature","externalDocs":{"description":"Biolink model entities","url":"https://biolink.github.io/biolink-model/docs/NamedThing.html"},"pattern":"^biolink:[A-Z][a-zA-Z]*$","type":"string"},"BiolinkPredicate":{"description":"CURIE for a Biolink 'predicate' slot, taken from the Biolink slot ('is_a') hierarchy rooted in biolink:related_to (snake_case). This predicate defines the Biolink relationship between the subject and object nodes of a biolink:Association defining a knowledge graph edge.","example":"biolink:interacts_with","externalDocs":{"description":"Biolink model predicates","url":"https://biolink.github.io/biolink-model/docs/related_to.html"},"pattern":"^biolink:[a-z][a-z_]*$","type":"string"},"CURIE":{"description":"A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI.","externalDocs":{"url":"https://www.w3.org/TR/2010/NOTE-curie-20101216/"},"type":"string"},"Edge":{"additionalProperties":false,"description":"A specification of the semantic relationship linking two concepts that are expressed as nodes in the knowledge \"thought\" graph resulting from a query upon the underlying knowledge source.","properties":{"attributes":{"description":"A list of additional attributes for this edge","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"object":{"description":"Corresponds to the map key CURIE of the object concept node of this relationship edge.","example":"UniProtKB:P00738","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"predicate":{"description":"The type of relationship between the subject and object for the statement expressed in an Edge. These should be Biolink Model predicate terms and are NOT allowed to be of type 'abstract' or 'mixin'. Returning 'deprecated' predicate terms should also be avoided.","example":"biolink:gene_associated_with_condition","nullable":false,"oneOf":[{"$ref":"#/components/schemas/BiolinkPredicate"}]},"qualifiers":{"description":"A set of Qualifiers that act together to add nuance or detail to the statement expressed in an Edge.","items":{"$ref":"#/components/schemas/Qualifier"},"nullable":true,"type":"array"},"sources":{"description":"A list of RetrievalSource objects that provide information about how a particular Information Resource served as a source from which the knowledge expressed in an Edge, or data used to generate this knowledge, was retrieved.","items":{"$ref":"#/components/schemas/RetrievalSource"},"minItems":1,"nullable":false,"type":"array"},"subject":{"description":"Corresponds to the map key CURIE of the subject concept node of this relationship edge.","example":"MONDO:0011382","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]}},"required":["object","predicate","subject","sources"],"type":"object"},"EdgeBinding":{"additionalProperties":true,"description":"A instance of EdgeBinding is a single KnowledgeGraph Edge mapping, identified by the corresponding 'id' object key identifier of the Edge within the Knowledge Graph. Instances of EdgeBinding may include extra annotation (such annotation is not yet fully standardized). Edge bindings are captured within a specific reasoner's Analysis object because the Edges in the Knowledge Graph that get bound to the input Query Graph may differ between reasoners.","properties":{"attributes":{"description":"A list of attributes providing further information about the edge binding. This is not intended for capturing edge attributes and should only be used for properties that vary from result to result.","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"id":{"description":"The key identifier of a specific KnowledgeGraph Edge.","nullable":false,"type":"string"}},"required":["id","attributes"],"type":"object"},"KnowledgeGraph":{"additionalProperties":true,"description":"The knowledge graph associated with a set of results. The instances of Node and Edge defining this graph represent instances of biolink:NamedThing (concept nodes) and biolink:Association (relationship edges) representing (Attribute) annotated knowledge returned from the knowledge sources and inference agents wrapped by the given TRAPI implementation.","properties":{"edges":{"additionalProperties":{"$ref":"#/components/schemas/Edge"},"description":"Dictionary of Edge instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.","type":"object"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/Node"},"description":"Dictionary of Node instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.","type":"object"}},"required":["nodes","edges"],"type":"object"},"LogEntry":{"additionalProperties":true,"description":"The LogEntry object contains information useful for tracing and debugging across Translator components.  Although an individual component (for example, an ARA or KP) may have its own logging and debugging infrastructure, this internal information is not, in general, available to other components. In addition to a timestamp and logging level, LogEntry includes a string intended to be read by a human, along with one of a standardized set of codes describing the condition of the component sending the message.","properties":{"code":{"description":"One of a standardized set of short codes e.g. QueryNotTraversable, KPNotAvailable, KPResponseMalformed","nullable":true,"type":"string"},"level":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"A human-readable log message","nullable":false,"type":"string"},"timestamp":{"description":"Timestamp in ISO 8601 format, providing the LogEntry time either in univeral coordinated time (UTC) using the 'Z' tag (e.g 2020-09-03T18:13:49Z), or, if local time is provided, the timezone offset must be provided (e.g. 2020-09-03T18:13:49-04:00).","example":"2020-09-03T18:13:49+00:00","format":"date-time","nullable":false,"type":"string"}},"required":["timestamp","message"],"type":"object"},"LogLevel":{"description":"Logging level","enum":["ERROR","WARNING","INFO","DEBUG"],"type":"string"},"Message":{"additionalProperties":false,"description":"The message object holds the main content of a Query or a Response in three properties: query_graph, results, and knowledge_graph. The query_graph property contains the query configuration, the results property contains any answers that are returned by the service, and knowledge_graph property contains lists of edges and nodes in the thought graph corresponding to this message. The content of these properties is context-dependent to the encompassing object and the TRAPI operation requested.","properties":{"auxiliary_graphs":{"additionalProperties":{"$ref":"#/components/schemas/AuxiliaryGraph"},"description":"Dictionary of AuxiliaryGraph instances that are used by Knowledge Graph Edges and Result Analyses. These are referenced elsewhere by the dictionary key.","nullable":true,"type":"object"},"knowledge_graph":{"description":"KnowledgeGraph object that contains lists of nodes and edges in the thought graph corresponding to the message","nullable":true,"oneOf":[{"$ref":"#/components/schemas/KnowledgeGraph"}]},"query_graph":{"description":"QueryGraph object that contains a serialization of a query in the form of a graph","nullable":true,"oneOf":[{"$ref":"#/components/schemas/QueryGraph"}]},"results":{"description":"List of all returned Result objects for the query posed. The list SHOULD NOT be assumed to be ordered. The 'score' property, if present, MAY be used to infer result rankings. If Results are not expected (such as for a query Message), this property SHOULD be null or absent. If Results are expected (such as for a response Message) and no Results are available, this property SHOULD be an array with 0 Results in it.","items":{"$ref":"#/components/schemas/Result"},"minItems":0,"nullable":true,"type":"array"}},"type":"object"},"MetaAttribute":{"properties":{"attribute_source":{"description":"Source of an attribute provided by this TRAPI web service.","example":"infores:chembl","nullable":true,"type":"string"},"attribute_type_id":{"$ref":"#/components/schemas/CURIE","description":"Type of an attribute provided by this TRAPI web service (preferably the CURIE of a Biolink association slot)","example":"biolink:p_value"},"constraint_name":{"description":"Human-readable name or label for the constraint concept. Required whenever constraint_use is true.","example":"p-value","nullable":true,"type":"string"},"constraint_use":{"default":false,"description":"Indicates whether this attribute can be used as a query constraint.","type":"boolean"},"original_attribute_names":{"description":"Names of an the attribute as provided by the source.","items":{"type":"string"},"minItems":1,"nullable":true,"type":"array"}},"required":["attribute_type_id"],"type":"object"},"MetaEdge":{"additionalProperties":false,"description":"Edge in a meta knowledge map describing relationship between a subject Biolink class and an object Biolink class.","properties":{"association":{"$ref":"#/components/schemas/BiolinkEntity","description":"The Biolink association type (entity) that this edge represents. Associations are classes in Biolink that represent a relationship between two entities. For example, the association 'gene interacts with gene' is represented by the Biolink class, 'biolink:GeneToGeneAssociation'.  If association is filled out, then the testing harness can help validate that the qualifiers are being used correctly.","example":"biolink:ChemicalToGeneAssociation"},"attributes":{"description":"Edge attributes provided by this TRAPI web service.","items":{"$ref":"#/components/schemas/MetaAttribute"},"nullable":true,"type":"array"},"knowledge_types":{"description":"A list of knowledge_types that are supported by the service. If the knowledge_types is null, this means that only 'lookup' is supported. Currently allowed values are 'lookup' or 'inferred'.","items":{"type":"string"},"minItems":1,"nullable":true,"type":"array"},"object":{"$ref":"#/components/schemas/BiolinkEntity","description":"Object node category of this relationship edge.","example":"biolink:Protein"},"predicate":{"$ref":"#/components/schemas/BiolinkPredicate","description":"Biolink relationship between the subject and object categories.","example":"biolink:affects"},"qualifiers":{"description":"Qualifiers that are possible to be found on this edge type.","items":{"$ref":"#/components/schemas/MetaQualifier"},"nullable":true,"type":"array"},"subject":{"$ref":"#/components/schemas/BiolinkEntity","description":"Subject node category of this relationship edge.","example":"biolink:ChemicalEntity"}},"required":["subject","predicate","object"],"type":"object"},"MetaKnowledgeGraph":{"description":"Knowledge-map representation of this TRAPI web service. The meta knowledge graph is composed of the union of most specific categories and predicates for each node and edge.","properties":{"edges":{"description":"List of the most specific edges/predicates provided by this TRAPI web service. A predicate is only exposed here if there is an edge for which the predicate is the most specific available.","items":{"$ref":"#/components/schemas/MetaEdge"},"type":"array"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/MetaNode"},"description":"Collection of the most specific node categories provided by this TRAPI web service, indexed by Biolink class CURIEs. A node category is only exposed here if there is node for which that is the most specific category available.","type":"object"}},"required":["nodes","edges"],"type":"object"},"MetaNode":{"additionalProperties":false,"description":"Description of a node category provided by this TRAPI web service.","properties":{"attributes":{"description":"Node attributes provided by this TRAPI web service.","items":{"$ref":"#/components/schemas/MetaAttribute"},"nullable":true,"type":"array"},"id_prefixes":{"description":"List of CURIE prefixes for the node category that this TRAPI web service understands and accepts on the input.","example":["CHEMBL.COMPOUND","INCHIKEY"],"items":{"type":"string"},"minItems":1,"type":"array"}},"required":["id_prefixes"],"type":"object"},"MetaQualifier":{"properties":{"applicable_values":{"description":"The list of values that are possible for this qualifier.","items":{"example":["expression","activity","abundance","degradation"],"type":"string"},"type":"array"},"qualifier_type_id":{"$ref":"#/components/schemas/CURIE","description":"The CURIE of the qualifier type.","example":"biolink:subject_aspect_qualifier","nullable":false}},"required":["qualifier_type_id"],"type":"object"},"Node":{"additionalProperties":false,"description":"A node in the KnowledgeGraph which represents some biomedical concept. Nodes are identified by the keys in the KnowledgeGraph Node mapping.","properties":{"attributes":{"description":"A list of attributes describing the node","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"categories":{"description":"These should be Biolink Model categories and are NOT allowed to be of type 'abstract' or 'mixin'. Returning 'deprecated' categories should also be avoided.","items":{"$ref":"#/components/schemas/BiolinkEntity"},"minItems":1,"nullable":false,"type":"array"},"is_set":{"description":"Indicates that the node represents a set of entities. If this property is missing or null, it is assumed to be false.","nullable":true,"type":"boolean"},"name":{"description":"Formal name of the entity","example":"Haptoglobin","nullable":true,"type":"string"}},"required":["categories","attributes"],"type":"object"},"NodeBinding":{"additionalProperties":true,"description":"An instance of NodeBinding is a single KnowledgeGraph Node mapping, identified by the corresponding 'id' object key identifier of the Node within the Knowledge Graph. Instances of NodeBinding may include extra annotation in the form of additional properties. (such annotation is not yet fully standardized). Each Node Binding must bind directly to node in the original Query Graph.","properties":{"attributes":{"description":"A list of attributes providing further information about the node binding. This is not intended for capturing node attributes and should only be used for properties that vary from result to result.","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"id":{"description":"The CURIE of a Node within the Knowledge Graph.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"query_id":{"description":"An optional property to provide the CURIE in the QueryGraph to which this binding applies. If the bound QNode does not have an an 'id' property or if it is empty, then this query_id MUST be null or absent. If the bound QNode has one or more CURIEs as an 'id' and this NodeBinding's 'id' refers to a QNode 'id' in a manner where the CURIEs are different (typically due to the NodeBinding.id being a descendant of a QNode.id), then this query_id MUST be provided. In other cases, there is no ambiguity, and this query_id SHOULD NOT be provided.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]}},"required":["id","attributes"],"type":"object"},"QEdge":{"additionalProperties":true,"description":"An edge in the QueryGraph used as a filter pattern specification in a query. If the optional predicate property is not specified, it is assumed to be a wildcard match to the target knowledge space. If specified, the ontological inheritance hierarchy associated with the term provided is assumed, such that edge bindings returned may be an exact match to the given QEdge predicate term, or to a term that is a descendant of the QEdge predicate term.","properties":{"attribute_constraints":{"default":[],"description":"A list of attribute constraints applied to a query edge. If there are multiple items, they must all be true (equivalent to AND)","items":{"$ref":"#/components/schemas/AttributeConstraint"},"type":"array"},"knowledge_type":{"description":"Indicates the type of knowledge that the client wants from the server between the subject and object. If the value is 'lookup', then the client wants direct lookup information from knowledge sources. If the value is 'inferred', then the client wants the server to get creative and connect the subject and object in more speculative and non-direct-lookup ways. If this property is absent or null, it MUST be assumed to mean 'lookup'. This feature is currently experimental and may be further extended in the future.","example":"lookup","nullable":true,"type":"string"},"object":{"description":"Corresponds to the map key identifier of the object concept node anchoring the query filter pattern for the query relationship edge.","example":"https://www.uniprot.org/uniprot/P00738","type":"string"},"predicates":{"description":"These should be Biolink Model predicates and are allowed to be of type 'abstract' or 'mixin' (only in QGraphs!). Use of 'deprecated' predicates should be avoided.","items":{"$ref":"#/components/schemas/BiolinkPredicate"},"minItems":1,"nullable":true,"type":"array"},"qualifier_constraints":{"default":[],"description":"A list of QualifierConstraints that provide nuance to the QEdge. If multiple QualifierConstraints are provided, there is an OR relationship between them. If the QEdge has multiple predicates or if the QNodes that correspond to the subject or object of this QEdge have multiple categories or multiple curies, then qualifier_constraints MUST NOT be specified because these complex use cases are not supported at this time.","items":{"$ref":"#/components/schemas/QualifierConstraint"},"type":"array"},"subject":{"description":"Corresponds to the map key identifier of the subject concept node anchoring the query filter pattern for the query relationship edge.","example":"https://omim.org/entry/603903","type":"string"}},"required":["subject","object"],"type":"object"},"QNode":{"additionalProperties":true,"description":"A node in the QueryGraph used to represent an entity in a query. If a CURIE is not specified, any nodes matching the category of the QNode will be returned in the Results.","properties":{"categories":{"description":"These should be Biolink Model categories and are allowed to be of type 'abstract' or 'mixin' (only in QGraphs!). Use of 'deprecated' categories should be avoided.","items":{"$ref":"#/components/schemas/BiolinkEntity"},"minItems":1,"nullable":true,"type":"array"},"constraints":{"default":[],"description":"A list of constraints applied to a query node. If there are multiple items, they must all be true (equivalent to AND)","items":{"$ref":"#/components/schemas/AttributeConstraint"},"type":"array"},"ids":{"description":"A CURIE identifier (or list of identifiers) for this node.  The 'ids' field will hold a list of CURIEs only in the case of a BATCH set_interpretation, where each CURIE is queried  separately. If a list of queried CURIEs is to be considered as a   set (as under a MANY or ALL set_interpretation), the 'ids' field  will hold a single id representing this set, and the individual members  of this set will be captured in a separate 'member_ids' field.  Note that the set id MUST be created as a UUID by the system that  defines the queried set, using a centralized nodenorm service.  Note also that downstream systems MUST re-use the original set UUID  in the messages they create/send, which will facilitate merging or  caching operations.","example":["OMIM:603903"],"items":{"$ref":"#/components/schemas/CURIE"},"minItems":1,"nullable":true,"type":"array"},"member_ids":{"description":"A list of CURIE identifiers for members of a queried set. This  field MUST be populated under a set_interpretation of MANY or ALL, when the 'ids' field holds a UUID representing the set  itself. This field MUST NOT be used under a set_interpretation  of BATCH.","items":{"$ref":"#/components/schemas/CURIE"},"nullable":true,"type":"array"},"set_interpretation":{"description":"Indicates how multiple CURIEs in the ids property MUST be interpreted. BATCH indicates that the query is intended to be a batch query and each CURIE is treated independently. ALL means that all specified CURIES MUST appear in each Result. MANY means that member CURIEs MUST form one or more sets in the Results, and sets with more members are generally considered more desirable that sets with fewer members. If this property is missing or null, the default is BATCH.","enum":["BATCH","ALL","MANY"],"nullable":true,"type":"string"}},"type":"object"},"Qualifier":{"additionalProperties":false,"description":"An additional nuance attached to an assertion","properties":{"qualifier_type_id":{"$ref":"#/components/schemas/CURIE","description":"CURIE for a Biolink 'qualifier' association slot, generally taken from Biolink association slots designated for this purpose (that is, association slots with names ending in 'qualifier') e.g. biolink:subject_aspect_qualifier,  biolink:subject_direction_qualifier, biolink:object_aspect_qualifier, etc. Such qualifiers are used to elaborate a second layer of meaning of a knowledge graph edge. Available qualifiers are edge properties in the Biolink Model (see https://biolink.github.io/biolink-model/docs/edge_properties.html) which have slot names with the suffix string 'qualifier'.","example":"biolink:subject_aspect_qualifier","nullable":false,"pattern":"^biolink:[a-z][a-z_]*$"},"qualifier_value":{"description":"The value associated with the type of the qualifier, drawn from a set of controlled values by the type as specified in the Biolink model (e.g. 'expression' or 'abundance' for the qualifier type 'biolink:subject_aspect_qualifier', etc). The enumeration of qualifier values for a given qualifier type is generally going to be constrained by the category of edge (i.e. biolink:Association subtype) of the (Q)Edge.","example":"expression","nullable":false,"type":"string"}},"required":["qualifier_type_id","qualifier_value"],"type":"object"},"QualifierConstraint":{"additionalProperties":false,"description":"Defines a query constraint based on the qualifier_types and qualifier_values of a set of Qualifiers attached to an edge. For example, it can constrain a \"ChemicalX - affects - ?Gene\" query to return only edges where ChemicalX specifically affects the 'expression' of the Gene, by constraining on the qualifier_type \"biolink:object_aspect_qualifier\" with a qualifier_value of \"expression\".","properties":{"qualifier_set":{"description":"A set of Qualifiers that serves to add nuance to a query, by constraining allowed values held by Qualifiers on queried Edges.","items":{"$ref":"#/components/schemas/Qualifier"},"nullable":false,"type":"array"}},"required":["qualifier_set"],"type":"object"},"Query":{"additionalProperties":true,"description":"The Query class is used to package a user request for information. A Query object consists of a required Message object with optional additional properties. Additional properties are intended to convey implementation-specific or query-independent parameters. For example, an additional property specifying a log level could allow a user to override the default log level in order to receive more fine-grained log information when debugging an issue.","properties":{"bypass_cache":{"default":false,"description":"Set to true in order to request that the agent obtain fresh information from its sources in all cases where it has a viable choice between requesting fresh information in real time and using cached information. The agent receiving this flag MUST also include it in TRAPI sent to downstream sources (e.g., ARS -> ARAs -> KPs).","type":"boolean"},"log_level":{"description":"The least critical level of logs to return","nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"submitter":{"description":"Any string for self-identifying the submitter of a query. The purpose of this optional field is to aid in the tracking of the source of queries for development and issue resolution.","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps to be executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["message"],"type":"object","x-body-name":"request_body"},"QueryGraph":{"additionalProperties":true,"description":"A graph representing a biomedical question. It serves as a template for each result (answer), where each bound knowledge graph node/edge is expected to obey the constraints of the associated query graph element.","properties":{"edges":{"additionalProperties":{"$ref":"#/components/schemas/QEdge"},"description":"The edge specifications. The keys of this map are unique edge identifiers and the corresponding values include the constraints on bound edges, in addition to specifying the subject and object QNodes.","type":"object"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/QNode"},"description":"The node specifications. The keys of this map are unique node identifiers and the corresponding values include the constraints on bound nodes.","type":"object"}},"required":["nodes","edges"],"type":"object"},"ResourceRoleEnum":{"description":"The role played by the InformationResource in serving as a source for an Edge. Note that a given Edge should have one and only one 'primary' source, and may have any number of 'aggregator' or 'supporting data' sources.  This enumeration is found in Biolink Model, but is repeated here for convenience.","enum":["primary_knowledge_source","aggregator_knowledge_source","supporting_data_source"],"type":"string"},"Response":{"additionalProperties":true,"description":"The Response object contains the main payload when a TRAPI query endpoint interprets and responds to the submitted query successfully (i.e., HTTP Status Code 200). The message property contains the knowledge of the response (query graph, knowledge graph, and results). The status, description, and logs properties provide additional details about the response.","properties":{"biolink_version":{"description":"Version label of the Biolink model used in this document","example":"3.1.2","nullable":true,"type":"string"},"description":{"description":"A brief human-readable description of the outcome","example":"Success. 42 results found.","nullable":true,"type":"string"},"logs":{"description":"A list of LogEntry items, containing errors, warnings, debugging information, etc. List items MUST be in chronological order with earliest first.","items":{"$ref":"#/components/schemas/LogEntry"},"minItems":0,"nullable":false,"type":"array"},"message":{"description":"Contains the knowledge of the response (query graph, knowledge graph, and results).","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"schema_version":{"description":"Version label of the TRAPI schema used in this document","example":"1.4.0","nullable":true,"type":"string"},"status":{"description":"One of a standardized set of short codes, e.g. Success, QueryNotTraversable, KPsNotAvailable","example":"Success","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps that were executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["message"],"type":"object"},"Result":{"additionalProperties":true,"description":"A Result object specifies the nodes and edges in the knowledge graph that satisfy the structure or conditions of a user-submitted query graph. It must contain a NodeBindings object (list of query graph node to knowledge graph node mappings) and a list of Analysis objects.","properties":{"analyses":{"description":"The list of all Analysis components that contribute to the result. See below for Analysis components.","items":{"$ref":"#/components/schemas/Analysis"},"minItems":0,"nullable":false,"type":"array"},"node_bindings":{"additionalProperties":{"items":{"$ref":"#/components/schemas/NodeBinding"},"minItems":1,"type":"array"},"description":"The dictionary of Input Query Graph to Result Knowledge Graph node bindings where the dictionary keys are the key identifiers of the Query Graph nodes and the associated values of those keys are instances of NodeBinding schema type (see below). This value is an array of NodeBindings since a given query node may have multiple knowledge graph Node bindings in the result.","nullable":false,"type":"object"}},"required":["node_bindings","analyses"],"type":"object"},"RetrievalSource":{"additionalProperties":true,"description":"Provides information about how a particular InformationResource served as a source from which knowledge expressed in an Edge, or data used to generate this knowledge, was retrieved.","properties":{"resource_id":{"$ref":"#/components/schemas/CURIE","description":"The CURIE for an Information Resource that served as a source of knowledge expressed in an Edge, or a source of data used to generate this knowledge.","example":"infores:drugbank","nullable":false},"resource_role":{"$ref":"#/components/schemas/ResourceRoleEnum","description":"The role played by the InformationResource in serving as a source for an Edge. Note that a given Edge should have one and only one 'primary' source, and may have any number of 'aggregator' or 'supporting data' sources."},"source_record_urls":{"description":"A URL linking to a specific web page or document provided by the  source, that contains a record of the knowledge expressed in the  Edge. If the knowledge is contained in more than one web page on  an Information Resource's site, urls MAY be provided for each.  For example, Therapeutic Targets Database (TTD) has separate web  pages for 'Imatinib' and its protein target KIT, both of which hold  the claim that 'the KIT protein is a therapeutic target for Imatinib'.         ","example":"[https://db.idrblab.net/ttd/data/drug/details/d0az3c,  https://db.idrblab.net/ttd/data/target/details/t57700]","items":{"type":"string"},"nullable":true,"type":"array"},"upstream_resource_ids":{"description":"An upstream InformationResource from which the resource being described directly retrieved a record of the knowledge expressed in the Edge, or data used to generate this knowledge. This is an array because there are cases where a merged Edge holds knowledge that was retrieved from multiple sources. e.g. an Edge provided by the ARAGORN ARA can expressing knowledge it retrieved from both the automat-mychem-info and molepro KPs, which both provided it with records of this single fact.","example":["infores:automat-mychem-info","infores:molepro"],"items":{"$ref":"#/components/schemas/CURIE"},"nullable":true,"type":"array"}},"required":["resource_id","resource_role"],"type":"object"}}},"externalDocs":{"description":"Documentation for the NCATS Biomedical Translator Reasoners web services","url":"https://github.com/NCATSTranslator/ReasonerAPI"},"info":{"contact":{"email":"gglusman@systemsbiology.org","name":"Gwenlyn Glusman"},"description":"TRAPI 1.5 endpoint for the Multiomics KP, an NCATS Biomedical Translator Knowledge Provider","license":{"name":"Apache 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.html"},"termsOfService":"https://github.com/RTXteam/PloverDB/blob/main/LICENSE","title":"Multiomics KP - TRAPI 1.5.0","version":"2.1.0","x-translator":{"biolink-version":"4.2.1","component":"KP","externalDocs":{"description":"The values for component and team are restricted according to this external JSON schema. See schema and examples at url","url":"https://github.com/NCATSTranslator/translator_extensions/blob/\\ production/x-translator/"},"infores":"infores:multiomics-multiomics","team":["Multiomics Provider"]},"x-trapi":{"asyncquery":false,"externalDocs":{"description":"The values for version are restricted according to the regex in this external JSON schema. See schema and examples at url","url":"https://github.com/NCATSTranslator/translator_extensions/blob/\\ production/x-trapi/"},"multicuriequery":false,"operations":["lookup"],"pathfinderquery":false,"test_data_location":{"default":{"url":"https://multiomics.rtx.ai:9990/mokp/sri_test_triples"}},"version":"1.5.0"}},"openapi":"3.0.1","paths":{"/meta_knowledge_graph":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaKnowledgeGraph"}}},"description":"Returns meta knowledge graph representation of this TRAPI web service."}},"summary":"Meta knowledge graph representation of this TRAPI web service.","tags":["meta_knowledge_graph"]}},"/query":{"post":{"description":"","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Query"}}},"description":"Query information to be submitted","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK. There may or may not be results. Note that some of the provided identifiers may not have been recognized."},"400":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Bad request. The request is invalid according to this OpenAPI schema OR a specific identifier is believed to be invalid somehow (not just unrecognized)."},"413":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Payload too large. Indicates that batch size was over the limit specified in x-trapi."},"429":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Too many requests. Indicates that the client issued requests that exceed the rate limit specified in x-trapi."},"500":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Internal server error."},"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Not implemented."}},"summary":"Initiate a query and wait to receive a Response","tags":["query"]}},"/asyncquery":{"post":{"description":"","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncQuery"}}},"description":"Query information to be submitted","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncQueryResponse"}}},"description":"The query is accepted for processing and the Response will be sent to the callback url when complete."},"400":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Bad request. The request is invalid according to this OpenAPI schema OR a specific identifier is believed to be invalid somehow (not just unrecognized)."},"413":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Payload too large. Indicates that batch size was over the limit specified in x-trapi."},"429":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Too many requests. Indicates that the client issued requests that exceed the rate limit specified in x-trapi."},"500":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Internal server error."},"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Not implemented."}},"summary":"Initiate a query with a callback to receive the response","tags":["asyncquery"]}},"/asyncquery_status/{job_id}":{"get":{"operationId":"asyncquery_status","parameters":[{"description":"Identifier of the job for status request","in":"path","name":"job_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncQueryStatusResponse"}}},"description":"Returns the status and current logs of a previously submitted asyncquery."},"404":{"description":"job_id not found"},"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Return code 501 indicates that this endpoint has not been implemented at this site. Sites that implement /asyncquery MUST implement /asyncquery_status/{job_id}, but those that do not implement /asyncquery SHOULD NOT implement /asyncquery_status."}},"summary":"Retrieve the current status of a previously submitted asyncquery given its job_id","tags":["asyncquery_status"]}}},"servers":[{"description":"MOKP TRAPI 1.5 endpoint - development","url":"https://multiomics.rtx.ai:9990/mokp","x-maturity":"development"},{"description":"MOKP TRAPI 1.5 endpoint - staging","url":"https://multiomics.ci.transltr.io/mokp","x-maturity":"staging"},{"description":"MOKP TRAPI 1.5 endpoint - testing","url":"https://multiomics.test.transltr.io/mokp","x-maturity":"testing"},{"description":"MOKP TRAPI 1.5 endpoint - production","url":"https://multiomics.transltr.io/mokp","x-maturity":"production"}],"tags":[{"description":"Retrieve the meta knowledge graph representation of this TRAPI web service. KPs MUST provide all subject category - predicate - object category triplets that are supported by the service, NOT including all implied ancestor relationships. ARAs SHOULD provide the union of all meta knowledge graphs of all the KPs that they can consult.","name":"meta_knowledge_graph"},{"description":"Initiate a query and wait to receive the response","name":"query"},{"description":"Initiate a query with a callback to receive the response","name":"asyncquery"},{"description":"Retrieve the current status of a previously submitted asyncquery given its job_id","name":"asyncquery_status"},{"description":"Required for SmartAPI validation of x-translator","name":"translator"},{"description":"Required for SmartAPI validation of x-trapi","name":"trapi"}]},{"components":{"schemas":{"Analysis":{"additionalProperties":true,"description":"An analysis is a dictionary that contains information about the result tied to a particular service. Each Analysis is generated by a single reasoning service, and describes the outputs of analyses performed by the reasoner on a particular Result (e.g. a result score), along with provenance information supporting the analysis (e.g. method or data that supported generation of the score).","properties":{"attributes":{"description":"The attributes of this particular Analysis.","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"edge_bindings":{"additionalProperties":{"items":{"$ref":"#/components/schemas/EdgeBinding"},"type":"array"},"description":"The dictionary of input Query Graph to Knowledge Graph edge bindings where the dictionary keys are the key identifiers of the Query Graph edges and the associated values of those keys are instances of EdgeBinding schema type (see below). This value is an array of EdgeBindings since a given query edge may resolve to multiple Knowledge Graph Edges.","type":"object"},"resource_id":{"$ref":"#/components/schemas/CURIE","description":"The id of the resource generating this Analysis"},"score":{"description":"A numerical score associated with this result indicating the relevance or confidence of this result relative to others in the returned set. Higher MUST be better.","example":163.233,"format":"float","nullable":true,"type":"number"},"scoring_method":{"description":"An identifier and link to an explanation for the method used to generate the score","nullable":true,"type":"string"},"support_graphs":{"description":"This is a list of references to Auxiliary Graph instances that supported the analysis of a Result as performed by the reasoning service. Each item in the list is the key of a single Auxiliary Graph.","items":{"type":"string"},"nullable":true,"type":"array"}},"required":["resource_id","edge_bindings"],"type":"object"},"AsyncQuery":{"additionalProperties":true,"description":"The AsyncQuery class is effectively the same as the Query class but it requires a callback property.","properties":{"bypass_cache":{"default":false,"description":"Set to true in order to request that the agent obtain fresh information from its sources in all cases where it has a viable choice between requesting fresh information in real time and using cached information. The agent receiving this flag MUST also include it in TRAPI sent to downstream sources (e.g., ARS -> ARAs -> KPs).","type":"boolean"},"callback":{"description":"Upon completion, this server will send a POST request to the callback URL with `Content-Type: application/json` header and request body containing a JSON-encoded `Response` object. The server MAY POST `Response` objects before work is fully complete to provide interim results with a Response.status value of 'Running'. If a POST operation to the callback URL does not succeed, the server SHOULD retry the POST at least once.","format":"uri","nullable":false,"pattern":"^https?://","type":"string"},"log_level":{"description":"The least critical level of logs to return","nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"submitter":{"description":"Any string for self-identifying the submitter of a query. The purpose of this optional field is to aid in the tracking of the source of queries for development and issue resolution.","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps to be executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["callback","message"],"type":"object","x-body-name":"request_body"},"AsyncQueryResponse":{"additionalProperties":true,"description":"The AsyncQueryResponse object contains a payload that must be returned from a submitted async_query.","properties":{"description":{"description":"A brief human-readable description of the result of the async_query submission.","example":"Async_query has been queued","nullable":true,"type":"string"},"job_id":{"description":"An identifier for the submitted job that can be used with /async_query_status to receive an update on the status of the job.","nullable":false,"type":"string"},"status":{"description":"One of a standardized set of short codes: e.g. Accepted, QueryNotTraversable, KPsNotAvailable","example":"Accepted","nullable":true,"type":"string"}},"required":["job_id"],"type":"object"},"AsyncQueryStatusResponse":{"additionalProperties":true,"description":"The AsyncQueryStatusResponse object contains a payload that describes the current status of a previously submitted async_query.","properties":{"description":{"description":"A brief human-readable description of the current state or summary of the problem if the status is Failed.","example":"Callback URL returned 500","nullable":false,"type":"string"},"logs":{"description":"A list of LogEntry items, containing errors, warnings, debugging information, etc. List items MUST be in chronological order with earliest first. The most recent entry should be last. Its timestamp will be compared against the current time to see if there is still activity.","items":{"$ref":"#/components/schemas/LogEntry"},"minItems":1,"nullable":false,"type":"array"},"response_url":{"description":"Optional URL that can be queried to restrieve the full TRAPI Response.","example":"https://arax.ncats.io/api/arax/v1.3/response/116481","nullable":true,"type":"string"},"status":{"description":"One of a standardized set of short codes: Queued, Running, Completed, Failed","example":"Running","nullable":false,"type":"string"}},"required":["status","description","logs"],"type":"object"},"Attribute":{"additionalProperties":false,"description":"Generic attribute for a node or an edge that expands the key-value pair concept by including fields for additional metadata. These fields can be used to describe the source of the statement made in a key-value pair of the attribute object, or describe the attribute's value itself including its semantic type, or a url providing additional information about it. An attribute may be further qualified with sub-attributes (for example to provide confidence intervals on a value).","properties":{"attribute_source":{"description":"The source of the core assertion made by the key-value pair of an attribute object. Use a CURIE or namespace designator for this resource where possible.","example":"UniProtKB","nullable":true,"type":"string"},"attribute_type_id":{"$ref":"#/components/schemas/CURIE","description":"The 'key' of the attribute object, holding a CURIE of an ontology property defining the attribute (preferably the CURIE of a Biolink association slot). This property captures the relationship asserted to hold between the value of the attribute, and the node or edge from  which it hangs. For example, that a value of '0.000153' represents a p-value supporting an edge, or that a value of 'ChEMBL' represents the original source of the knowledge expressed in the edge.","example":"biolink:synonym"},"attributes":{"description":"A list of attributes providing further information about the parent attribute (for example to provide provenance information about the parent attribute).","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"description":{"description":"Human-readable description for the attribute and its value.","example":"Assertion Authored By Dr. Trans L. Ator","nullable":true,"type":"string"},"original_attribute_name":{"description":"The term used by the original source of an attribute to describe the meaning or significance of the value it captures. This may be a column name in a source tsv file, or a key in a source json document for the field in the data that held the attribute's value. Capturing this information  where possible lets us preserve what the original source said. Note that the data type is string' but the contents of the field could also be a CURIE of a third party ontology term.","example":"p-value","nullable":true,"type":"string"},"value":{"description":"Value of the attribute. May be any data type, including a list.","example":0.000153},"value_type_id":{"description":"CURIE describing the semantic type of an  attribute's value. Use a Biolink class if possible, otherwise a term from an external ontology. If a suitable CURIE/identifier does not exist, enter a descriptive phrase here and submit the new type for consideration by the appropriate authority.","example":"EDAM:data_1187","nullable":true,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"value_url":{"description":"Human-consumable URL linking to a web document that provides additional information about an  attribute's value (not the node or the edge fom which it hangs).","example":"https://pubmed.ncbi.nlm.nih.gov/32529952","nullable":true,"type":"string"}},"required":["attribute_type_id","value"],"type":"object"},"AttributeConstraint":{"additionalProperties":false,"description":"Generic query constraint for a query node or query edge","properties":{"id":{"description":"CURIE of the concept being constrained. For properties defined by the Biolink model this SHOULD be a biolink CURIE. otherwise, if possible, from the EDAM ontology. If a suitable CURIE does not exist, enter a descriptive phrase here and submit the new type for consideration by the appropriate authority.","example":"EDAM:data_0844","oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"name":{"description":"Human-readable name or label for the constraint concept. If appropriate, it SHOULD be the term name of the CURIE used as the 'id'. This is redundant but required for human readability.","example":"molecular mass","type":"string"},"not":{"default":false,"type":"boolean"},"operator":{"description":"Relationship between the database value and the constraint value for the specified id. The operators ==, >, and < mean is equal to, is greater than, and is less than, respectively. The 'matches' operator indicates that the value is a regular expression to be evaluated. If value is a list type, then at least one evaluation must be true (equivalent to OR). This means that the == operator with a list acts like a SQL 'IN' clause. If the value of the compared attribute is a list, then comparisons are performed between each of the constraint values and each of the attribute values, and any one true evaluation counts as an overall true (e.g., [1,2,3] == [6,7,2] is true). The == operator is therefore a broad interpretation of inclusion. The '===' operator requires that the constraint value and the attribute value be the same data type, length, content, and order (e.g. only [1,2,3] === [1,2,3]). The 'not' property negates the operator such that not and == means 'not equal to' (or 'not in' for a list), and not > means <=, and not < means >=, not matches means does not match, and not === means the match between the constraint and attribute values are not exact. The '==' operator SHOULD NOT be used in a manner that describes an \"is a\" subclass relationship for the parent QNode.","enum":["==",">","<","matches","==="],"type":"string"},"unit_id":{"description":"CURIE of the units of the value or list of values in the 'value' property. The Units of Measurement Ontology (UO) should be used if possible. The unit_id MUST be provided for (lists of) numerical values that correspond to a quantity that has units.","example":"UO:0000222","nullable":true},"unit_name":{"description":"Term name that is associated with the CURIE of the units of the value or list of values in the 'value' property. The Units of Measurement Ontology (UO) SHOULD be used if possible. This property SHOULD be provided if a unit_id is provided. This is redundant but recommended for human readability.","example":"kilodalton","nullable":true},"value":{"description":"Value of the attribute. May be any data type, including a list. If the value is a list and there are multiple items, at least one comparison must be true (equivalent to OR) unless the '===' operator is used. If 'value' is of data type 'object', the keys of the object MAY be treated as a list. A 'list' data type paired with the '>' or '<' operators will encode extraneous comparisons, but this is permitted as it is in SQL and other languages.","example":57.0}},"required":["name","id","operator","value"],"type":"object"},"AuxiliaryGraph":{"additionalProperties":true,"description":"A single AuxiliaryGraph instance that is used by Knowledge Graph Edges and Result Analyses. Edges comprising an Auxiliary Graph are a subset of the Knowledge Graph in the message. Data creators can create an AuxiliaryGraph to assemble a specific collections of edges from the Knowledge Graph into a named graph that can be referenced from an Edge as evidence/explanation supporting that Edge, or from a Result Analysis as information used to generate a score.","properties":{"attributes":{"description":"Attributes of the Auxiliary Graph","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"edges":{"description":"List of edges that form the Auxiliary Graph. Each item is a reference to a single Knowledge Graph edge","items":{"type":"string"},"minItems":1,"nullable":false,"type":"array"}},"required":["edges","attributes"],"type":"object"},"BiolinkEntity":{"description":"Compact URI (CURIE) for a Biolink class, biolink:NamedThing or a child thereof. The CURIE must use the prefix 'biolink:' followed by the PascalCase class name.","example":"biolink:PhenotypicFeature","externalDocs":{"description":"Biolink model entities","url":"https://biolink.github.io/biolink-model/docs/NamedThing.html"},"pattern":"^biolink:[A-Z][a-zA-Z]*$","type":"string"},"BiolinkPredicate":{"description":"CURIE for a Biolink 'predicate' slot, taken from the Biolink slot ('is_a') hierarchy rooted in biolink:related_to (snake_case). This predicate defines the Biolink relationship between the subject and object nodes of a biolink:Association defining a knowledge graph edge.","example":"biolink:interacts_with","externalDocs":{"description":"Biolink model predicates","url":"https://biolink.github.io/biolink-model/docs/related_to.html"},"pattern":"^biolink:[a-z][a-z_]*$","type":"string"},"CURIE":{"description":"A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI.","externalDocs":{"url":"https://www.w3.org/TR/2010/NOTE-curie-20101216/"},"type":"string"},"Edge":{"additionalProperties":false,"description":"A specification of the semantic relationship linking two concepts that are expressed as nodes in the knowledge \"thought\" graph resulting from a query upon the underlying knowledge source.","properties":{"attributes":{"description":"A list of additional attributes for this edge","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"object":{"description":"Corresponds to the map key CURIE of the object concept node of this relationship edge.","example":"UniProtKB:P00738","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"predicate":{"description":"The type of relationship between the subject and object for the statement expressed in an Edge. These should be Biolink Model predicate terms and are NOT allowed to be of type 'abstract' or 'mixin'. Returning 'deprecated' predicate terms should also be avoided.","example":"biolink:gene_associated_with_condition","nullable":false,"oneOf":[{"$ref":"#/components/schemas/BiolinkPredicate"}]},"qualifiers":{"description":"A set of Qualifiers that act together to add nuance or detail to the statement expressed in an Edge.","items":{"$ref":"#/components/schemas/Qualifier"},"nullable":true,"type":"array"},"sources":{"description":"A list of RetrievalSource objects that provide information about how a particular Information Resource served as a source from which the knowledge expressed in an Edge, or data used to generate this knowledge, was retrieved.","items":{"$ref":"#/components/schemas/RetrievalSource"},"minItems":1,"nullable":false,"type":"array"},"subject":{"description":"Corresponds to the map key CURIE of the subject concept node of this relationship edge.","example":"MONDO:0011382","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]}},"required":["object","predicate","subject","sources"],"type":"object"},"EdgeBinding":{"additionalProperties":true,"description":"A instance of EdgeBinding is a single KnowledgeGraph Edge mapping, identified by the corresponding 'id' object key identifier of the Edge within the Knowledge Graph. Instances of EdgeBinding may include extra annotation (such annotation is not yet fully standardized). Edge bindings are captured within a specific reasoner's Analysis object because the Edges in the Knowledge Graph that get bound to the input Query Graph may differ between reasoners.","properties":{"attributes":{"description":"A list of attributes providing further information about the edge binding. This is not intended for capturing edge attributes and should only be used for properties that vary from result to result.","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"id":{"description":"The key identifier of a specific KnowledgeGraph Edge.","nullable":false,"type":"string"}},"required":["id","attributes"],"type":"object"},"KnowledgeGraph":{"additionalProperties":true,"description":"The knowledge graph associated with a set of results. The instances of Node and Edge defining this graph represent instances of biolink:NamedThing (concept nodes) and biolink:Association (relationship edges) representing (Attribute) annotated knowledge returned from the knowledge sources and inference agents wrapped by the given TRAPI implementation.","properties":{"edges":{"additionalProperties":{"$ref":"#/components/schemas/Edge"},"description":"Dictionary of Edge instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.","type":"object"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/Node"},"description":"Dictionary of Node instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.","type":"object"}},"required":["nodes","edges"],"type":"object"},"LogEntry":{"additionalProperties":true,"description":"The LogEntry object contains information useful for tracing and debugging across Translator components.  Although an individual component (for example, an ARA or KP) may have its own logging and debugging infrastructure, this internal information is not, in general, available to other components. In addition to a timestamp and logging level, LogEntry includes a string intended to be read by a human, along with one of a standardized set of codes describing the condition of the component sending the message.","properties":{"code":{"description":"One of a standardized set of short codes e.g. QueryNotTraversable, KPNotAvailable, KPResponseMalformed","nullable":true,"type":"string"},"level":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"A human-readable log message","nullable":false,"type":"string"},"timestamp":{"description":"Timestamp in ISO 8601 format, providing the LogEntry time either in univeral coordinated time (UTC) using the 'Z' tag (e.g 2020-09-03T18:13:49Z), or, if local time is provided, the timezone offset must be provided (e.g. 2020-09-03T18:13:49-04:00).","example":"2020-09-03T18:13:49+00:00","format":"date-time","nullable":false,"type":"string"}},"required":["timestamp","message"],"type":"object"},"LogLevel":{"description":"Logging level","enum":["ERROR","WARNING","INFO","DEBUG"],"type":"string"},"Message":{"additionalProperties":false,"description":"The message object holds the main content of a Query or a Response in three properties: query_graph, results, and knowledge_graph. The query_graph property contains the query configuration, the results property contains any answers that are returned by the service, and knowledge_graph property contains lists of edges and nodes in the thought graph corresponding to this message. The content of these properties is context-dependent to the encompassing object and the TRAPI operation requested.","properties":{"auxiliary_graphs":{"additionalProperties":{"$ref":"#/components/schemas/AuxiliaryGraph"},"description":"Dictionary of AuxiliaryGraph instances that are used by Knowledge Graph Edges and Result Analyses. These are referenced elsewhere by the dictionary key.","nullable":true,"type":"object"},"knowledge_graph":{"description":"KnowledgeGraph object that contains lists of nodes and edges in the thought graph corresponding to the message","nullable":true,"oneOf":[{"$ref":"#/components/schemas/KnowledgeGraph"}]},"query_graph":{"description":"QueryGraph object that contains a serialization of a query in the form of a graph","nullable":true,"oneOf":[{"$ref":"#/components/schemas/QueryGraph"}]},"results":{"description":"List of all returned Result objects for the query posed. The list SHOULD NOT be assumed to be ordered. The 'score' property, if present, MAY be used to infer result rankings. If Results are not expected (such as for a query Message), this property SHOULD be null or absent. If Results are expected (such as for a response Message) and no Results are available, this property SHOULD be an array with 0 Results in it.","items":{"$ref":"#/components/schemas/Result"},"minItems":0,"nullable":true,"type":"array"}},"type":"object"},"MetaAttribute":{"properties":{"attribute_source":{"description":"Source of an attribute provided by this TRAPI web service.","example":"infores:chembl","nullable":true,"type":"string"},"attribute_type_id":{"$ref":"#/components/schemas/CURIE","description":"Type of an attribute provided by this TRAPI web service (preferably the CURIE of a Biolink association slot)","example":"biolink:p_value"},"constraint_name":{"description":"Human-readable name or label for the constraint concept. Required whenever constraint_use is true.","example":"p-value","nullable":true,"type":"string"},"constraint_use":{"default":false,"description":"Indicates whether this attribute can be used as a query constraint.","type":"boolean"},"original_attribute_names":{"description":"Names of an the attribute as provided by the source.","items":{"type":"string"},"minItems":1,"nullable":true,"type":"array"}},"required":["attribute_type_id"],"type":"object"},"MetaEdge":{"additionalProperties":false,"description":"Edge in a meta knowledge map describing relationship between a subject Biolink class and an object Biolink class.","properties":{"association":{"$ref":"#/components/schemas/BiolinkEntity","description":"The Biolink association type (entity) that this edge represents. Associations are classes in Biolink that represent a relationship between two entities. For example, the association 'gene interacts with gene' is represented by the Biolink class, 'biolink:GeneToGeneAssociation'.  If association is filled out, then the testing harness can help validate that the qualifiers are being used correctly.","example":"biolink:ChemicalToGeneAssociation"},"attributes":{"description":"Edge attributes provided by this TRAPI web service.","items":{"$ref":"#/components/schemas/MetaAttribute"},"nullable":true,"type":"array"},"knowledge_types":{"description":"A list of knowledge_types that are supported by the service. If the knowledge_types is null, this means that only 'lookup' is supported. Currently allowed values are 'lookup' or 'inferred'.","items":{"type":"string"},"minItems":1,"nullable":true,"type":"array"},"object":{"$ref":"#/components/schemas/BiolinkEntity","description":"Object node category of this relationship edge.","example":"biolink:Protein"},"predicate":{"$ref":"#/components/schemas/BiolinkPredicate","description":"Biolink relationship between the subject and object categories.","example":"biolink:affects"},"qualifiers":{"description":"Qualifiers that are possible to be found on this edge type.","items":{"$ref":"#/components/schemas/MetaQualifier"},"nullable":true,"type":"array"},"subject":{"$ref":"#/components/schemas/BiolinkEntity","description":"Subject node category of this relationship edge.","example":"biolink:ChemicalEntity"}},"required":["subject","predicate","object"],"type":"object"},"MetaKnowledgeGraph":{"description":"Knowledge-map representation of this TRAPI web service. The meta knowledge graph is composed of the union of most specific categories and predicates for each node and edge.","properties":{"edges":{"description":"List of the most specific edges/predicates provided by this TRAPI web service. A predicate is only exposed here if there is an edge for which the predicate is the most specific available.","items":{"$ref":"#/components/schemas/MetaEdge"},"type":"array"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/MetaNode"},"description":"Collection of the most specific node categories provided by this TRAPI web service, indexed by Biolink class CURIEs. A node category is only exposed here if there is node for which that is the most specific category available.","type":"object"}},"required":["nodes","edges"],"type":"object"},"MetaNode":{"additionalProperties":false,"description":"Description of a node category provided by this TRAPI web service.","properties":{"attributes":{"description":"Node attributes provided by this TRAPI web service.","items":{"$ref":"#/components/schemas/MetaAttribute"},"nullable":true,"type":"array"},"id_prefixes":{"description":"List of CURIE prefixes for the node category that this TRAPI web service understands and accepts on the input.","example":["CHEMBL.COMPOUND","INCHIKEY"],"items":{"type":"string"},"minItems":1,"type":"array"}},"required":["id_prefixes"],"type":"object"},"MetaQualifier":{"properties":{"applicable_values":{"description":"The list of values that are possible for this qualifier.","items":{"example":["expression","activity","abundance","degradation"],"type":"string"},"type":"array"},"qualifier_type_id":{"$ref":"#/components/schemas/CURIE","description":"The CURIE of the qualifier type.","example":"biolink:subject_aspect_qualifier","nullable":false}},"required":["qualifier_type_id"],"type":"object"},"Node":{"additionalProperties":false,"description":"A node in the KnowledgeGraph which represents some biomedical concept. Nodes are identified by the keys in the KnowledgeGraph Node mapping.","properties":{"attributes":{"description":"A list of attributes describing the node","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"categories":{"description":"These should be Biolink Model categories and are NOT allowed to be of type 'abstract' or 'mixin'. Returning 'deprecated' categories should also be avoided.","items":{"$ref":"#/components/schemas/BiolinkEntity"},"minItems":1,"nullable":false,"type":"array"},"is_set":{"description":"Indicates that the node represents a set of entities. If this property is missing or null, it is assumed to be false.","nullable":true,"type":"boolean"},"name":{"description":"Formal name of the entity","example":"Haptoglobin","nullable":true,"type":"string"}},"required":["categories","attributes"],"type":"object"},"NodeBinding":{"additionalProperties":true,"description":"An instance of NodeBinding is a single KnowledgeGraph Node mapping, identified by the corresponding 'id' object key identifier of the Node within the Knowledge Graph. Instances of NodeBinding may include extra annotation in the form of additional properties. (such annotation is not yet fully standardized). Each Node Binding must bind directly to node in the original Query Graph.","properties":{"attributes":{"description":"A list of attributes providing further information about the node binding. This is not intended for capturing node attributes and should only be used for properties that vary from result to result.","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"id":{"description":"The CURIE of a Node within the Knowledge Graph.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"query_id":{"description":"An optional property to provide the CURIE in the QueryGraph to which this binding applies. If the bound QNode does not have an an 'id' property or if it is empty, then this query_id MUST be null or absent. If the bound QNode has one or more CURIEs as an 'id' and this NodeBinding's 'id' refers to a QNode 'id' in a manner where the CURIEs are different (typically due to the NodeBinding.id being a descendant of a QNode.id), then this query_id MUST be provided. In other cases, there is no ambiguity, and this query_id SHOULD NOT be provided.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]}},"required":["id","attributes"],"type":"object"},"QEdge":{"additionalProperties":true,"description":"An edge in the QueryGraph used as a filter pattern specification in a query. If the optional predicate property is not specified, it is assumed to be a wildcard match to the target knowledge space. If specified, the ontological inheritance hierarchy associated with the term provided is assumed, such that edge bindings returned may be an exact match to the given QEdge predicate term, or to a term that is a descendant of the QEdge predicate term.","properties":{"attribute_constraints":{"default":[],"description":"A list of attribute constraints applied to a query edge. If there are multiple items, they must all be true (equivalent to AND)","items":{"$ref":"#/components/schemas/AttributeConstraint"},"type":"array"},"knowledge_type":{"description":"Indicates the type of knowledge that the client wants from the server between the subject and object. If the value is 'lookup', then the client wants direct lookup information from knowledge sources. If the value is 'inferred', then the client wants the server to get creative and connect the subject and object in more speculative and non-direct-lookup ways. If this property is absent or null, it MUST be assumed to mean 'lookup'. This feature is currently experimental and may be further extended in the future.","example":"lookup","nullable":true,"type":"string"},"object":{"description":"Corresponds to the map key identifier of the object concept node anchoring the query filter pattern for the query relationship edge.","example":"https://www.uniprot.org/uniprot/P00738","type":"string"},"predicates":{"description":"These should be Biolink Model predicates and are allowed to be of type 'abstract' or 'mixin' (only in QGraphs!). Use of 'deprecated' predicates should be avoided.","items":{"$ref":"#/components/schemas/BiolinkPredicate"},"minItems":1,"nullable":true,"type":"array"},"qualifier_constraints":{"default":[],"description":"A list of QualifierConstraints that provide nuance to the QEdge. If multiple QualifierConstraints are provided, there is an OR relationship between them. If the QEdge has multiple predicates or if the QNodes that correspond to the subject or object of this QEdge have multiple categories or multiple curies, then qualifier_constraints MUST NOT be specified because these complex use cases are not supported at this time.","items":{"$ref":"#/components/schemas/QualifierConstraint"},"type":"array"},"subject":{"description":"Corresponds to the map key identifier of the subject concept node anchoring the query filter pattern for the query relationship edge.","example":"https://omim.org/entry/603903","type":"string"}},"required":["subject","object"],"type":"object"},"QNode":{"additionalProperties":true,"description":"A node in the QueryGraph used to represent an entity in a query. If a CURIE is not specified, any nodes matching the category of the QNode will be returned in the Results.","properties":{"categories":{"description":"These should be Biolink Model categories and are allowed to be of type 'abstract' or 'mixin' (only in QGraphs!). Use of 'deprecated' categories should be avoided.","items":{"$ref":"#/components/schemas/BiolinkEntity"},"minItems":1,"nullable":true,"type":"array"},"constraints":{"default":[],"description":"A list of constraints applied to a query node. If there are multiple items, they must all be true (equivalent to AND)","items":{"$ref":"#/components/schemas/AttributeConstraint"},"type":"array"},"ids":{"description":"A CURIE identifier (or list of identifiers) for this node.  The 'ids' field will hold a list of CURIEs only in the case of a BATCH set_interpretation, where each CURIE is queried  separately. If a list of queried CURIEs is to be considered as a   set (as under a MANY or ALL set_interpretation), the 'ids' field  will hold a single id representing this set, and the individual members  of this set will be captured in a separate 'member_ids' field.  Note that the set id MUST be created as a UUID by the system that  defines the queried set, using a centralized nodenorm service.  Note also that downstream systems MUST re-use the original set UUID  in the messages they create/send, which will facilitate merging or  caching operations.","example":["OMIM:603903"],"items":{"$ref":"#/components/schemas/CURIE"},"minItems":1,"nullable":true,"type":"array"},"member_ids":{"description":"A list of CURIE identifiers for members of a queried set. This  field MUST be populated under a set_interpretation of MANY or ALL, when the 'ids' field holds a UUID representing the set  itself. This field MUST NOT be used under a set_interpretation  of BATCH.","items":{"$ref":"#/components/schemas/CURIE"},"nullable":true,"type":"array"},"set_interpretation":{"description":"Indicates how multiple CURIEs in the ids property MUST be interpreted. BATCH indicates that the query is intended to be a batch query and each CURIE is treated independently. ALL means that all specified CURIES MUST appear in each Result. MANY means that member CURIEs MUST form one or more sets in the Results, and sets with more members are generally considered more desirable that sets with fewer members. If this property is missing or null, the default is BATCH.","enum":["BATCH","ALL","MANY"],"nullable":true,"type":"string"}},"type":"object"},"Qualifier":{"additionalProperties":false,"description":"An additional nuance attached to an assertion","properties":{"qualifier_type_id":{"$ref":"#/components/schemas/CURIE","description":"CURIE for a Biolink 'qualifier' association slot, generally taken from Biolink association slots designated for this purpose (that is, association slots with names ending in 'qualifier') e.g. biolink:subject_aspect_qualifier,  biolink:subject_direction_qualifier, biolink:object_aspect_qualifier, etc. Such qualifiers are used to elaborate a second layer of meaning of a knowledge graph edge. Available qualifiers are edge properties in the Biolink Model (see https://biolink.github.io/biolink-model/docs/edge_properties.html) which have slot names with the suffix string 'qualifier'.","example":"biolink:subject_aspect_qualifier","nullable":false,"pattern":"^biolink:[a-z][a-z_]*$"},"qualifier_value":{"description":"The value associated with the type of the qualifier, drawn from a set of controlled values by the type as specified in the Biolink model (e.g. 'expression' or 'abundance' for the qualifier type 'biolink:subject_aspect_qualifier', etc). The enumeration of qualifier values for a given qualifier type is generally going to be constrained by the category of edge (i.e. biolink:Association subtype) of the (Q)Edge.","example":"expression","nullable":false,"type":"string"}},"required":["qualifier_type_id","qualifier_value"],"type":"object"},"QualifierConstraint":{"additionalProperties":false,"description":"Defines a query constraint based on the qualifier_types and qualifier_values of a set of Qualifiers attached to an edge. For example, it can constrain a \"ChemicalX - affects - ?Gene\" query to return only edges where ChemicalX specifically affects the 'expression' of the Gene, by constraining on the qualifier_type \"biolink:object_aspect_qualifier\" with a qualifier_value of \"expression\".","properties":{"qualifier_set":{"description":"A set of Qualifiers that serves to add nuance to a query, by constraining allowed values held by Qualifiers on queried Edges.","items":{"$ref":"#/components/schemas/Qualifier"},"nullable":false,"type":"array"}},"required":["qualifier_set"],"type":"object"},"Query":{"additionalProperties":true,"description":"The Query class is used to package a user request for information. A Query object consists of a required Message object with optional additional properties. Additional properties are intended to convey implementation-specific or query-independent parameters. For example, an additional property specifying a log level could allow a user to override the default log level in order to receive more fine-grained log information when debugging an issue.","properties":{"bypass_cache":{"default":false,"description":"Set to true in order to request that the agent obtain fresh information from its sources in all cases where it has a viable choice between requesting fresh information in real time and using cached information. The agent receiving this flag MUST also include it in TRAPI sent to downstream sources (e.g., ARS -> ARAs -> KPs).","type":"boolean"},"log_level":{"description":"The least critical level of logs to return","nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"submitter":{"description":"Any string for self-identifying the submitter of a query. The purpose of this optional field is to aid in the tracking of the source of queries for development and issue resolution.","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps to be executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["message"],"type":"object","x-body-name":"request_body"},"QueryGraph":{"additionalProperties":true,"description":"A graph representing a biomedical question. It serves as a template for each result (answer), where each bound knowledge graph node/edge is expected to obey the constraints of the associated query graph element.","properties":{"edges":{"additionalProperties":{"$ref":"#/components/schemas/QEdge"},"description":"The edge specifications. The keys of this map are unique edge identifiers and the corresponding values include the constraints on bound edges, in addition to specifying the subject and object QNodes.","type":"object"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/QNode"},"description":"The node specifications. The keys of this map are unique node identifiers and the corresponding values include the constraints on bound nodes.","type":"object"}},"required":["nodes","edges"],"type":"object"},"ResourceRoleEnum":{"description":"The role played by the InformationResource in serving as a source for an Edge. Note that a given Edge should have one and only one 'primary' source, and may have any number of 'aggregator' or 'supporting data' sources.  This enumeration is found in Biolink Model, but is repeated here for convenience.","enum":["primary_knowledge_source","aggregator_knowledge_source","supporting_data_source"],"type":"string"},"Response":{"additionalProperties":true,"description":"The Response object contains the main payload when a TRAPI query endpoint interprets and responds to the submitted query successfully (i.e., HTTP Status Code 200). The message property contains the knowledge of the response (query graph, knowledge graph, and results). The status, description, and logs properties provide additional details about the response.","properties":{"biolink_version":{"description":"Version label of the Biolink model used in this document","example":"3.1.2","nullable":true,"type":"string"},"description":{"description":"A brief human-readable description of the outcome","example":"Success. 42 results found.","nullable":true,"type":"string"},"logs":{"description":"A list of LogEntry items, containing errors, warnings, debugging information, etc. List items MUST be in chronological order with earliest first.","items":{"$ref":"#/components/schemas/LogEntry"},"minItems":0,"nullable":false,"type":"array"},"message":{"description":"Contains the knowledge of the response (query graph, knowledge graph, and results).","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"schema_version":{"description":"Version label of the TRAPI schema used in this document","example":"1.4.0","nullable":true,"type":"string"},"status":{"description":"One of a standardized set of short codes, e.g. Success, QueryNotTraversable, KPsNotAvailable","example":"Success","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps that were executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["message"],"type":"object"},"Result":{"additionalProperties":true,"description":"A Result object specifies the nodes and edges in the knowledge graph that satisfy the structure or conditions of a user-submitted query graph. It must contain a NodeBindings object (list of query graph node to knowledge graph node mappings) and a list of Analysis objects.","properties":{"analyses":{"description":"The list of all Analysis components that contribute to the result. See below for Analysis components.","items":{"$ref":"#/components/schemas/Analysis"},"minItems":0,"nullable":false,"type":"array"},"node_bindings":{"additionalProperties":{"items":{"$ref":"#/components/schemas/NodeBinding"},"minItems":1,"type":"array"},"description":"The dictionary of Input Query Graph to Result Knowledge Graph node bindings where the dictionary keys are the key identifiers of the Query Graph nodes and the associated values of those keys are instances of NodeBinding schema type (see below). This value is an array of NodeBindings since a given query node may have multiple knowledge graph Node bindings in the result.","nullable":false,"type":"object"}},"required":["node_bindings","analyses"],"type":"object"},"RetrievalSource":{"additionalProperties":true,"description":"Provides information about how a particular InformationResource served as a source from which knowledge expressed in an Edge, or data used to generate this knowledge, was retrieved.","properties":{"resource_id":{"$ref":"#/components/schemas/CURIE","description":"The CURIE for an Information Resource that served as a source of knowledge expressed in an Edge, or a source of data used to generate this knowledge.","example":"infores:drugbank","nullable":false},"resource_role":{"$ref":"#/components/schemas/ResourceRoleEnum","description":"The role played by the InformationResource in serving as a source for an Edge. Note that a given Edge should have one and only one 'primary' source, and may have any number of 'aggregator' or 'supporting data' sources."},"source_record_urls":{"description":"A URL linking to a specific web page or document provided by the  source, that contains a record of the knowledge expressed in the  Edge. If the knowledge is contained in more than one web page on  an Information Resource's site, urls MAY be provided for each.  For example, Therapeutic Targets Database (TTD) has separate web  pages for 'Imatinib' and its protein target KIT, both of which hold  the claim that 'the KIT protein is a therapeutic target for Imatinib'.         ","example":"[https://db.idrblab.net/ttd/data/drug/details/d0az3c,  https://db.idrblab.net/ttd/data/target/details/t57700]","items":{"type":"string"},"nullable":true,"type":"array"},"upstream_resource_ids":{"description":"An upstream InformationResource from which the resource being described directly retrieved a record of the knowledge expressed in the Edge, or data used to generate this knowledge. This is an array because there are cases where a merged Edge holds knowledge that was retrieved from multiple sources. e.g. an Edge provided by the ARAGORN ARA can expressing knowledge it retrieved from both the automat-mychem-info and molepro KPs, which both provided it with records of this single fact.","example":["infores:automat-mychem-info","infores:molepro"],"items":{"$ref":"#/components/schemas/CURIE"},"nullable":true,"type":"array"}},"required":["resource_id","resource_role"],"type":"object"}}},"externalDocs":{"description":"Documentation for the NCATS Biomedical Translator Reasoners web services","url":"https://github.com/NCATSTranslator/ReasonerAPI"},"info":{"contact":{"email":"gglusman@systemsbiology.org","name":"Gwenlyn Glusman"},"description":"TRAPI 1.5 endpoint for the Multiomics Drug Approvals KP, an NCATS Biomedical Translator Knowledge Provider","license":{"name":"Apache 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.html"},"termsOfService":"https://github.com/RTXteam/PloverDB/blob/main/LICENSE","title":"Drug Approvals KP - TRAPI 1.5.0","version":"0.5.5","x-translator":{"biolink-version":"4.2.1","component":"KP","externalDocs":{"description":"The values for component and team are restricted according to this external JSON schema. See schema and examples at url","url":"https://github.com/NCATSTranslator/translator_extensions/blob/\\ production/x-translator/"},"infores":"infores:multiomics-drugapprovals","team":["Multiomics Provider"]},"x-trapi":{"asyncquery":false,"externalDocs":{"description":"The values for version are restricted according to the regex in this external JSON schema. See schema and examples at url","url":"https://github.com/NCATSTranslator/translator_extensions/blob/\\ production/x-trapi/"},"multicuriequery":false,"operations":["lookup"],"pathfinderquery":false,"test_data_location":{"default":{"url":"https://multiomics.rtx.ai:9990/dakp/sri_test_triples"}},"version":"1.5.0"}},"openapi":"3.0.1","paths":{"/meta_knowledge_graph":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaKnowledgeGraph"}}},"description":"Returns meta knowledge graph representation of this TRAPI web service."}},"summary":"Meta knowledge graph representation of this TRAPI web service.","tags":["meta_knowledge_graph"]}},"/query":{"post":{"description":"","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Query"}}},"description":"Query information to be submitted","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK. There may or may not be results. Note that some of the provided identifiers may not have been recognized."},"400":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Bad request. The request is invalid according to this OpenAPI schema OR a specific identifier is believed to be invalid somehow (not just unrecognized)."},"413":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Payload too large. Indicates that batch size was over the limit specified in x-trapi."},"429":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Too many requests. Indicates that the client issued requests that exceed the rate limit specified in x-trapi."},"500":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Internal server error."},"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Not implemented."}},"summary":"Initiate a query and wait to receive a Response","tags":["query"]}},"/asyncquery":{"post":{"description":"","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncQuery"}}},"description":"Query information to be submitted","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncQueryResponse"}}},"description":"The query is accepted for processing and the Response will be sent to the callback url when complete."},"400":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Bad request. The request is invalid according to this OpenAPI schema OR a specific identifier is believed to be invalid somehow (not just unrecognized)."},"413":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Payload too large. Indicates that batch size was over the limit specified in x-trapi."},"429":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Too many requests. Indicates that the client issued requests that exceed the rate limit specified in x-trapi."},"500":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Internal server error."},"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Not implemented."}},"summary":"Initiate a query with a callback to receive the response","tags":["asyncquery"]}},"/asyncquery_status/{job_id}":{"get":{"operationId":"asyncquery_status","parameters":[{"description":"Identifier of the job for status request","in":"path","name":"job_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncQueryStatusResponse"}}},"description":"Returns the status and current logs of a previously submitted asyncquery."},"404":{"description":"job_id not found"},"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Return code 501 indicates that this endpoint has not been implemented at this site. Sites that implement /asyncquery MUST implement /asyncquery_status/{job_id}, but those that do not implement /asyncquery SHOULD NOT implement /asyncquery_status."}},"summary":"Retrieve the current status of a previously submitted asyncquery given its job_id","tags":["asyncquery_status"]}}},"servers":[{"description":"DAKP TRAPI 1.5 endpoint - development","url":"https://multiomics.rtx.ai:9990/dakp","x-maturity":"development"},{"description":"DAKP TRAPI 1.5 endpoint - staging","url":"https://multiomics.ci.transltr.io/dakp","x-maturity":"staging"},{"description":"DAKP TRAPI 1.5 endpoint - testing","url":"https://multiomics.test.transltr.io/dakp","x-maturity":"testing"},{"description":"DAKP TRAPI 1.5 endpoint - production","url":"https://multiomics.transltr.io/dakp","x-maturity":"production"}],"tags":[{"description":"Retrieve the meta knowledge graph representation of this TRAPI web service. KPs MUST provide all subject category - predicate - object category triplets that are supported by the service, NOT including all implied ancestor relationships. ARAs SHOULD provide the union of all meta knowledge graphs of all the KPs that they can consult.","name":"meta_knowledge_graph"},{"description":"Initiate a query and wait to receive the response","name":"query"},{"description":"Initiate a query with a callback to receive the response","name":"asyncquery"},{"description":"Retrieve the current status of a previously submitted asyncquery given its job_id","name":"asyncquery_status"},{"description":"Required for SmartAPI validation of x-translator","name":"translator"},{"description":"Required for SmartAPI validation of x-trapi","name":"trapi"}]},{"components":{"schemas":{"Analysis":{"additionalProperties":true,"description":"An analysis is a dictionary that contains information about the result tied to a particular service. Each Analysis is generated by a single reasoning service, and describes the outputs of analyses performed by the reasoner on a particular Result (e.g. a result score), along with provenance information supporting the analysis (e.g. method or data that supported generation of the score).","properties":{"attributes":{"description":"The attributes of this particular Analysis.","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"edge_bindings":{"additionalProperties":{"items":{"$ref":"#/components/schemas/EdgeBinding"},"type":"array"},"description":"The dictionary of input Query Graph to Knowledge Graph edge bindings where the dictionary keys are the key identifiers of the Query Graph edges and the associated values of those keys are instances of EdgeBinding schema type (see below). This value is an array of EdgeBindings since a given query edge may resolve to multiple Knowledge Graph Edges.","type":"object"},"resource_id":{"$ref":"#/components/schemas/CURIE","description":"The id of the resource generating this Analysis"},"score":{"description":"A numerical score associated with this result indicating the relevance or confidence of this result relative to others in the returned set. Higher MUST be better.","example":163.233,"format":"float","nullable":true,"type":"number"},"scoring_method":{"description":"An identifier and link to an explanation for the method used to generate the score","nullable":true,"type":"string"},"support_graphs":{"description":"This is a list of references to Auxiliary Graph instances that supported the analysis of a Result as performed by the reasoning service. Each item in the list is the key of a single Auxiliary Graph.","items":{"type":"string"},"nullable":true,"type":"array"}},"required":["resource_id","edge_bindings"],"type":"object"},"AsyncQuery":{"additionalProperties":true,"description":"The AsyncQuery class is effectively the same as the Query class but it requires a callback property.","properties":{"bypass_cache":{"default":false,"description":"Set to true in order to request that the agent obtain fresh information from its sources in all cases where it has a viable choice between requesting fresh information in real time and using cached information. The agent receiving this flag MUST also include it in TRAPI sent to downstream sources (e.g., ARS -> ARAs -> KPs).","type":"boolean"},"callback":{"description":"Upon completion, this server will send a POST request to the callback URL with `Content-Type: application/json` header and request body containing a JSON-encoded `Response` object. The server MAY POST `Response` objects before work is fully complete to provide interim results with a Response.status value of 'Running'. If a POST operation to the callback URL does not succeed, the server SHOULD retry the POST at least once.","format":"uri","nullable":false,"pattern":"^https?://","type":"string"},"log_level":{"description":"The least critical level of logs to return","nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"submitter":{"description":"Any string for self-identifying the submitter of a query. The purpose of this optional field is to aid in the tracking of the source of queries for development and issue resolution.","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps to be executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["callback","message"],"type":"object","x-body-name":"request_body"},"AsyncQueryResponse":{"additionalProperties":true,"description":"The AsyncQueryResponse object contains a payload that must be returned from a submitted async_query.","properties":{"description":{"description":"A brief human-readable description of the result of the async_query submission.","example":"Async_query has been queued","nullable":true,"type":"string"},"job_id":{"description":"An identifier for the submitted job that can be used with /async_query_status to receive an update on the status of the job.","nullable":false,"type":"string"},"status":{"description":"One of a standardized set of short codes: e.g. Accepted, QueryNotTraversable, KPsNotAvailable","example":"Accepted","nullable":true,"type":"string"}},"required":["job_id"],"type":"object"},"AsyncQueryStatusResponse":{"additionalProperties":true,"description":"The AsyncQueryStatusResponse object contains a payload that describes the current status of a previously submitted async_query.","properties":{"description":{"description":"A brief human-readable description of the current state or summary of the problem if the status is Failed.","example":"Callback URL returned 500","nullable":false,"type":"string"},"logs":{"description":"A list of LogEntry items, containing errors, warnings, debugging information, etc. List items MUST be in chronological order with earliest first. The most recent entry should be last. Its timestamp will be compared against the current time to see if there is still activity.","items":{"$ref":"#/components/schemas/LogEntry"},"minItems":1,"nullable":false,"type":"array"},"response_url":{"description":"Optional URL that can be queried to restrieve the full TRAPI Response.","example":"https://arax.ncats.io/api/arax/v1.3/response/116481","nullable":true,"type":"string"},"status":{"description":"One of a standardized set of short codes: Queued, Running, Completed, Failed","example":"Running","nullable":false,"type":"string"}},"required":["status","description","logs"],"type":"object"},"Attribute":{"additionalProperties":false,"description":"Generic attribute for a node or an edge that expands the key-value pair concept by including fields for additional metadata. These fields can be used to describe the source of the statement made in a key-value pair of the attribute object, or describe the attribute's value itself including its semantic type, or a url providing additional information about it. An attribute may be further qualified with sub-attributes (for example to provide confidence intervals on a value).","properties":{"attribute_source":{"description":"The source of the core assertion made by the key-value pair of an attribute object. Use a CURIE or namespace designator for this resource where possible.","example":"UniProtKB","nullable":true,"type":"string"},"attribute_type_id":{"$ref":"#/components/schemas/CURIE","description":"The 'key' of the attribute object, holding a CURIE of an ontology property defining the attribute (preferably the CURIE of a Biolink association slot). This property captures the relationship asserted to hold between the value of the attribute, and the node or edge from  which it hangs. For example, that a value of '0.000153' represents a p-value supporting an edge, or that a value of 'ChEMBL' represents the original source of the knowledge expressed in the edge.","example":"biolink:synonym"},"attributes":{"description":"A list of attributes providing further information about the parent attribute (for example to provide provenance information about the parent attribute).","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"description":{"description":"Human-readable description for the attribute and its value.","example":"Assertion Authored By Dr. Trans L. Ator","nullable":true,"type":"string"},"original_attribute_name":{"description":"The term used by the original source of an attribute to describe the meaning or significance of the value it captures. This may be a column name in a source tsv file, or a key in a source json document for the field in the data that held the attribute's value. Capturing this information  where possible lets us preserve what the original source said. Note that the data type is string' but the contents of the field could also be a CURIE of a third party ontology term.","example":"p-value","nullable":true,"type":"string"},"value":{"description":"Value of the attribute. May be any data type, including a list.","example":0.000153},"value_type_id":{"description":"CURIE describing the semantic type of an  attribute's value. Use a Biolink class if possible, otherwise a term from an external ontology. If a suitable CURIE/identifier does not exist, enter a descriptive phrase here and submit the new type for consideration by the appropriate authority.","example":"EDAM:data_1187","nullable":true,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"value_url":{"description":"Human-consumable URL linking to a web document that provides additional information about an  attribute's value (not the node or the edge fom which it hangs).","example":"https://pubmed.ncbi.nlm.nih.gov/32529952","nullable":true,"type":"string"}},"required":["attribute_type_id","value"],"type":"object"},"AttributeConstraint":{"additionalProperties":false,"description":"Generic query constraint for a query node or query edge","properties":{"id":{"description":"CURIE of the concept being constrained. For properties defined by the Biolink model this SHOULD be a biolink CURIE. otherwise, if possible, from the EDAM ontology. If a suitable CURIE does not exist, enter a descriptive phrase here and submit the new type for consideration by the appropriate authority.","example":"EDAM:data_0844","oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"name":{"description":"Human-readable name or label for the constraint concept. If appropriate, it SHOULD be the term name of the CURIE used as the 'id'. This is redundant but required for human readability.","example":"molecular mass","type":"string"},"not":{"default":false,"type":"boolean"},"operator":{"description":"Relationship between the database value and the constraint value for the specified id. The operators ==, >, and < mean is equal to, is greater than, and is less than, respectively. The 'matches' operator indicates that the value is a regular expression to be evaluated. If value is a list type, then at least one evaluation must be true (equivalent to OR). This means that the == operator with a list acts like a SQL 'IN' clause. If the value of the compared attribute is a list, then comparisons are performed between each of the constraint values and each of the attribute values, and any one true evaluation counts as an overall true (e.g., [1,2,3] == [6,7,2] is true). The == operator is therefore a broad interpretation of inclusion. The '===' operator requires that the constraint value and the attribute value be the same data type, length, content, and order (e.g. only [1,2,3] === [1,2,3]). The 'not' property negates the operator such that not and == means 'not equal to' (or 'not in' for a list), and not > means <=, and not < means >=, not matches means does not match, and not === means the match between the constraint and attribute values are not exact. The '==' operator SHOULD NOT be used in a manner that describes an \"is a\" subclass relationship for the parent QNode.","enum":["==",">","<","matches","==="],"type":"string"},"unit_id":{"description":"CURIE of the units of the value or list of values in the 'value' property. The Units of Measurement Ontology (UO) should be used if possible. The unit_id MUST be provided for (lists of) numerical values that correspond to a quantity that has units.","example":"UO:0000222","nullable":true},"unit_name":{"description":"Term name that is associated with the CURIE of the units of the value or list of values in the 'value' property. The Units of Measurement Ontology (UO) SHOULD be used if possible. This property SHOULD be provided if a unit_id is provided. This is redundant but recommended for human readability.","example":"kilodalton","nullable":true},"value":{"description":"Value of the attribute. May be any data type, including a list. If the value is a list and there are multiple items, at least one comparison must be true (equivalent to OR) unless the '===' operator is used. If 'value' is of data type 'object', the keys of the object MAY be treated as a list. A 'list' data type paired with the '>' or '<' operators will encode extraneous comparisons, but this is permitted as it is in SQL and other languages.","example":57.0}},"required":["name","id","operator","value"],"type":"object"},"AuxiliaryGraph":{"additionalProperties":true,"description":"A single AuxiliaryGraph instance that is used by Knowledge Graph Edges and Result Analyses. Edges comprising an Auxiliary Graph are a subset of the Knowledge Graph in the message. Data creators can create an AuxiliaryGraph to assemble a specific collections of edges from the Knowledge Graph into a named graph that can be referenced from an Edge as evidence/explanation supporting that Edge, or from a Result Analysis as information used to generate a score.","properties":{"attributes":{"description":"Attributes of the Auxiliary Graph","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"edges":{"description":"List of edges that form the Auxiliary Graph. Each item is a reference to a single Knowledge Graph edge","items":{"type":"string"},"minItems":1,"nullable":false,"type":"array"}},"required":["edges","attributes"],"type":"object"},"BiolinkEntity":{"description":"Compact URI (CURIE) for a Biolink class, biolink:NamedThing or a child thereof. The CURIE must use the prefix 'biolink:' followed by the PascalCase class name.","example":"biolink:PhenotypicFeature","externalDocs":{"description":"Biolink model entities","url":"https://biolink.github.io/biolink-model/docs/NamedThing.html"},"pattern":"^biolink:[A-Z][a-zA-Z]*$","type":"string"},"BiolinkPredicate":{"description":"CURIE for a Biolink 'predicate' slot, taken from the Biolink slot ('is_a') hierarchy rooted in biolink:related_to (snake_case). This predicate defines the Biolink relationship between the subject and object nodes of a biolink:Association defining a knowledge graph edge.","example":"biolink:interacts_with","externalDocs":{"description":"Biolink model predicates","url":"https://biolink.github.io/biolink-model/docs/related_to.html"},"pattern":"^biolink:[a-z][a-z_]*$","type":"string"},"CURIE":{"description":"A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI.","externalDocs":{"url":"https://www.w3.org/TR/2010/NOTE-curie-20101216/"},"type":"string"},"Edge":{"additionalProperties":false,"description":"A specification of the semantic relationship linking two concepts that are expressed as nodes in the knowledge \"thought\" graph resulting from a query upon the underlying knowledge source.","properties":{"attributes":{"description":"A list of additional attributes for this edge","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"object":{"description":"Corresponds to the map key CURIE of the object concept node of this relationship edge.","example":"UniProtKB:P00738","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"predicate":{"description":"The type of relationship between the subject and object for the statement expressed in an Edge. These should be Biolink Model predicate terms and are NOT allowed to be of type 'abstract' or 'mixin'. Returning 'deprecated' predicate terms should also be avoided.","example":"biolink:gene_associated_with_condition","nullable":false,"oneOf":[{"$ref":"#/components/schemas/BiolinkPredicate"}]},"qualifiers":{"description":"A set of Qualifiers that act together to add nuance or detail to the statement expressed in an Edge.","items":{"$ref":"#/components/schemas/Qualifier"},"nullable":true,"type":"array"},"sources":{"description":"A list of RetrievalSource objects that provide information about how a particular Information Resource served as a source from which the knowledge expressed in an Edge, or data used to generate this knowledge, was retrieved.","items":{"$ref":"#/components/schemas/RetrievalSource"},"minItems":1,"nullable":false,"type":"array"},"subject":{"description":"Corresponds to the map key CURIE of the subject concept node of this relationship edge.","example":"MONDO:0011382","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]}},"required":["object","predicate","subject","sources"],"type":"object"},"EdgeBinding":{"additionalProperties":true,"description":"A instance of EdgeBinding is a single KnowledgeGraph Edge mapping, identified by the corresponding 'id' object key identifier of the Edge within the Knowledge Graph. Instances of EdgeBinding may include extra annotation (such annotation is not yet fully standardized). Edge bindings are captured within a specific reasoner's Analysis object because the Edges in the Knowledge Graph that get bound to the input Query Graph may differ between reasoners.","properties":{"attributes":{"description":"A list of attributes providing further information about the edge binding. This is not intended for capturing edge attributes and should only be used for properties that vary from result to result.","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"id":{"description":"The key identifier of a specific KnowledgeGraph Edge.","nullable":false,"type":"string"}},"required":["id","attributes"],"type":"object"},"KnowledgeGraph":{"additionalProperties":true,"description":"The knowledge graph associated with a set of results. The instances of Node and Edge defining this graph represent instances of biolink:NamedThing (concept nodes) and biolink:Association (relationship edges) representing (Attribute) annotated knowledge returned from the knowledge sources and inference agents wrapped by the given TRAPI implementation.","properties":{"edges":{"additionalProperties":{"$ref":"#/components/schemas/Edge"},"description":"Dictionary of Edge instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.","type":"object"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/Node"},"description":"Dictionary of Node instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.","type":"object"}},"required":["nodes","edges"],"type":"object"},"LogEntry":{"additionalProperties":true,"description":"The LogEntry object contains information useful for tracing and debugging across Translator components.  Although an individual component (for example, an ARA or KP) may have its own logging and debugging infrastructure, this internal information is not, in general, available to other components. In addition to a timestamp and logging level, LogEntry includes a string intended to be read by a human, along with one of a standardized set of codes describing the condition of the component sending the message.","properties":{"code":{"description":"One of a standardized set of short codes e.g. QueryNotTraversable, KPNotAvailable, KPResponseMalformed","nullable":true,"type":"string"},"level":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"A human-readable log message","nullable":false,"type":"string"},"timestamp":{"description":"Timestamp in ISO 8601 format, providing the LogEntry time either in univeral coordinated time (UTC) using the 'Z' tag (e.g 2020-09-03T18:13:49Z), or, if local time is provided, the timezone offset must be provided (e.g. 2020-09-03T18:13:49-04:00).","example":"2020-09-03T18:13:49+00:00","format":"date-time","nullable":false,"type":"string"}},"required":["timestamp","message"],"type":"object"},"LogLevel":{"description":"Logging level","enum":["ERROR","WARNING","INFO","DEBUG"],"type":"string"},"Message":{"additionalProperties":false,"description":"The message object holds the main content of a Query or a Response in three properties: query_graph, results, and knowledge_graph. The query_graph property contains the query configuration, the results property contains any answers that are returned by the service, and knowledge_graph property contains lists of edges and nodes in the thought graph corresponding to this message. The content of these properties is context-dependent to the encompassing object and the TRAPI operation requested.","properties":{"auxiliary_graphs":{"additionalProperties":{"$ref":"#/components/schemas/AuxiliaryGraph"},"description":"Dictionary of AuxiliaryGraph instances that are used by Knowledge Graph Edges and Result Analyses. These are referenced elsewhere by the dictionary key.","nullable":true,"type":"object"},"knowledge_graph":{"description":"KnowledgeGraph object that contains lists of nodes and edges in the thought graph corresponding to the message","nullable":true,"oneOf":[{"$ref":"#/components/schemas/KnowledgeGraph"}]},"query_graph":{"description":"QueryGraph object that contains a serialization of a query in the form of a graph","nullable":true,"oneOf":[{"$ref":"#/components/schemas/QueryGraph"}]},"results":{"description":"List of all returned Result objects for the query posed. The list SHOULD NOT be assumed to be ordered. The 'score' property, if present, MAY be used to infer result rankings. If Results are not expected (such as for a query Message), this property SHOULD be null or absent. If Results are expected (such as for a response Message) and no Results are available, this property SHOULD be an array with 0 Results in it.","items":{"$ref":"#/components/schemas/Result"},"minItems":0,"nullable":true,"type":"array"}},"type":"object"},"MetaAttribute":{"properties":{"attribute_source":{"description":"Source of an attribute provided by this TRAPI web service.","example":"infores:chembl","nullable":true,"type":"string"},"attribute_type_id":{"$ref":"#/components/schemas/CURIE","description":"Type of an attribute provided by this TRAPI web service (preferably the CURIE of a Biolink association slot)","example":"biolink:p_value"},"constraint_name":{"description":"Human-readable name or label for the constraint concept. Required whenever constraint_use is true.","example":"p-value","nullable":true,"type":"string"},"constraint_use":{"default":false,"description":"Indicates whether this attribute can be used as a query constraint.","type":"boolean"},"original_attribute_names":{"description":"Names of an the attribute as provided by the source.","items":{"type":"string"},"minItems":1,"nullable":true,"type":"array"}},"required":["attribute_type_id"],"type":"object"},"MetaEdge":{"additionalProperties":false,"description":"Edge in a meta knowledge map describing relationship between a subject Biolink class and an object Biolink class.","properties":{"association":{"$ref":"#/components/schemas/BiolinkEntity","description":"The Biolink association type (entity) that this edge represents. Associations are classes in Biolink that represent a relationship between two entities. For example, the association 'gene interacts with gene' is represented by the Biolink class, 'biolink:GeneToGeneAssociation'.  If association is filled out, then the testing harness can help validate that the qualifiers are being used correctly.","example":"biolink:ChemicalToGeneAssociation"},"attributes":{"description":"Edge attributes provided by this TRAPI web service.","items":{"$ref":"#/components/schemas/MetaAttribute"},"nullable":true,"type":"array"},"knowledge_types":{"description":"A list of knowledge_types that are supported by the service. If the knowledge_types is null, this means that only 'lookup' is supported. Currently allowed values are 'lookup' or 'inferred'.","items":{"type":"string"},"minItems":1,"nullable":true,"type":"array"},"object":{"$ref":"#/components/schemas/BiolinkEntity","description":"Object node category of this relationship edge.","example":"biolink:Protein"},"predicate":{"$ref":"#/components/schemas/BiolinkPredicate","description":"Biolink relationship between the subject and object categories.","example":"biolink:affects"},"qualifiers":{"description":"Qualifiers that are possible to be found on this edge type.","items":{"$ref":"#/components/schemas/MetaQualifier"},"nullable":true,"type":"array"},"subject":{"$ref":"#/components/schemas/BiolinkEntity","description":"Subject node category of this relationship edge.","example":"biolink:ChemicalEntity"}},"required":["subject","predicate","object"],"type":"object"},"MetaKnowledgeGraph":{"description":"Knowledge-map representation of this TRAPI web service. The meta knowledge graph is composed of the union of most specific categories and predicates for each node and edge.","properties":{"edges":{"description":"List of the most specific edges/predicates provided by this TRAPI web service. A predicate is only exposed here if there is an edge for which the predicate is the most specific available.","items":{"$ref":"#/components/schemas/MetaEdge"},"type":"array"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/MetaNode"},"description":"Collection of the most specific node categories provided by this TRAPI web service, indexed by Biolink class CURIEs. A node category is only exposed here if there is node for which that is the most specific category available.","type":"object"}},"required":["nodes","edges"],"type":"object"},"MetaNode":{"additionalProperties":false,"description":"Description of a node category provided by this TRAPI web service.","properties":{"attributes":{"description":"Node attributes provided by this TRAPI web service.","items":{"$ref":"#/components/schemas/MetaAttribute"},"nullable":true,"type":"array"},"id_prefixes":{"description":"List of CURIE prefixes for the node category that this TRAPI web service understands and accepts on the input.","example":["CHEMBL.COMPOUND","INCHIKEY"],"items":{"type":"string"},"minItems":1,"type":"array"}},"required":["id_prefixes"],"type":"object"},"MetaQualifier":{"properties":{"applicable_values":{"description":"The list of values that are possible for this qualifier.","items":{"example":["expression","activity","abundance","degradation"],"type":"string"},"type":"array"},"qualifier_type_id":{"$ref":"#/components/schemas/CURIE","description":"The CURIE of the qualifier type.","example":"biolink:subject_aspect_qualifier","nullable":false}},"required":["qualifier_type_id"],"type":"object"},"Node":{"additionalProperties":false,"description":"A node in the KnowledgeGraph which represents some biomedical concept. Nodes are identified by the keys in the KnowledgeGraph Node mapping.","properties":{"attributes":{"description":"A list of attributes describing the node","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"categories":{"description":"These should be Biolink Model categories and are NOT allowed to be of type 'abstract' or 'mixin'. Returning 'deprecated' categories should also be avoided.","items":{"$ref":"#/components/schemas/BiolinkEntity"},"minItems":1,"nullable":false,"type":"array"},"is_set":{"description":"Indicates that the node represents a set of entities. If this property is missing or null, it is assumed to be false.","nullable":true,"type":"boolean"},"name":{"description":"Formal name of the entity","example":"Haptoglobin","nullable":true,"type":"string"}},"required":["categories","attributes"],"type":"object"},"NodeBinding":{"additionalProperties":true,"description":"An instance of NodeBinding is a single KnowledgeGraph Node mapping, identified by the corresponding 'id' object key identifier of the Node within the Knowledge Graph. Instances of NodeBinding may include extra annotation in the form of additional properties. (such annotation is not yet fully standardized). Each Node Binding must bind directly to node in the original Query Graph.","properties":{"attributes":{"description":"A list of attributes providing further information about the node binding. This is not intended for capturing node attributes and should only be used for properties that vary from result to result.","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"id":{"description":"The CURIE of a Node within the Knowledge Graph.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"query_id":{"description":"An optional property to provide the CURIE in the QueryGraph to which this binding applies. If the bound QNode does not have an an 'id' property or if it is empty, then this query_id MUST be null or absent. If the bound QNode has one or more CURIEs as an 'id' and this NodeBinding's 'id' refers to a QNode 'id' in a manner where the CURIEs are different (typically due to the NodeBinding.id being a descendant of a QNode.id), then this query_id MUST be provided. In other cases, there is no ambiguity, and this query_id SHOULD NOT be provided.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]}},"required":["id","attributes"],"type":"object"},"QEdge":{"additionalProperties":true,"description":"An edge in the QueryGraph used as a filter pattern specification in a query. If the optional predicate property is not specified, it is assumed to be a wildcard match to the target knowledge space. If specified, the ontological inheritance hierarchy associated with the term provided is assumed, such that edge bindings returned may be an exact match to the given QEdge predicate term, or to a term that is a descendant of the QEdge predicate term.","properties":{"attribute_constraints":{"default":[],"description":"A list of attribute constraints applied to a query edge. If there are multiple items, they must all be true (equivalent to AND)","items":{"$ref":"#/components/schemas/AttributeConstraint"},"type":"array"},"knowledge_type":{"description":"Indicates the type of knowledge that the client wants from the server between the subject and object. If the value is 'lookup', then the client wants direct lookup information from knowledge sources. If the value is 'inferred', then the client wants the server to get creative and connect the subject and object in more speculative and non-direct-lookup ways. If this property is absent or null, it MUST be assumed to mean 'lookup'. This feature is currently experimental and may be further extended in the future.","example":"lookup","nullable":true,"type":"string"},"object":{"description":"Corresponds to the map key identifier of the object concept node anchoring the query filter pattern for the query relationship edge.","example":"https://www.uniprot.org/uniprot/P00738","type":"string"},"predicates":{"description":"These should be Biolink Model predicates and are allowed to be of type 'abstract' or 'mixin' (only in QGraphs!). Use of 'deprecated' predicates should be avoided.","items":{"$ref":"#/components/schemas/BiolinkPredicate"},"minItems":1,"nullable":true,"type":"array"},"qualifier_constraints":{"default":[],"description":"A list of QualifierConstraints that provide nuance to the QEdge. If multiple QualifierConstraints are provided, there is an OR relationship between them. If the QEdge has multiple predicates or if the QNodes that correspond to the subject or object of this QEdge have multiple categories or multiple curies, then qualifier_constraints MUST NOT be specified because these complex use cases are not supported at this time.","items":{"$ref":"#/components/schemas/QualifierConstraint"},"type":"array"},"subject":{"description":"Corresponds to the map key identifier of the subject concept node anchoring the query filter pattern for the query relationship edge.","example":"https://omim.org/entry/603903","type":"string"}},"required":["subject","object"],"type":"object"},"QNode":{"additionalProperties":true,"description":"A node in the QueryGraph used to represent an entity in a query. If a CURIE is not specified, any nodes matching the category of the QNode will be returned in the Results.","properties":{"categories":{"description":"These should be Biolink Model categories and are allowed to be of type 'abstract' or 'mixin' (only in QGraphs!). Use of 'deprecated' categories should be avoided.","items":{"$ref":"#/components/schemas/BiolinkEntity"},"minItems":1,"nullable":true,"type":"array"},"constraints":{"default":[],"description":"A list of constraints applied to a query node. If there are multiple items, they must all be true (equivalent to AND)","items":{"$ref":"#/components/schemas/AttributeConstraint"},"type":"array"},"ids":{"description":"A CURIE identifier (or list of identifiers) for this node.  The 'ids' field will hold a list of CURIEs only in the case of a BATCH set_interpretation, where each CURIE is queried  separately. If a list of queried CURIEs is to be considered as a   set (as under a MANY or ALL set_interpretation), the 'ids' field  will hold a single id representing this set, and the individual members  of this set will be captured in a separate 'member_ids' field.  Note that the set id MUST be created as a UUID by the system that  defines the queried set, using a centralized nodenorm service.  Note also that downstream systems MUST re-use the original set UUID  in the messages they create/send, which will facilitate merging or  caching operations.","example":["OMIM:603903"],"items":{"$ref":"#/components/schemas/CURIE"},"minItems":1,"nullable":true,"type":"array"},"member_ids":{"description":"A list of CURIE identifiers for members of a queried set. This  field MUST be populated under a set_interpretation of MANY or ALL, when the 'ids' field holds a UUID representing the set  itself. This field MUST NOT be used under a set_interpretation  of BATCH.","items":{"$ref":"#/components/schemas/CURIE"},"nullable":true,"type":"array"},"set_interpretation":{"description":"Indicates how multiple CURIEs in the ids property MUST be interpreted. BATCH indicates that the query is intended to be a batch query and each CURIE is treated independently. ALL means that all specified CURIES MUST appear in each Result. MANY means that member CURIEs MUST form one or more sets in the Results, and sets with more members are generally considered more desirable that sets with fewer members. If this property is missing or null, the default is BATCH.","enum":["BATCH","ALL","MANY"],"nullable":true,"type":"string"}},"type":"object"},"Qualifier":{"additionalProperties":false,"description":"An additional nuance attached to an assertion","properties":{"qualifier_type_id":{"$ref":"#/components/schemas/CURIE","description":"CURIE for a Biolink 'qualifier' association slot, generally taken from Biolink association slots designated for this purpose (that is, association slots with names ending in 'qualifier') e.g. biolink:subject_aspect_qualifier,  biolink:subject_direction_qualifier, biolink:object_aspect_qualifier, etc. Such qualifiers are used to elaborate a second layer of meaning of a knowledge graph edge. Available qualifiers are edge properties in the Biolink Model (see https://biolink.github.io/biolink-model/docs/edge_properties.html) which have slot names with the suffix string 'qualifier'.","example":"biolink:subject_aspect_qualifier","nullable":false,"pattern":"^biolink:[a-z][a-z_]*$"},"qualifier_value":{"description":"The value associated with the type of the qualifier, drawn from a set of controlled values by the type as specified in the Biolink model (e.g. 'expression' or 'abundance' for the qualifier type 'biolink:subject_aspect_qualifier', etc). The enumeration of qualifier values for a given qualifier type is generally going to be constrained by the category of edge (i.e. biolink:Association subtype) of the (Q)Edge.","example":"expression","nullable":false,"type":"string"}},"required":["qualifier_type_id","qualifier_value"],"type":"object"},"QualifierConstraint":{"additionalProperties":false,"description":"Defines a query constraint based on the qualifier_types and qualifier_values of a set of Qualifiers attached to an edge. For example, it can constrain a \"ChemicalX - affects - ?Gene\" query to return only edges where ChemicalX specifically affects the 'expression' of the Gene, by constraining on the qualifier_type \"biolink:object_aspect_qualifier\" with a qualifier_value of \"expression\".","properties":{"qualifier_set":{"description":"A set of Qualifiers that serves to add nuance to a query, by constraining allowed values held by Qualifiers on queried Edges.","items":{"$ref":"#/components/schemas/Qualifier"},"nullable":false,"type":"array"}},"required":["qualifier_set"],"type":"object"},"Query":{"additionalProperties":true,"description":"The Query class is used to package a user request for information. A Query object consists of a required Message object with optional additional properties. Additional properties are intended to convey implementation-specific or query-independent parameters. For example, an additional property specifying a log level could allow a user to override the default log level in order to receive more fine-grained log information when debugging an issue.","properties":{"bypass_cache":{"default":false,"description":"Set to true in order to request that the agent obtain fresh information from its sources in all cases where it has a viable choice between requesting fresh information in real time and using cached information. The agent receiving this flag MUST also include it in TRAPI sent to downstream sources (e.g., ARS -> ARAs -> KPs).","type":"boolean"},"log_level":{"description":"The least critical level of logs to return","nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"submitter":{"description":"Any string for self-identifying the submitter of a query. The purpose of this optional field is to aid in the tracking of the source of queries for development and issue resolution.","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps to be executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["message"],"type":"object","x-body-name":"request_body"},"QueryGraph":{"additionalProperties":true,"description":"A graph representing a biomedical question. It serves as a template for each result (answer), where each bound knowledge graph node/edge is expected to obey the constraints of the associated query graph element.","properties":{"edges":{"additionalProperties":{"$ref":"#/components/schemas/QEdge"},"description":"The edge specifications. The keys of this map are unique edge identifiers and the corresponding values include the constraints on bound edges, in addition to specifying the subject and object QNodes.","type":"object"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/QNode"},"description":"The node specifications. The keys of this map are unique node identifiers and the corresponding values include the constraints on bound nodes.","type":"object"}},"required":["nodes","edges"],"type":"object"},"ResourceRoleEnum":{"description":"The role played by the InformationResource in serving as a source for an Edge. Note that a given Edge should have one and only one 'primary' source, and may have any number of 'aggregator' or 'supporting data' sources.  This enumeration is found in Biolink Model, but is repeated here for convenience.","enum":["primary_knowledge_source","aggregator_knowledge_source","supporting_data_source"],"type":"string"},"Response":{"additionalProperties":true,"description":"The Response object contains the main payload when a TRAPI query endpoint interprets and responds to the submitted query successfully (i.e., HTTP Status Code 200). The message property contains the knowledge of the response (query graph, knowledge graph, and results). The status, description, and logs properties provide additional details about the response.","properties":{"biolink_version":{"description":"Version label of the Biolink model used in this document","example":"3.1.2","nullable":true,"type":"string"},"description":{"description":"A brief human-readable description of the outcome","example":"Success. 42 results found.","nullable":true,"type":"string"},"logs":{"description":"A list of LogEntry items, containing errors, warnings, debugging information, etc. List items MUST be in chronological order with earliest first.","items":{"$ref":"#/components/schemas/LogEntry"},"minItems":0,"nullable":false,"type":"array"},"message":{"description":"Contains the knowledge of the response (query graph, knowledge graph, and results).","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"schema_version":{"description":"Version label of the TRAPI schema used in this document","example":"1.4.0","nullable":true,"type":"string"},"status":{"description":"One of a standardized set of short codes, e.g. Success, QueryNotTraversable, KPsNotAvailable","example":"Success","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps that were executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["message"],"type":"object"},"Result":{"additionalProperties":true,"description":"A Result object specifies the nodes and edges in the knowledge graph that satisfy the structure or conditions of a user-submitted query graph. It must contain a NodeBindings object (list of query graph node to knowledge graph node mappings) and a list of Analysis objects.","properties":{"analyses":{"description":"The list of all Analysis components that contribute to the result. See below for Analysis components.","items":{"$ref":"#/components/schemas/Analysis"},"minItems":0,"nullable":false,"type":"array"},"node_bindings":{"additionalProperties":{"items":{"$ref":"#/components/schemas/NodeBinding"},"minItems":1,"type":"array"},"description":"The dictionary of Input Query Graph to Result Knowledge Graph node bindings where the dictionary keys are the key identifiers of the Query Graph nodes and the associated values of those keys are instances of NodeBinding schema type (see below). This value is an array of NodeBindings since a given query node may have multiple knowledge graph Node bindings in the result.","nullable":false,"type":"object"}},"required":["node_bindings","analyses"],"type":"object"},"RetrievalSource":{"additionalProperties":true,"description":"Provides information about how a particular InformationResource served as a source from which knowledge expressed in an Edge, or data used to generate this knowledge, was retrieved.","properties":{"resource_id":{"$ref":"#/components/schemas/CURIE","description":"The CURIE for an Information Resource that served as a source of knowledge expressed in an Edge, or a source of data used to generate this knowledge.","example":"infores:drugbank","nullable":false},"resource_role":{"$ref":"#/components/schemas/ResourceRoleEnum","description":"The role played by the InformationResource in serving as a source for an Edge. Note that a given Edge should have one and only one 'primary' source, and may have any number of 'aggregator' or 'supporting data' sources."},"source_record_urls":{"description":"A URL linking to a specific web page or document provided by the  source, that contains a record of the knowledge expressed in the  Edge. If the knowledge is contained in more than one web page on  an Information Resource's site, urls MAY be provided for each.  For example, Therapeutic Targets Database (TTD) has separate web  pages for 'Imatinib' and its protein target KIT, both of which hold  the claim that 'the KIT protein is a therapeutic target for Imatinib'.         ","example":"[https://db.idrblab.net/ttd/data/drug/details/d0az3c,  https://db.idrblab.net/ttd/data/target/details/t57700]","items":{"type":"string"},"nullable":true,"type":"array"},"upstream_resource_ids":{"description":"An upstream InformationResource from which the resource being described directly retrieved a record of the knowledge expressed in the Edge, or data used to generate this knowledge. This is an array because there are cases where a merged Edge holds knowledge that was retrieved from multiple sources. e.g. an Edge provided by the ARAGORN ARA can expressing knowledge it retrieved from both the automat-mychem-info and molepro KPs, which both provided it with records of this single fact.","example":["infores:automat-mychem-info","infores:molepro"],"items":{"$ref":"#/components/schemas/CURIE"},"nullable":true,"type":"array"}},"required":["resource_id","resource_role"],"type":"object"}}},"externalDocs":{"description":"Documentation for the NCATS Biomedical Translator Reasoners web services","url":"https://github.com/NCATSTranslator/ReasonerAPI"},"info":{"contact":{"email":"gglusman@systemsbiology.org","name":"Gwenlyn Glusman"},"description":"TRAPI 1.5 endpoint for the Multiomics Clinical Trials KP, an NCATS Biomedical Translator Knowledge Provider","license":{"name":"Apache 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.html"},"termsOfService":"https://github.com/RTXteam/PloverDB/blob/main/LICENSE","title":"Clinical Trials KP - TRAPI 1.5.0","version":"3.1.38","x-translator":{"biolink-version":"4.2.1","component":"KP","externalDocs":{"description":"The values for component and team are restricted according to this external JSON schema. See schema and examples at url","url":"https://github.com/NCATSTranslator/translator_extensions/blob/\\ production/x-translator/"},"infores":"infores:multiomics-clinicaltrials","team":["Multiomics Provider"]},"x-trapi":{"asyncquery":false,"externalDocs":{"description":"The values for version are restricted according to the regex in this external JSON schema. See schema and examples at url","url":"https://github.com/NCATSTranslator/translator_extensions/blob/\\ production/x-trapi/"},"multicuriequery":false,"operations":["lookup"],"pathfinderquery":false,"test_data_location":{"default":{"url":"https://multiomics.rtx.ai:9990/ctkp/sri_test_triples"}},"version":"1.5.0"}},"openapi":"3.0.1","paths":{"/meta_knowledge_graph":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaKnowledgeGraph"}}},"description":"Returns meta knowledge graph representation of this TRAPI web service."}},"summary":"Meta knowledge graph representation of this TRAPI web service.","tags":["meta_knowledge_graph"]}},"/query":{"post":{"description":"","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Query"}}},"description":"Query information to be submitted","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK. There may or may not be results. Note that some of the provided identifiers may not have been recognized."},"400":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Bad request. The request is invalid according to this OpenAPI schema OR a specific identifier is believed to be invalid somehow (not just unrecognized)."},"413":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Payload too large. Indicates that batch size was over the limit specified in x-trapi."},"429":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Too many requests. Indicates that the client issued requests that exceed the rate limit specified in x-trapi."},"500":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Internal server error."},"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Not implemented."}},"summary":"Initiate a query and wait to receive a Response","tags":["query"]}},"/asyncquery":{"post":{"description":"","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncQuery"}}},"description":"Query information to be submitted","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncQueryResponse"}}},"description":"The query is accepted for processing and the Response will be sent to the callback url when complete."},"400":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Bad request. The request is invalid according to this OpenAPI schema OR a specific identifier is believed to be invalid somehow (not just unrecognized)."},"413":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Payload too large. Indicates that batch size was over the limit specified in x-trapi."},"429":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Too many requests. Indicates that the client issued requests that exceed the rate limit specified in x-trapi."},"500":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Internal server error."},"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Not implemented."}},"summary":"Initiate a query with a callback to receive the response","tags":["asyncquery"]}},"/asyncquery_status/{job_id}":{"get":{"operationId":"asyncquery_status","parameters":[{"description":"Identifier of the job for status request","in":"path","name":"job_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncQueryStatusResponse"}}},"description":"Returns the status and current logs of a previously submitted asyncquery."},"404":{"description":"job_id not found"},"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Return code 501 indicates that this endpoint has not been implemented at this site. Sites that implement /asyncquery MUST implement /asyncquery_status/{job_id}, but those that do not implement /asyncquery SHOULD NOT implement /asyncquery_status."}},"summary":"Retrieve the current status of a previously submitted asyncquery given its job_id","tags":["asyncquery_status"]}}},"servers":[{"description":"CTKP TRAPI 1.5 endpoint - development","url":"https://multiomics.rtx.ai:9990/ctkp","x-maturity":"development"},{"description":"CTKP TRAPI 1.5 endpoint - staging","url":"https://multiomics.ci.transltr.io/ctkp","x-maturity":"staging"},{"description":"CTKP TRAPI 1.5 endpoint - testing","url":"https://multiomics.test.transltr.io/ctkp","x-maturity":"testing"},{"description":"CTKP TRAPI 1.5 endpoint - production","url":"https://multiomics.transltr.io/ctkp","x-maturity":"production"}],"tags":[{"description":"Retrieve the meta knowledge graph representation of this TRAPI web service. KPs MUST provide all subject category - predicate - object category triplets that are supported by the service, NOT including all implied ancestor relationships. ARAs SHOULD provide the union of all meta knowledge graphs of all the KPs that they can consult.","name":"meta_knowledge_graph"},{"description":"Initiate a query and wait to receive the response","name":"query"},{"description":"Initiate a query with a callback to receive the response","name":"asyncquery"},{"description":"Retrieve the current status of a previously submitted asyncquery given its job_id","name":"asyncquery_status"},{"description":"Required for SmartAPI validation of x-translator","name":"translator"},{"description":"Required for SmartAPI validation of x-trapi","name":"trapi"}]},{"components":{"schemas":{"Analysis":{"additionalProperties":true,"description":"An analysis is a dictionary that contains information about the result tied to a particular service. Each Analysis is generated by a single reasoning service, and describes the outputs of analyses performed by the reasoner on a particular Result (e.g. a result score), along with provenance information supporting the analysis (e.g. method or data that supported generation of the score).","properties":{"attributes":{"description":"The attributes of this particular Analysis.","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"edge_bindings":{"additionalProperties":{"items":{"$ref":"#/components/schemas/EdgeBinding"},"type":"array"},"description":"The dictionary of input Query Graph to Knowledge Graph edge bindings where the dictionary keys are the key identifiers of the Query Graph edges and the associated values of those keys are instances of EdgeBinding schema type (see below). This value is an array of EdgeBindings since a given query edge may resolve to multiple Knowledge Graph Edges.","type":"object"},"resource_id":{"$ref":"#/components/schemas/CURIE","description":"The id of the resource generating this Analysis"},"score":{"description":"A numerical score associated with this result indicating the relevance or confidence of this result relative to others in the returned set. Higher MUST be better.","example":163.233,"format":"float","nullable":true,"type":"number"},"scoring_method":{"description":"An identifier and link to an explanation for the method used to generate the score","nullable":true,"type":"string"},"support_graphs":{"description":"This is a list of references to Auxiliary Graph instances that supported the analysis of a Result as performed by the reasoning service. Each item in the list is the key of a single Auxiliary Graph.","items":{"type":"string"},"nullable":true,"type":"array"}},"required":["resource_id","edge_bindings"],"type":"object"},"AsyncQuery":{"additionalProperties":true,"description":"The AsyncQuery class is effectively the same as the Query class but it requires a callback property.","properties":{"bypass_cache":{"default":false,"description":"Set to true in order to request that the agent obtain fresh information from its sources in all cases where it has a viable choice between requesting fresh information in real time and using cached information. The agent receiving this flag MUST also include it in TRAPI sent to downstream sources (e.g., ARS -> ARAs -> KPs).","type":"boolean"},"callback":{"description":"Upon completion, this server will send a POST request to the callback URL with `Content-Type: application/json` header and request body containing a JSON-encoded `Response` object. The server MAY POST `Response` objects before work is fully complete to provide interim results with a Response.status value of 'Running'. If a POST operation to the callback URL does not succeed, the server SHOULD retry the POST at least once.","format":"uri","nullable":false,"pattern":"^https?://","type":"string"},"log_level":{"description":"The least critical level of logs to return","nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"submitter":{"description":"Any string for self-identifying the submitter of a query. The purpose of this optional field is to aid in the tracking of the source of queries for development and issue resolution.","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps to be executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["callback","message"],"type":"object","x-body-name":"request_body"},"AsyncQueryResponse":{"additionalProperties":true,"description":"The AsyncQueryResponse object contains a payload that must be returned from a submitted async_query.","properties":{"description":{"description":"A brief human-readable description of the result of the async_query submission.","example":"Async_query has been queued","nullable":true,"type":"string"},"job_id":{"description":"An identifier for the submitted job that can be used with /async_query_status to receive an update on the status of the job.","example":"rXEOAosN3L","nullable":false,"type":"string"},"status":{"description":"One of a standardized set of short codes: e.g. Accepted, QueryNotTraversable, KPsNotAvailable","example":"Accepted","nullable":true,"type":"string"}},"required":["job_id"],"type":"object"},"AsyncQueryStatusResponse":{"additionalProperties":true,"description":"The AsyncQueryStatusResponse object contains a payload that describes the current status of a previously submitted async_query.","properties":{"description":{"description":"A brief human-readable description of the current state or summary of the problem if the status is Failed.","example":"Callback URL returned 500","nullable":false,"type":"string"},"logs":{"description":"A list of LogEntry items, containing errors, warnings, debugging information, etc. List items MUST be in chronological order with earliest first. The most recent entry should be last. Its timestamp will be compared against the current time to see if there is still activity.","items":{"$ref":"#/components/schemas/LogEntry"},"minItems":1,"nullable":false,"type":"array"},"response_url":{"description":"Optional URL that can be queried to restrieve the full TRAPI Response.","example":"https://arax.ncats.io/api/arax/v1.3/response/116481","nullable":true,"type":"string"},"status":{"description":"One of a standardized set of short codes: Queued, Running, Completed, Failed","example":"Running","nullable":false,"type":"string"}},"required":["status","description","logs"],"type":"object"},"Attribute":{"additionalProperties":false,"description":"Generic attribute for a node or an edge that expands the key-value pair concept by including fields for additional metadata. These fields can be used to describe the source of the statement made in a key-value pair of the attribute object, or describe the attribute's value itself including its semantic type, or a url providing additional information about it. An attribute may be further qualified with sub-attributes (for example to provide confidence intervals on a value).","properties":{"attribute_source":{"description":"The source of the core assertion made by the key-value pair of an attribute object. Use a CURIE or namespace designator for this resource where possible.","example":"UniProtKB","nullable":true,"type":"string"},"attribute_type_id":{"$ref":"#/components/schemas/CURIE","description":"The 'key' of the attribute object, holding a CURIE of an ontology property defining the attribute (preferably the CURIE of a Biolink association slot). This property captures the relationship asserted to hold between the value of the attribute, and the node or edge from  which it hangs. For example, that a value of '0.000153' represents a p-value supporting an edge, or that a value of 'ChEMBL' represents the original source of the knowledge expressed in the edge.","example":"biolink:synonym"},"attributes":{"description":"A list of attributes providing further information about the parent attribute (for example to provide provenance information about the parent attribute).","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"description":{"description":"Human-readable description for the attribute and its value.","example":"Assertion Authored By Dr. Trans L. Ator","nullable":true,"type":"string"},"original_attribute_name":{"description":"The term used by the original source of an attribute to describe the meaning or significance of the value it captures. This may be a column name in a source tsv file, or a key in a source json document for the field in the data that held the attribute's value. Capturing this information  where possible lets us preserve what the original source said. Note that the data type is string' but the contents of the field could also be a CURIE of a third party ontology term.","example":"p-value","nullable":true,"type":"string"},"value":{"description":"Value of the attribute. May be any data type, including a list.","example":0.000153},"value_type_id":{"description":"CURIE describing the semantic type of an  attribute's value. Use a Biolink class if possible, otherwise a term from an external ontology. If a suitable CURIE/identifier does not exist, enter a descriptive phrase here and submit the new type for consideration by the appropriate authority.","example":"EDAM:data_1187","nullable":true,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"value_url":{"description":"Human-consumable URL linking to a web document that provides additional information about an  attribute's value (not the node or the edge fom which it hangs).","example":"https://pubmed.ncbi.nlm.nih.gov/32529952","nullable":true,"type":"string"}},"required":["attribute_type_id","value"],"type":"object"},"AttributeConstraint":{"additionalProperties":false,"description":"Generic query constraint for a query node or query edge","properties":{"id":{"description":"CURIE of the concept being constrained. For properties defined by the Biolink model this SHOULD be a biolink CURIE. otherwise, if possible, from the EDAM ontology. If a suitable CURIE does not exist, enter a descriptive phrase here and submit the new type for consideration by the appropriate authority.","example":"EDAM:data_0844","oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"name":{"description":"Human-readable name or label for the constraint concept. If appropriate, it SHOULD be the term name of the CURIE used as the 'id'. This is redundant but required for human readability.","example":"molecular mass","type":"string"},"not":{"default":false,"type":"boolean"},"operator":{"description":"Relationship between the database value and the constraint value for the specified id. The operators ==, >, and < mean is equal to, is greater than, and is less than, respectively. The 'matches' operator indicates that the value is a regular expression to be evaluated. If value is a list type, then at least one evaluation must be true (equivalent to OR). This means that the == operator with a list acts like a SQL 'IN' clause. If the value of the compared attribute is a list, then comparisons are performed between each of the constraint values and each of the attribute values, and any one true evaluation counts as an overall true (e.g., [1,2,3] == [6,7,2] is true). The == operator is therefore a broad interpretation of inclusion. The '===' operator requires that the constraint value and the attribute value be the same data type, length, content, and order (e.g. only [1,2,3] === [1,2,3]). The 'not' property negates the operator such that not and == means 'not equal to' (or 'not in' for a list), and not > means <=, and not < means >=, not matches means does not match, and not === means the match between the constraint and attribute values are not exact. The '==' operator SHOULD NOT be used in a manner that describes an \"is a\" subclass relationship for the parent QNode.","enum":["==",">","<","matches","==="],"type":"string"},"unit_id":{"description":"CURIE of the units of the value or list of values in the 'value' property. The Units of Measurement Ontology (UO) should be used if possible. The unit_id MUST be provided for (lists of) numerical values that correspond to a quantity that has units.","example":"UO:0000222","nullable":true},"unit_name":{"description":"Term name that is associated with the CURIE of the units of the value or list of values in the 'value' property. The Units of Measurement Ontology (UO) SHOULD be used if possible. This property SHOULD be provided if a unit_id is provided. This is redundant but recommended for human readability.","example":"kilodalton","nullable":true},"value":{"description":"Value of the attribute. May be any data type, including a list. If the value is a list and there are multiple items, at least one comparison must be true (equivalent to OR) unless the '===' operator is used. If 'value' is of data type 'object', the keys of the object MAY be treated as a list. A 'list' data type paired with the '>' or '<' operators will encode extraneous comparisons, but this is permitted as it is in SQL and other languages.","example":57.0}},"required":["name","id","operator","value"],"type":"object"},"AuxiliaryGraph":{"additionalProperties":true,"description":"A single AuxiliaryGraph instance that is used by Knowledge Graph Edges and Result Analyses. Edges comprising an Auxiliary Graph are a subset of the Knowledge Graph in the message. Data creators can create an AuxiliaryGraph to assemble a specific collections of edges from the Knowledge Graph into a named graph that can be referenced from an Edge as evidence/explanation supporting that Edge, or from a Result Analysis as information used to generate a score.","properties":{"attributes":{"description":"Attributes of the Auxiliary Graph","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"edges":{"description":"List of edges that form the Auxiliary Graph. Each item is a reference to a single Knowledge Graph edge","items":{"type":"string"},"minItems":1,"nullable":false,"type":"array"}},"required":["edges","attributes"],"type":"object"},"BiolinkEntity":{"description":"Compact URI (CURIE) for a Biolink class, biolink:NamedThing or a child thereof. The CURIE must use the prefix 'biolink:' followed by the PascalCase class name.","example":"biolink:PhenotypicFeature","externalDocs":{"description":"Biolink model entities","url":"https://biolink.github.io/biolink-model/docs/NamedThing.html"},"pattern":"^biolink:[A-Z][a-zA-Z]*$","type":"string"},"BiolinkPredicate":{"description":"CURIE for a Biolink 'predicate' slot, taken from the Biolink slot ('is_a') hierarchy rooted in biolink:related_to (snake_case). This predicate defines the Biolink relationship between the subject and object nodes of a biolink:Association defining a knowledge graph edge.","example":"biolink:interacts_with","externalDocs":{"description":"Biolink model predicates","url":"https://biolink.github.io/biolink-model/docs/related_to.html"},"pattern":"^biolink:[a-z][a-z_]*$","type":"string"},"CURIE":{"description":"A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI.","externalDocs":{"url":"https://www.w3.org/TR/2010/NOTE-curie-20101216/"},"type":"string"},"Edge":{"additionalProperties":false,"description":"A specification of the semantic relationship linking two concepts that are expressed as nodes in the knowledge \"thought\" graph resulting from a query upon the underlying knowledge source.","properties":{"attributes":{"description":"A list of additional attributes for this edge","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"object":{"description":"Corresponds to the map key CURIE of the object concept node of this relationship edge.","example":"UniProtKB:P00738","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"predicate":{"description":"The type of relationship between the subject and object for the statement expressed in an Edge. These should be Biolink Model predicate terms and are NOT allowed to be of type 'abstract' or 'mixin'. Returning 'deprecated' predicate terms should also be avoided.","example":"biolink:gene_associated_with_condition","nullable":false,"oneOf":[{"$ref":"#/components/schemas/BiolinkPredicate"}]},"qualifiers":{"description":"A set of Qualifiers that act together to add nuance or detail to the statement expressed in an Edge.","items":{"$ref":"#/components/schemas/Qualifier"},"nullable":true,"type":"array"},"sources":{"description":"A list of RetrievalSource objects that provide information about how a particular Information Resource served as a source from which the knowledge expressed in an Edge, or data used to generate this knowledge, was retrieved.","items":{"$ref":"#/components/schemas/RetrievalSource"},"minItems":1,"nullable":false,"type":"array"},"subject":{"description":"Corresponds to the map key CURIE of the subject concept node of this relationship edge.","example":"MONDO:0011382","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]}},"required":["object","predicate","subject","sources"],"type":"object"},"EdgeBinding":{"additionalProperties":true,"description":"A instance of EdgeBinding is a single KnowledgeGraph Edge mapping, identified by the corresponding 'id' object key identifier of the Edge within the Knowledge Graph. Instances of EdgeBinding may include extra annotation (such annotation is not yet fully standardized). Edge bindings are captured within a specific reasoner's Analysis object because the Edges in the Knowledge Graph that get bound to the input Query Graph may differ between reasoners.","properties":{"attributes":{"description":"A list of attributes providing further information about the edge binding. This is not intended for capturing edge attributes and should only be used for properties that vary from result to result.","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"id":{"description":"The key identifier of a specific KnowledgeGraph Edge.","nullable":false,"type":"string"}},"required":["id","attributes"],"type":"object"},"KnowledgeGraph":{"additionalProperties":true,"description":"The knowledge graph associated with a set of results. The instances of Node and Edge defining this graph represent instances of biolink:NamedThing (concept nodes) and biolink:Association (relationship edges) representing (Attribute) annotated knowledge returned from the knowledge sources and inference agents wrapped by the given TRAPI implementation.","properties":{"edges":{"additionalProperties":{"$ref":"#/components/schemas/Edge"},"description":"Dictionary of Edge instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.","type":"object"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/Node"},"description":"Dictionary of Node instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.","type":"object"}},"required":["nodes","edges"],"type":"object"},"LogEntry":{"additionalProperties":true,"description":"The LogEntry object contains information useful for tracing and debugging across Translator components.  Although an individual component (for example, an ARA or KP) may have its own logging and debugging infrastructure, this internal information is not, in general, available to other components. In addition to a timestamp and logging level, LogEntry includes a string intended to be read by a human, along with one of a standardized set of codes describing the condition of the component sending the message.","properties":{"code":{"description":"One of a standardized set of short codes e.g. QueryNotTraversable, KPNotAvailable, KPResponseMalformed","nullable":true,"type":"string"},"level":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"A human-readable log message","nullable":false,"type":"string"},"timestamp":{"description":"Timestamp in ISO 8601 format, providing the LogEntry time either in univeral coordinated time (UTC) using the 'Z' tag (e.g 2020-09-03T18:13:49Z), or, if local time is provided, the timezone offset must be provided (e.g. 2020-09-03T18:13:49-04:00).","example":"2020-09-03T18:13:49+00:00","format":"date-time","nullable":false,"type":"string"}},"required":["timestamp","message"],"type":"object"},"LogLevel":{"description":"Logging level","enum":["ERROR","WARNING","INFO","DEBUG"],"type":"string"},"Message":{"additionalProperties":false,"description":"The message object holds the main content of a Query or a Response in three properties: query_graph, results, and knowledge_graph. The query_graph property contains the query configuration, the results property contains any answers that are returned by the service, and knowledge_graph property contains lists of edges and nodes in the thought graph corresponding to this message. The content of these properties is context-dependent to the encompassing object and the TRAPI operation requested.","properties":{"auxiliary_graphs":{"additionalProperties":{"$ref":"#/components/schemas/AuxiliaryGraph"},"description":"Dictionary of AuxiliaryGraph instances that are used by Knowledge Graph Edges and Result Analyses. These are referenced elsewhere by the dictionary key.","nullable":true,"type":"object"},"knowledge_graph":{"description":"KnowledgeGraph object that contains lists of nodes and edges in the thought graph corresponding to the message","nullable":true,"oneOf":[{"$ref":"#/components/schemas/KnowledgeGraph"}]},"query_graph":{"description":"QueryGraph object that contains a serialization of a query in the form of a graph","nullable":true,"oneOf":[{"$ref":"#/components/schemas/QueryGraph"}]},"results":{"description":"List of all returned Result objects for the query posed. The list SHOULD NOT be assumed to be ordered. The 'score' property, if present, MAY be used to infer result rankings. If Results are not expected (such as for a query Message), this property SHOULD be null or absent. If Results are expected (such as for a response Message) and no Results are available, this property SHOULD be an array with 0 Results in it.","items":{"$ref":"#/components/schemas/Result"},"minItems":0,"nullable":true,"type":"array"}},"type":"object"},"MetaAttribute":{"properties":{"attribute_source":{"description":"Source of an attribute provided by this TRAPI web service.","example":"infores:chembl","nullable":true,"type":"string"},"attribute_type_id":{"$ref":"#/components/schemas/CURIE","description":"Type of an attribute provided by this TRAPI web service (preferably the CURIE of a Biolink association slot)","example":"biolink:p_value"},"constraint_name":{"description":"Human-readable name or label for the constraint concept. Required whenever constraint_use is true.","example":"p-value","nullable":true,"type":"string"},"constraint_use":{"default":false,"description":"Indicates whether this attribute can be used as a query constraint.","type":"boolean"},"original_attribute_names":{"description":"Names of an the attribute as provided by the source.","items":{"type":"string"},"minItems":1,"nullable":true,"type":"array"}},"required":["attribute_type_id"],"type":"object"},"MetaEdge":{"additionalProperties":false,"description":"Edge in a meta knowledge map describing relationship between a subject Biolink class and an object Biolink class.","properties":{"association":{"$ref":"#/components/schemas/BiolinkEntity","description":"The Biolink association type (entity) that this edge represents. Associations are classes in Biolink that represent a relationship between two entities. For example, the association 'gene interacts with gene' is represented by the Biolink class, 'biolink:GeneToGeneAssociation'.  If association is filled out, then the testing harness can help validate that the qualifiers are being used correctly.","example":"biolink:ChemicalToGeneAssociation"},"attributes":{"description":"Edge attributes provided by this TRAPI web service.","items":{"$ref":"#/components/schemas/MetaAttribute"},"nullable":true,"type":"array"},"knowledge_types":{"description":"A list of knowledge_types that are supported by the service. If the knowledge_types is null, this means that only 'lookup' is supported. Currently allowed values are 'lookup' or 'inferred'.","items":{"type":"string"},"minItems":1,"nullable":true,"type":"array"},"object":{"$ref":"#/components/schemas/BiolinkEntity","description":"Object node category of this relationship edge.","example":"biolink:Protein"},"predicate":{"$ref":"#/components/schemas/BiolinkPredicate","description":"Biolink relationship between the subject and object categories.","example":"biolink:affects"},"qualifiers":{"description":"Qualifiers that are possible to be found on this edge type.","items":{"$ref":"#/components/schemas/MetaQualifier"},"nullable":true,"type":"array"},"subject":{"$ref":"#/components/schemas/BiolinkEntity","description":"Subject node category of this relationship edge.","example":"biolink:ChemicalEntity"}},"required":["subject","predicate","object"],"type":"object"},"MetaKnowledgeGraph":{"description":"Knowledge-map representation of this TRAPI web service. The meta knowledge graph is composed of the union of most specific categories and predicates for each node and edge.","properties":{"edges":{"description":"List of the most specific edges/predicates provided by this TRAPI web service. A predicate is only exposed here if there is an edge for which the predicate is the most specific available.","items":{"$ref":"#/components/schemas/MetaEdge"},"type":"array"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/MetaNode"},"description":"Collection of the most specific node categories provided by this TRAPI web service, indexed by Biolink class CURIEs. A node category is only exposed here if there is node for which that is the most specific category available.","type":"object"}},"required":["nodes","edges"],"type":"object"},"MetaNode":{"additionalProperties":false,"description":"Description of a node category provided by this TRAPI web service.","properties":{"attributes":{"description":"Node attributes provided by this TRAPI web service.","items":{"$ref":"#/components/schemas/MetaAttribute"},"nullable":true,"type":"array"},"id_prefixes":{"description":"List of CURIE prefixes for the node category that this TRAPI web service understands and accepts on the input.","example":["CHEMBL.COMPOUND","INCHIKEY"],"items":{"type":"string"},"minItems":1,"type":"array"}},"required":["id_prefixes"],"type":"object"},"MetaQualifier":{"properties":{"applicable_values":{"description":"The list of values that are possible for this qualifier.","items":{"example":["expression","activity","abundance","degradation"],"type":"string"},"type":"array"},"qualifier_type_id":{"$ref":"#/components/schemas/CURIE","description":"The CURIE of the qualifier type.","example":"biolink:subject_aspect_qualifier","nullable":false}},"required":["qualifier_type_id"],"type":"object"},"Node":{"additionalProperties":false,"description":"A node in the KnowledgeGraph which represents some biomedical concept. Nodes are identified by the keys in the KnowledgeGraph Node mapping.","properties":{"attributes":{"description":"A list of attributes describing the node","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"categories":{"description":"These should be Biolink Model categories and are NOT allowed to be of type 'abstract' or 'mixin'. Returning 'deprecated' categories should also be avoided.","items":{"$ref":"#/components/schemas/BiolinkEntity"},"minItems":1,"nullable":false,"type":"array"},"is_set":{"description":"Indicates that the node represents a set of entities. If this property is missing or null, it is assumed to be false.","nullable":true,"type":"boolean"},"name":{"description":"Formal name of the entity","example":"Haptoglobin","nullable":true,"type":"string"}},"required":["categories","attributes"],"type":"object"},"NodeBinding":{"additionalProperties":true,"description":"An instance of NodeBinding is a single KnowledgeGraph Node mapping, identified by the corresponding 'id' object key identifier of the Node within the Knowledge Graph. Instances of NodeBinding may include extra annotation in the form of additional properties. (such annotation is not yet fully standardized). Each Node Binding must bind directly to node in the original Query Graph.","properties":{"attributes":{"description":"A list of attributes providing further information about the node binding. This is not intended for capturing node attributes and should only be used for properties that vary from result to result.","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"id":{"description":"The CURIE of a Node within the Knowledge Graph.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"query_id":{"description":"An optional property to provide the CURIE in the QueryGraph to which this binding applies. If the bound QNode does not have an an 'id' property or if it is empty, then this query_id MUST be null or absent. If the bound QNode has one or more CURIEs as an 'id' and this NodeBinding's 'id' refers to a QNode 'id' in a manner where the CURIEs are different (typically due to the NodeBinding.id being a descendant of a QNode.id), then this query_id MUST be provided. In other cases, there is no ambiguity, and this query_id SHOULD NOT be provided.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]}},"required":["id","attributes"],"type":"object"},"QEdge":{"additionalProperties":true,"description":"An edge in the QueryGraph used as a filter pattern specification in a query. If the optional predicate property is not specified, it is assumed to be a wildcard match to the target knowledge space. If specified, the ontological inheritance hierarchy associated with the term provided is assumed, such that edge bindings returned may be an exact match to the given QEdge predicate term, or to a term that is a descendant of the QEdge predicate term.","properties":{"attribute_constraints":{"default":[],"description":"A list of attribute constraints applied to a query edge. If there are multiple items, they must all be true (equivalent to AND)","items":{"$ref":"#/components/schemas/AttributeConstraint"},"type":"array"},"knowledge_type":{"description":"Indicates the type of knowledge that the client wants from the server between the subject and object. If the value is 'lookup', then the client wants direct lookup information from knowledge sources. If the value is 'inferred', then the client wants the server to get creative and connect the subject and object in more speculative and non-direct-lookup ways. If this property is absent or null, it MUST be assumed to mean 'lookup'. This feature is currently experimental and may be further extended in the future.","example":"lookup","nullable":true,"type":"string"},"object":{"description":"Corresponds to the map key identifier of the object concept node anchoring the query filter pattern for the query relationship edge.","example":"https://www.uniprot.org/uniprot/P00738","type":"string"},"predicates":{"description":"These should be Biolink Model predicates and are allowed to be of type 'abstract' or 'mixin' (only in QGraphs!). Use of 'deprecated' predicates should be avoided.","items":{"$ref":"#/components/schemas/BiolinkPredicate"},"minItems":1,"nullable":true,"type":"array"},"qualifier_constraints":{"default":[],"description":"A list of QualifierConstraints that provide nuance to the QEdge. If multiple QualifierConstraints are provided, there is an OR relationship between them. If the QEdge has multiple predicates or if the QNodes that correspond to the subject or object of this QEdge have multiple categories or multiple curies, then qualifier_constraints MUST NOT be specified because these complex use cases are not supported at this time.","items":{"$ref":"#/components/schemas/QualifierConstraint"},"type":"array"},"subject":{"description":"Corresponds to the map key identifier of the subject concept node anchoring the query filter pattern for the query relationship edge.","example":"https://omim.org/entry/603903","type":"string"}},"required":["subject","object"],"type":"object"},"QNode":{"additionalProperties":true,"description":"A node in the QueryGraph used to represent an entity in a query. If a CURIE is not specified, any nodes matching the category of the QNode will be returned in the Results.","properties":{"categories":{"description":"These should be Biolink Model categories and are allowed to be of type 'abstract' or 'mixin' (only in QGraphs!). Use of 'deprecated' categories should be avoided.","items":{"$ref":"#/components/schemas/BiolinkEntity"},"minItems":1,"nullable":true,"type":"array"},"constraints":{"default":[],"description":"A list of constraints applied to a query node. If there are multiple items, they must all be true (equivalent to AND)","items":{"$ref":"#/components/schemas/AttributeConstraint"},"type":"array"},"ids":{"description":"A CURIE identifier (or list of identifiers) for this node. The 'ids' field will hold a list of CURIEs only in the case of a BATCH set_interpretation, where each CURIE is queried separately. If a list of queried CURIEs is to be considered as a set (as under a MANY or ALL set_interpretation), the 'ids' field will hold a single id representing this set, and the individual members of this set will be captured in a separate 'member_ids' field. Note that the set id MUST be created as a UUID by the system that defines the queried set, using a centralized nodenorm service. Note also that downstream systems MUST re-use the original set UUID in the messages they create/send, which will facilitate merging or caching operations.","example":["OMIM:603903"],"items":{"$ref":"#/components/schemas/CURIE"},"minItems":1,"nullable":true,"type":"array"},"member_ids":{"description":"A list of CURIE identifiers for members of a queried set. This field MUST be populated under a set_interpretation of MANY or ALL, when the 'ids' field holds a UUID representing the set itself. This field MUST NOT be used under a set_interpretation of BATCH.","items":{"$ref":"#/components/schemas/CURIE"},"nullable":true,"type":"array"},"set_interpretation":{"description":"Indicates how multiple CURIEs in the ids property MUST be interpreted. BATCH indicates that the query is intended to be a batch query and each CURIE is treated independently. ALL means that all specified CURIES MUST appear in each Result. MANY means that member CURIEs MUST form one or more sets in the Results, and sets with more members are generally considered more desirable that sets with fewer members. If this property is missing or null, the default is BATCH.","enum":["BATCH","ALL","MANY"],"nullable":true,"type":"string"}},"type":"object"},"Qualifier":{"additionalProperties":false,"description":"An additional nuance attached to an assertion","properties":{"qualifier_type_id":{"$ref":"#/components/schemas/CURIE","description":"CURIE for a Biolink 'qualifier' association slot, generally taken from Biolink association slots designated for this purpose (that is, association slots with names ending in 'qualifier') e.g. biolink:subject_aspect_qualifier, biolink:subject_direction_qualifier, biolink:object_aspect_qualifier, etc. Such qualifiers are used to elaborate a second layer of meaning of a knowledge graph edge. Available qualifiers are edge properties in the Biolink Model (see https://biolink.github.io/biolink-model/docs/edge_properties.html) which have slot names with the suffix string 'qualifier'.","example":"biolink:subject_aspect_qualifier","nullable":false,"pattern":"^biolink:[a-z][a-z_]*$"},"qualifier_value":{"description":"The value associated with the type of the qualifier, drawn from a set of controlled values by the type as specified in the Biolink model (e.g. 'expression' or 'abundance' for the qualifier type 'biolink:subject_aspect_qualifier', etc). The enumeration of qualifier values for a given qualifier type is generally going to be constrained by the category of edge (i.e. biolink:Association subtype) of the (Q)Edge.","example":"expression","nullable":false,"type":"string"}},"required":["qualifier_type_id","qualifier_value"],"type":"object"},"QualifierConstraint":{"additionalProperties":false,"description":"Defines a query constraint based on the qualifier_types and qualifier_values of a set of Qualifiers attached to an edge. For example, it can constrain a \"ChemicalX - affects - ?Gene\" query to return only edges where ChemicalX specifically affects the 'expression' of the Gene, by constraining on the qualifier_type \"biolink:object_aspect_qualifier\" with a qualifier_value of \"expression\".","properties":{"qualifier_set":{"description":"A set of Qualifiers that serves to add nuance to a query, by constraining allowed values held by Qualifiers on queried Edges.","items":{"$ref":"#/components/schemas/Qualifier"},"nullable":false,"type":"array"}},"required":["qualifier_set"],"type":"object"},"Query":{"additionalProperties":true,"description":"The Query class is used to package a user request for information. A Query object consists of a required Message object with optional additional properties. Additional properties are intended to convey implementation-specific or query-independent parameters. For example, an additional property specifying a log level could allow a user to override the default log level in order to receive more fine-grained log information when debugging an issue.","properties":{"bypass_cache":{"default":false,"description":"Set to true in order to request that the agent obtain fresh information from its sources in all cases where it has a viable choice between requesting fresh information in real time and using cached information. The agent receiving this flag MUST also include it in TRAPI sent to downstream sources (e.g., ARS -> ARAs -> KPs).","type":"boolean"},"log_level":{"description":"The least critical level of logs to return","nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"submitter":{"description":"Any string for self-identifying the submitter of a query. The purpose of this optional field is to aid in the tracking of the source of queries for development and issue resolution.","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps to be executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["message"],"type":"object","x-body-name":"request_body"},"QueryGraph":{"additionalProperties":true,"description":"A graph representing a biomedical question. It serves as a template for each result (answer), where each bound knowledge graph node/edge is expected to obey the constraints of the associated query graph element.","properties":{"edges":{"additionalProperties":{"$ref":"#/components/schemas/QEdge"},"description":"The edge specifications. The keys of this map are unique edge identifiers and the corresponding values include the constraints on bound edges, in addition to specifying the subject and object QNodes.","type":"object"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/QNode"},"description":"The node specifications. The keys of this map are unique node identifiers and the corresponding values include the constraints on bound nodes.","type":"object"}},"required":["nodes","edges"],"type":"object"},"ResourceRoleEnum":{"description":"The role played by the InformationResource in serving as a source for an Edge. Note that a given Edge should have one and only one 'primary' source, and may have any number of 'aggregator' or 'supporting data' sources.  This enumeration is found in Biolink Model, but is repeated here for convenience.","enum":["primary_knowledge_source","aggregator_knowledge_source","supporting_data_source"],"type":"string"},"Response":{"additionalProperties":true,"description":"The Response object contains the main payload when a TRAPI query endpoint interprets and responds to the submitted query successfully (i.e., HTTP Status Code 200). The message property contains the knowledge of the response (query graph, knowledge graph, and results). The status, description, and logs properties provide additional details about the response.","properties":{"biolink_version":{"description":"Version label of the Biolink model used in this document","example":"3.1.2","nullable":true,"type":"string"},"description":{"description":"A brief human-readable description of the outcome","example":"Success. 42 results found.","nullable":true,"type":"string"},"logs":{"description":"A list of LogEntry items, containing errors, warnings, debugging information, etc. List items MUST be in chronological order with earliest first.","items":{"$ref":"#/components/schemas/LogEntry"},"minItems":0,"nullable":false,"type":"array"},"message":{"description":"Contains the knowledge of the response (query graph, knowledge graph, and results).","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"schema_version":{"description":"Version label of the TRAPI schema used in this document","example":"1.4.0","nullable":true,"type":"string"},"status":{"description":"One of a standardized set of short codes, e.g. Success, QueryNotTraversable, KPsNotAvailable","example":"Success","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps that were executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["message"],"type":"object"},"Result":{"additionalProperties":true,"description":"A Result object specifies the nodes and edges in the knowledge graph that satisfy the structure or conditions of a user-submitted query graph. It must contain a NodeBindings object (list of query graph node to knowledge graph node mappings) and a list of Analysis objects.","properties":{"analyses":{"description":"The list of all Analysis components that contribute to the result. See below for Analysis components.","items":{"$ref":"#/components/schemas/Analysis"},"minItems":0,"nullable":false,"type":"array"},"node_bindings":{"additionalProperties":{"items":{"$ref":"#/components/schemas/NodeBinding"},"minItems":1,"type":"array"},"description":"The dictionary of Input Query Graph to Result Knowledge Graph node bindings where the dictionary keys are the key identifiers of the Query Graph nodes and the associated values of those keys are instances of NodeBinding schema type (see below). This value is an array of NodeBindings since a given query node may have multiple knowledge graph Node bindings in the result.","nullable":false,"type":"object"}},"required":["node_bindings","analyses"],"type":"object"},"RetrievalSource":{"additionalProperties":true,"description":"Provides information about how a particular InformationResource served as a source from which knowledge expressed in an Edge, or data used to generate this knowledge, was retrieved.","properties":{"resource_id":{"$ref":"#/components/schemas/CURIE","description":"The CURIE for an Information Resource that served as a source of knowledge expressed in an Edge, or a source of data used to generate this knowledge.","example":"infores:drugbank","nullable":false},"resource_role":{"$ref":"#/components/schemas/ResourceRoleEnum","description":"The role played by the InformationResource in serving as a source for an Edge. Note that a given Edge should have one and only one 'primary' source, and may have any number of 'aggregator' or 'supporting data' sources."},"source_record_urls":{"description":"A URL linking to a specific web page or document provided by the source, that contains a record of the knowledge expressed in the Edge. If the knowledge is contained in more than one web page on an Information Resource's site, urls MAY be provided for each. For example, Therapeutic Targets Database (TTD) has separate web pages for 'Imatinib' and its protein target KIT, both of which hold the claim that 'the KIT protein is a therapeutic target for Imatinib'.","example":"[https://db.idrblab.net/ttd/data/drug/details/d0az3c, https://db.idrblab.net/ttd/data/target/details/t57700]","items":{"type":"string"},"nullable":true,"type":"array"},"upstream_resource_ids":{"description":"An upstream InformationResource from which the resource being described directly retrieved a record of the knowledge expressed in the Edge, or data used to generate this knowledge. This is an array because there are cases where a merged Edge holds knowledge that was retrieved from multiple sources. e.g. an Edge provided by the ARAGORN ARA can expressing knowledge it retrieved from both the automat-mychem-info and molepro KPs, which both provided it with records of this single fact.","example":["infores:automat-mychem-info","infores:molepro"],"items":{"$ref":"#/components/schemas/CURIE"},"nullable":true,"type":"array"}},"required":["resource_id","resource_role"],"type":"object"}}},"externalDocs":{"description":"Documentation for the NCATS Biomedical Translator Reasoners web services","url":"https://github.com/NCATSTranslator/ReasonerAPI"},"info":{"contact":{"email":"qi.wei@isbscience.org","name":"Qi Wei"},"description":"TRAPI 1.5 endpoint for the CATRAX Pharmacogenomics KP, an NCATS Biomedical Translator Knowledge Provider","license":{"name":"Apache 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.html"},"termsOfService":"https://github.com/RTXteam/PloverDB/blob/main/LICENSE","title":"CATRAX Pharmacogenomics KP - TRAPI 1.5.0","version":"2.7.8","x-translator":{"biolink-version":"4.2.1","component":"KP","externalDocs":{"description":"The values for component and team are restricted according to this external JSON schema. See schema and examples at url","url":"https://github.com/NCATSTranslator/translator_extensions/blob/\\ production/x-translator/"},"infores":"infores:catrax-pharmacogenomics","team":["Multiomics Provider"]},"x-trapi":{"asyncquery":false,"externalDocs":{"description":"The values for version are restricted according to the regex in this external JSON schema. See schema and examples at url","url":"https://github.com/NCATSTranslator/translator_extensions/blob/\\ production/x-trapi/"},"multicuriequery":false,"operations":["lookup"],"pathfinderquery":false,"test_data_location":{"default":{"url":"https://multiomics.rtx.ai:9990/PharmacogenomicsKG/sri_test_triples"}},"version":"1.5.0"}},"openapi":"3.0.1","paths":{"/meta_knowledge_graph":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaKnowledgeGraph"}}},"description":"Returns meta knowledge graph representation of this TRAPI web service."}},"summary":"Meta knowledge graph representation of this TRAPI web service.","tags":["meta_knowledge_graph"]}},"/query":{"post":{"description":"","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Query"}}},"description":"Query information to be submitted","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK. There may or may not be results. Note that some of the provided identifiers may not have been recognized."},"400":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Bad request. The request is invalid according to this OpenAPI schema OR a specific identifier is believed to be invalid somehow (not just unrecognized)."},"413":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Payload too large. Indicates that batch size was over the limit specified in x-trapi."},"429":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Too many requests. Indicates that the client issued requests that exceed the rate limit specified in x-trapi."},"500":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Internal server error."},"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Not implemented."}},"summary":"Initiate a query and wait to receive a Response","tags":["query"]}},"/asyncquery":{"post":{"description":"","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncQuery"}}},"description":"Query information to be submitted","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncQueryResponse"}}},"description":"The query is accepted for processing and the Response will be sent to the callback url when complete."},"400":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Bad request. The request is invalid according to this OpenAPI schema OR a specific identifier is believed to be invalid somehow (not just unrecognized)."},"413":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Payload too large. Indicates that batch size was over the limit specified in x-trapi."},"429":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Too many requests. Indicates that the client issued requests that exceed the rate limit specified in x-trapi."},"500":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Internal server error."},"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Not implemented."}},"summary":"Initiate a query with a callback to receive the response","tags":["asyncquery"]}},"/asyncquery_status/{job_id}":{"get":{"operationId":"asyncquery_status","parameters":[{"description":"Identifier of the job for status request","in":"path","name":"job_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncQueryStatusResponse"}}},"description":"Returns the status and current logs of a previously submitted asyncquery."},"404":{"description":"job_id not found"},"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Return code 501 indicates that this endpoint has not been implemented at this site. Sites that implement /asyncquery MUST implement /asyncquery_status/{job_id}, but those that do not implement /asyncquery SHOULD NOT implement /asyncquery_status."}},"summary":"Retrieve the current status of a previously submitted asyncquery given its job_id","tags":["asyncquery_status"]}}},"servers":[{"description":"CTKP TRAPI 1.5 endpoint - development","url":"https://multiomics.rtx.ai:9990/PharmacogenomicsKG","x-maturity":"development"},{"description":"CTKP TRAPI 1.5 endpoint - staging","url":"https://multiomics.ci.transltr.io/PharmacogenomicsKG","x-maturity":"staging"},{"description":"CTKP TRAPI 1.5 endpoint - testing","url":"https://multiomics.test.transltr.io/PharmacogenomicsKG","x-maturity":"testing"},{"description":"CTKP TRAPI 1.5 endpoint - production","url":"https://multiomics.transltr.io/PharmacogenomicsKG","x-maturity":"production"}],"tags":[{"description":"Retrieve the meta knowledge graph representation of this TRAPI web service. KPs MUST provide all subject category - predicate - object category triplets that are supported by the service, NOT including all implied ancestor relationships. ARAs SHOULD provide the union of all meta knowledge graphs of all the KPs that they can consult.","name":"meta_knowledge_graph"},{"description":"Initiate a query and wait to receive the response","name":"query"},{"description":"Initiate a query with a callback to receive the response","name":"asyncquery"},{"description":"Retrieve the current status of a previously submitted asyncquery given its job_id","name":"asyncquery_status"},{"description":"Required for SmartAPI validation of x-translator","name":"translator"},{"description":"Required for SmartAPI validation of x-trapi","name":"trapi"}]},{"components":{"schemas":{"Analysis":{"additionalProperties":true,"description":"An analysis is a dictionary that contains information about the result tied to a particular service. Each Analysis is generated by a single reasoning service, and describes the outputs of analyses performed by the reasoner on a particular Result (e.g. a result score), along with provenance information supporting the analysis (e.g. method or data that supported generation of the score).","properties":{"attributes":{"description":"The attributes of this particular Analysis.","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"edge_bindings":{"additionalProperties":{"items":{"$ref":"#/components/schemas/EdgeBinding"},"type":"array"},"description":"The dictionary of input Query Graph to Knowledge Graph edge bindings where the dictionary keys are the key identifiers of the Query Graph edges and the associated values of those keys are instances of EdgeBinding schema type (see below). This value is an array of EdgeBindings since a given query edge may resolve to multiple Knowledge Graph Edges.","type":"object"},"resource_id":{"$ref":"#/components/schemas/CURIE","description":"The id of the resource generating this Analysis"},"score":{"description":"A numerical score associated with this result indicating the relevance or confidence of this result relative to others in the returned set. Higher MUST be better.","example":163.233,"format":"float","nullable":true,"type":"number"},"scoring_method":{"description":"An identifier and link to an explanation for the method used to generate the score","nullable":true,"type":"string"},"support_graphs":{"description":"This is a list of references to Auxiliary Graph instances that supported the analysis of a Result as performed by the reasoning service. Each item in the list is the key of a single Auxiliary Graph.","items":{"type":"string"},"nullable":true,"type":"array"}},"required":["resource_id","edge_bindings"],"type":"object"},"AsyncQuery":{"additionalProperties":true,"description":"The AsyncQuery class is effectively the same as the Query class but it requires a callback property.","properties":{"bypass_cache":{"default":false,"description":"Set to true in order to request that the agent obtain fresh information from its sources in all cases where it has a viable choice between requesting fresh information in real time and using cached information.","type":"boolean"},"callback":{"description":"Upon completion, this server will send a POST request to the callback URL with `Content-Type: application/json` header and request body containing a JSON-encoded `Response` object. The server MAY POST `Response` objects before work is fully complete to provide interim results with a Response.status value of 'Running'. If a POST operation to the callback URL does not succeed, the server SHOULD retry the POST at least once.","format":"uri","nullable":false,"pattern":"^https?://","type":"string"},"log_level":{"description":"The least critical level of logs to return","nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"submitter":{"description":"Any string for self-identifying the submitter of a query. The purpose of this optional field is to aid in the tracking of the source of queries for development and issue resolution.","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps to be executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["callback","message"],"type":"object","x-body-name":"request_body"},"AsyncQueryResponse":{"additionalProperties":true,"description":"The AsyncQueryResponse object contains a payload that must be returned from a submitted async_query.","properties":{"description":{"description":"A brief human-readable description of the result of the async_query submission.","example":"Async_query has been queued","nullable":true,"type":"string"},"job_id":{"description":"An identifier for the submitted job that can be used with /async_query_status to receive an update on the status of the job.","example":"rXEOAosN3L","nullable":false,"type":"string"},"status":{"description":"One of a standardized set of short codes: e.g. Accepted, QueryNotTraversable, KPsNotAvailable","example":"Accepted","nullable":true,"type":"string"}},"required":["job_id"],"type":"object"},"AsyncQueryStatusResponse":{"additionalProperties":true,"description":"The AsyncQueryStatusResponse object contains a payload that describes the current status of a previously submitted async_query.","properties":{"description":{"description":"A brief human-readable description of the current state or summary of the problem if the status is Failed.","example":"Callback URL returned 500","nullable":false,"type":"string"},"logs":{"description":"A list of LogEntry items, containing errors, warnings, debugging information, etc. List items MUST be in chronological order with earliest first. The most recent entry should be last. Its timestamp will be compared against the current time to see if there is still activity.","items":{"$ref":"#/components/schemas/LogEntry"},"minItems":1,"nullable":false,"type":"array"},"response_url":{"description":"Optional URL that can be queried to restrieve the full TRAPI Response.","example":"https://arax.ncats.io/api/arax/v1.3/response/116481","nullable":true,"type":"string"},"status":{"description":"One of a standardized set of short codes: Queued, Running, Completed, Failed","example":"Running","nullable":false,"type":"string"}},"required":["status","description","logs"],"type":"object"},"Attribute":{"additionalProperties":false,"description":"Generic attribute for a node or an edge that expands the key-value pair concept by including fields for additional metadata. These fields can be used to describe the source of the statement made in a key-value pair of the attribute object, or describe the attribute's value itself including its semantic type, or a url providing additional information about it. An attribute may be further qualified with sub-attributes (for example to provide confidence intervals on a value).","properties":{"attribute_source":{"description":"The source of the core assertion made by the key-value pair of an attribute object. Use a CURIE or namespace designator for this resource where possible.","example":"UniProtKB","nullable":true,"type":"string"},"attribute_type_id":{"$ref":"#/components/schemas/CURIE","description":"The 'key' of the attribute object, holding a CURIE of an ontology property defining the attribute (preferably the CURIE of a Biolink association slot). This property captures the relationship asserted to hold between the value of the attribute, and the node or edge from  which it hangs. For example, that a value of '0.000153' represents a p-value supporting an edge, or that a value of 'ChEMBL' represents the original source of the knowledge expressed in the edge.","example":"biolink:synonym"},"attributes":{"description":"A list of attributes providing further information about the parent attribute (for example to provide provenance information about the parent attribute).","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"description":{"description":"Human-readable description for the attribute and its value.","example":"Assertion Authored By Dr. Trans L. Ator","nullable":true,"type":"string"},"original_attribute_name":{"description":"The term used by the original source of an attribute to describe the meaning or significance of the value it captures. This may be a column name in a source tsv file, or a key in a source json document for the field in the data that held the attribute's value. Capturing this information  where possible lets us preserve what the original source said. Note that the data type is string' but the contents of the field could also be a CURIE of a third party ontology term.","example":"p-value","nullable":true,"type":"string"},"value":{"description":"Value of the attribute. May be any data type, including a list.","example":0.000153},"value_type_id":{"description":"CURIE describing the semantic type of an  attribute's value. Use a Biolink class if possible, otherwise a term from an external ontology. If a suitable CURIE/identifier does not exist, enter a descriptive phrase here and submit the new type for consideration by the appropriate authority.","example":"EDAM:data_1187","nullable":true,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"value_url":{"description":"Human-consumable URL linking to a web document that provides additional information about an  attribute's value (not the node or the edge fom which it hangs).","example":"https://pubmed.ncbi.nlm.nih.gov/32529952","nullable":true,"type":"string"}},"required":["attribute_type_id","value"],"type":"object"},"AttributeConstraint":{"additionalProperties":false,"description":"Generic query constraint for a query node or query edge","properties":{"id":{"description":"CURIE of the concept being constrained. For properties defined by the Biolink model this SHOULD be a biolink CURIE. otherwise, if possible, from the EDAM ontology. If a suitable CURIE does not exist, enter a descriptive phrase here and submit the new type for consideration by the appropriate authority.","example":"EDAM:data_0844","oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"name":{"description":"Human-readable name or label for the constraint concept. If appropriate, it SHOULD be the term name of the CURIE used as the 'id'. This is redundant but required for human readability.","example":"molecular mass","type":"string"},"not":{"default":false,"type":"boolean"},"operator":{"description":"Relationship between the database value and the constraint value for the specified id. The operators ==, >, and < mean is equal to, is greater than, and is less than, respectively. The 'matches' operator indicates that the value is a regular expression to be evaluated. If value is a list type, then at least one evaluation must be true (equivalent to OR). This means that the == operator with a list acts like a SQL 'IN' clause. If the value of the compared attribute is a list, then comparisons are performed between each of the constraint values and each of the attribute values, and any one true evaluation counts as an overall true (e.g., [1,2,3] == [6,7,2] is true). The == operator is therefore a broad interpretation of inclusion. The '===' operator requires that the constraint value and the attribute value be the same data type, length, content, and order (e.g. only [1,2,3] === [1,2,3]). The 'not' property negates the operator such that not and == means 'not equal to' (or 'not in' for a list), and not > means <=, and not < means >=, not matches means does not match, and not === means the match between the constraint and attribute values are not exact. The '==' operator SHOULD NOT be used in a manner that describes an \"is a\" subclass relationship for the parent QNode.","enum":["==",">","<","matches","==="],"type":"string"},"unit_id":{"description":"CURIE of the units of the value or list of values in the 'value' property. The Units of Measurement Ontology (UO) should be used if possible. The unit_id MUST be provided for (lists of) numerical values that correspond to a quantity that has units.","example":"UO:0000222","nullable":true},"unit_name":{"description":"Term name that is associated with the CURIE of the units of the value or list of values in the 'value' property. The Units of Measurement Ontology (UO) SHOULD be used if possible. This property SHOULD be provided if a unit_id is provided. This is redundant but recommended for human readability.","example":"kilodalton","nullable":true},"value":{"description":"Value of the attribute. May be any data type, including a list. If the value is a list and there are multiple items, at least one comparison must be true (equivalent to OR) unless the '===' operator is used. If 'value' is of data type 'object', the keys of the object MAY be treated as a list. A 'list' data type paired with the '>' or '<' operators will encode extraneous comparisons, but this is permitted as it is in SQL and other languages.","example":57.0}},"required":["name","id","operator","value"],"type":"object"},"AuxiliaryGraph":{"additionalProperties":true,"description":"A single AuxiliaryGraph instance that is used by Knowledge Graph Edges and Result Analyses. Edges comprising an Auxiliary Graph are a subset of the Knowledge Graph in the message. Data creators can create an AuxiliaryGraph to assemble a specific collections of edges from the Knowledge Graph into a named graph that can be referenced from an Edge as evidence/explanation supporting that Edge, or from a Result Analysis as information used to generate a score.","properties":{"attributes":{"description":"Attributes of the Auxiliary Graph","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"edges":{"description":"List of edges that form the Auxiliary Graph. Each item is a reference to a single Knowledge Graph edge","items":{"type":"string"},"minItems":1,"nullable":false,"type":"array"}},"required":["edges","attributes"],"type":"object"},"BiolinkEntity":{"description":"Compact URI (CURIE) for a Biolink class, biolink:NamedThing or a child thereof. The CURIE must use the prefix 'biolink:' followed by the PascalCase class name.","example":"biolink:PhenotypicFeature","externalDocs":{"description":"Biolink model entities","url":"https://biolink.github.io/biolink-model/docs/NamedThing.html"},"pattern":"^biolink:[A-Z][a-zA-Z]*$","type":"string"},"BiolinkPredicate":{"description":"CURIE for a Biolink 'predicate' slot, taken from the Biolink slot ('is_a') hierarchy rooted in biolink:related_to (snake_case). This predicate defines the Biolink relationship between the subject and object nodes of a biolink:Association defining a knowledge graph edge.","example":"biolink:interacts_with","externalDocs":{"description":"Biolink model predicates","url":"https://biolink.github.io/biolink-model/docs/related_to.html"},"pattern":"^biolink:[a-z][a-z_]*$","type":"string"},"CURIE":{"description":"A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI.","externalDocs":{"url":"https://www.w3.org/TR/2010/NOTE-curie-20101216/"},"type":"string"},"Edge":{"additionalProperties":false,"description":"A specification of the semantic relationship linking two concepts that are expressed as nodes in the knowledge \"thought\" graph resulting from a query upon the underlying knowledge source.","properties":{"attributes":{"description":"A list of additional attributes for this edge","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"object":{"description":"Corresponds to the map key CURIE of the object concept node of this relationship edge.","example":"UniProtKB:P00738","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"predicate":{"description":"The type of relationship between the subject and object for the statement expressed in an Edge. These should be Biolink Model predicate terms and are NOT allowed to be of type 'abstract' or 'mixin'. Returning 'deprecated' predicate terms should also be avoided.","example":"biolink:gene_associated_with_condition","nullable":false,"oneOf":[{"$ref":"#/components/schemas/BiolinkPredicate"}]},"qualifiers":{"description":"A set of Qualifiers that act together to add nuance or detail to the statement expressed in an Edge.","items":{"$ref":"#/components/schemas/Qualifier"},"nullable":true,"type":"array"},"sources":{"description":"A list of RetrievalSource objects that provide information about how a particular Information Resource served as a source from which the knowledge expressed in an Edge, or data used to generate this knowledge, was retrieved.","items":{"$ref":"#/components/schemas/RetrievalSource"},"minItems":1,"nullable":false,"type":"array"},"subject":{"description":"Corresponds to the map key CURIE of the subject concept node of this relationship edge.","example":"MONDO:0011382","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]}},"required":["object","predicate","subject","sources"],"type":"object"},"EdgeBinding":{"additionalProperties":true,"description":"A instance of EdgeBinding is a single KnowledgeGraph Edge mapping, identified by the corresponding 'id' object key identifier of the Edge within the Knowledge Graph. Instances of EdgeBinding may include extra annotation (such annotation is not yet fully standardized). Edge bindings are captured within a specific reasoner's Analysis object because the Edges in the Knowledge Graph that get bound to the input Query Graph may differ between reasoners.","properties":{"attributes":{"description":"A list of attributes providing further information about the edge binding. This is not intended for capturing edge attributes and should only be used for properties that vary from result to result.","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"id":{"description":"The key identifier of a specific KnowledgeGraph Edge.","nullable":false,"type":"string"}},"required":["id","attributes"],"type":"object"},"KnowledgeGraph":{"additionalProperties":true,"description":"The knowledge graph associated with a set of results. The instances of Node and Edge defining this graph represent instances of biolink:NamedThing (concept nodes) and biolink:Association (relationship edges) representing (Attribute) annotated knowledge returned from the knowledge sources and inference agents wrapped by the given TRAPI implementation.","properties":{"edges":{"additionalProperties":{"$ref":"#/components/schemas/Edge"},"description":"Dictionary of Edge instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.","type":"object"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/Node"},"description":"Dictionary of Node instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.","type":"object"}},"required":["nodes","edges"],"type":"object"},"LogEntry":{"additionalProperties":true,"description":"The LogEntry object contains information useful for tracing and debugging across Translator components.  Although an individual component (for example, an ARA or KP) may have its own logging and debugging infrastructure, this internal information is not, in general, available to other components. In addition to a timestamp and logging level, LogEntry includes a string intended to be read by a human, along with one of a standardized set of codes describing the condition of the component sending the message.","properties":{"code":{"description":"One of a standardized set of short codes e.g. QueryNotTraversable, KPNotAvailable, KPResponseMalformed","nullable":true,"type":"string"},"level":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"A human-readable log message","nullable":false,"type":"string"},"timestamp":{"description":"Timestamp in ISO 8601 format, providing the LogEntry time either in univeral coordinated time (UTC) using the 'Z' tag (e.g 2020-09-03T18:13:49Z), or, if local time is provided, the timezone offset must be provided (e.g. 2020-09-03T18:13:49-04:00).","example":"2020-09-03T18:13:49+00:00","format":"date-time","nullable":false,"type":"string"}},"required":["timestamp","message"],"type":"object"},"LogLevel":{"description":"Logging level","enum":["ERROR","WARNING","INFO","DEBUG"],"type":"string"},"Message":{"additionalProperties":false,"description":"The message object holds the main content of a Query or a Response in three properties: query_graph, results, and knowledge_graph. The query_graph property contains the query configuration, the results property contains any answers that are returned by the service, and knowledge_graph property contains lists of edges and nodes in the thought graph corresponding to this message. The content of these properties is context-dependent to the encompassing object and the TRAPI operation requested.","properties":{"auxiliary_graphs":{"additionalProperties":{"$ref":"#/components/schemas/AuxiliaryGraph"},"description":"Dictionary of AuxiliaryGraph instances that are used by Knowledge Graph Edges and Result Analyses. These are referenced elsewhere by the dictionary key.","nullable":true,"type":"object"},"knowledge_graph":{"description":"KnowledgeGraph object that contains lists of nodes and edges in the thought graph corresponding to the message","nullable":true,"oneOf":[{"$ref":"#/components/schemas/KnowledgeGraph"}]},"query_graph":{"description":"QueryGraph object that contains a serialization of a query in the form of a graph","nullable":true,"oneOf":[{"$ref":"#/components/schemas/QueryGraph"}]},"results":{"description":"List of all returned Result objects for the query posed. The list SHOULD NOT be assumed to be ordered. The 'score' property, if present, MAY be used to infer result rankings. If Results are not expected (such as for a query Message), this property SHOULD be null or absent. If Results are expected (such as for a response Message) and no Results are available, this property SHOULD be an array with 0 Results in it.","items":{"$ref":"#/components/schemas/Result"},"minItems":0,"nullable":true,"type":"array"}},"type":"object"},"MetaAttribute":{"properties":{"attribute_source":{"description":"Source of an attribute provided by this TRAPI web service.","example":"infores:chembl","nullable":true,"type":"string"},"attribute_type_id":{"$ref":"#/components/schemas/CURIE","description":"Type of an attribute provided by this TRAPI web service (preferably the CURIE of a Biolink association slot)","example":"biolink:p_value"},"constraint_name":{"description":"Human-readable name or label for the constraint concept. Required whenever constraint_use is true.","example":"p-value","nullable":true,"type":"string"},"constraint_use":{"default":false,"description":"Indicates whether this attribute can be used as a query constraint.","type":"boolean"},"original_attribute_names":{"description":"Names of an the attribute as provided by the source.","items":{"type":"string"},"minItems":1,"nullable":true,"type":"array"}},"required":["attribute_type_id"],"type":"object"},"MetaEdge":{"additionalProperties":false,"description":"Edge in a meta knowledge map describing relationship between a subject Biolink class and an object Biolink class.","properties":{"association":{"$ref":"#/components/schemas/BiolinkEntity","description":"The Biolink association type (entity) that this edge represents. Associations are classes in Biolink that represent a relationship between two entities. For example, the association 'gene interacts with gene' is represented by the Biolink class, 'biolink:GeneToGeneAssociation'.  If association is filled out, then the testing harness can help validate that the qualifiers are being used correctly.","example":"biolink:ChemicalToGeneAssociation"},"attributes":{"description":"Edge attributes provided by this TRAPI web service.","items":{"$ref":"#/components/schemas/MetaAttribute"},"nullable":true,"type":"array"},"knowledge_types":{"description":"A list of knowledge_types that are supported by the service. If the knowledge_types is null, this means that only 'lookup' is supported. Currently allowed values are 'lookup' or 'inferred'.","items":{"type":"string"},"minItems":1,"nullable":true,"type":"array"},"object":{"$ref":"#/components/schemas/BiolinkEntity","description":"Object node category of this relationship edge.","example":"biolink:Protein"},"predicate":{"$ref":"#/components/schemas/BiolinkPredicate","description":"Biolink relationship between the subject and object categories.","example":"biolink:affects"},"qualifiers":{"description":"Qualifiers that are possible to be found on this edge type.","items":{"$ref":"#/components/schemas/MetaQualifier"},"nullable":true,"type":"array"},"subject":{"$ref":"#/components/schemas/BiolinkEntity","description":"Subject node category of this relationship edge.","example":"biolink:ChemicalEntity"}},"required":["subject","predicate","object"],"type":"object"},"MetaKnowledgeGraph":{"description":"Knowledge-map representation of this TRAPI web service. The meta knowledge graph is composed of the union of most specific categories and predicates for each node and edge.","properties":{"edges":{"description":"List of the most specific edges/predicates provided by this TRAPI web service. A predicate is only exposed here if there is an edge for which the predicate is the most specific available.","items":{"$ref":"#/components/schemas/MetaEdge"},"type":"array"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/MetaNode"},"description":"Collection of the most specific node categories provided by this TRAPI web service, indexed by Biolink class CURIEs. A node category is only exposed here if there is node for which that is the most specific category available.","type":"object"}},"required":["nodes","edges"],"type":"object"},"MetaNode":{"additionalProperties":false,"description":"Description of a node category provided by this TRAPI web service.","properties":{"attributes":{"description":"Node attributes provided by this TRAPI web service.","items":{"$ref":"#/components/schemas/MetaAttribute"},"nullable":true,"type":"array"},"id_prefixes":{"description":"List of CURIE prefixes for the node category that this TRAPI web service understands and accepts on the input.","example":["CHEMBL.COMPOUND","INCHIKEY"],"items":{"type":"string"},"minItems":1,"type":"array"}},"required":["id_prefixes"],"type":"object"},"MetaQualifier":{"properties":{"applicable_values":{"description":"The list of values that are possible for this qualifier.","items":{"example":["expression","activity","abundance","degradation"],"type":"string"},"type":"array"},"qualifier_type_id":{"$ref":"#/components/schemas/CURIE","description":"The CURIE of the qualifier type.","example":"biolink:subject_aspect_qualifier","nullable":false}},"required":["qualifier_type_id"],"type":"object"},"Node":{"additionalProperties":false,"description":"A node in the KnowledgeGraph which represents some biomedical concept. Nodes are identified by the keys in the KnowledgeGraph Node mapping.","properties":{"attributes":{"description":"A list of attributes describing the node","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"categories":{"description":"These should be Biolink Model categories and are NOT allowed to be of type 'abstract' or 'mixin'. Returning 'deprecated' categories should also be avoided.","items":{"$ref":"#/components/schemas/BiolinkEntity"},"minItems":1,"nullable":false,"type":"array"},"is_set":{"description":"Indicates that the node represents a set of entities. If this property is missing or null, it is assumed to be false.","nullable":true,"type":"boolean"},"name":{"description":"Formal name of the entity","example":"Haptoglobin","nullable":true,"type":"string"}},"required":["categories","attributes"],"type":"object"},"NodeBinding":{"additionalProperties":true,"description":"An instance of NodeBinding is a single KnowledgeGraph Node mapping, identified by the corresponding 'id' object key identifier of the Node within the Knowledge Graph. Instances of NodeBinding may include extra annotation in the form of additional properties. (such annotation is not yet fully standardized). Each Node Binding must bind directly to node in the original Query Graph.","properties":{"attributes":{"description":"A list of attributes providing further information about the node binding. This is not intended for capturing node attributes and should only be used for properties that vary from result to result.","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"id":{"description":"The CURIE of a Node within the Knowledge Graph.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"query_id":{"description":"An optional property to provide the CURIE in the QueryGraph to which this binding applies. If the bound QNode does not have an an 'id' property or if it is empty, then this query_id MUST be null or absent. If the bound QNode has one or more CURIEs as an 'id' and this NodeBinding's 'id' refers to a QNode 'id' in a manner where the CURIEs are different (typically due to the NodeBinding.id being a descendant of a QNode.id), then this query_id MUST be provided. In other cases, there is no ambiguity, and this query_id SHOULD NOT be provided.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]}},"required":["id","attributes"],"type":"object"},"QEdge":{"additionalProperties":true,"description":"An edge in the QueryGraph used as a filter pattern specification in a query. If the optional predicate property is not specified, it is assumed to be a wildcard match to the target knowledge space. If specified, the ontological inheritance hierarchy associated with the term provided is assumed, such that edge bindings returned may be an exact match to the given QEdge predicate term, or to a term that is a descendant of the QEdge predicate term.","properties":{"attribute_constraints":{"default":[],"description":"A list of attribute constraints applied to a query edge. If there are multiple items, they must all be true (equivalent to AND)","items":{"$ref":"#/components/schemas/AttributeConstraint"},"type":"array"},"knowledge_type":{"description":"Indicates the type of knowledge that the client wants from the server between the subject and object. If the value is 'lookup', then the client wants direct lookup information from knowledge sources. If the value is 'inferred', then the client wants the server to get creative and connect the subject and object in more speculative and non-direct-lookup ways. If this property is absent or null, it MUST be assumed to mean 'lookup'. This feature is currently experimental and may be further extended in the future.","example":"lookup","nullable":true,"type":"string"},"object":{"description":"Corresponds to the map key identifier of the object concept node anchoring the query filter pattern for the query relationship edge.","example":"https://www.uniprot.org/uniprot/P00738","type":"string"},"predicates":{"description":"These should be Biolink Model predicates and are allowed to be of type 'abstract' or 'mixin' (only in QGraphs!). Use of 'deprecated' predicates should be avoided.","items":{"$ref":"#/components/schemas/BiolinkPredicate"},"minItems":1,"nullable":true,"type":"array"},"qualifier_constraints":{"default":[],"description":"A list of QualifierConstraints that provide nuance to the QEdge. If multiple QualifierConstraints are provided, there is an OR relationship between them. If the QEdge has multiple predicates or if the QNodes that correspond to the subject or object of this QEdge have multiple categories or multiple curies, then qualifier_constraints MUST NOT be specified because these complex use cases are not supported at this time.","items":{"$ref":"#/components/schemas/QualifierConstraint"},"type":"array"},"subject":{"description":"Corresponds to the map key identifier of the subject concept node anchoring the query filter pattern for the query relationship edge.","example":"https://omim.org/entry/603903","type":"string"}},"required":["subject","object"],"type":"object"},"QNode":{"additionalProperties":true,"description":"A node in the QueryGraph used to represent an entity in a query. If a CURIE is not specified, any nodes matching the category of the QNode will be returned in the Results.","properties":{"categories":{"description":"These should be Biolink Model categories and are allowed to be of type 'abstract' or 'mixin' (only in QGraphs!). Use of 'deprecated' categories should be avoided.","items":{"$ref":"#/components/schemas/BiolinkEntity"},"minItems":1,"nullable":true,"type":"array"},"constraints":{"default":[],"description":"A list of constraints applied to a query node. If there are multiple items, they must all be true (equivalent to AND)","items":{"$ref":"#/components/schemas/AttributeConstraint"},"type":"array"},"ids":{"description":"CURIE identifier for this node","example":["OMIM:603903"],"items":{"$ref":"#/components/schemas/CURIE"},"minItems":1,"nullable":true,"type":"array"},"set_interpretation":{"description":"Indicates how multiple CURIEs in the ids property MUST be interpreted. BATCH indicates that the query is intended to be a batch query and each CURIE is treated independently. ALL means that all specified CURIES MUST appear in each Result. MANY means that member CURIEs MUST form one or more sets in the Results, and sets with more members are generally considered more desirable that sets with fewer members. If this property is missing or null, the default is BATCH.","enum":["BATCH","ALL","MANY"],"nullable":true,"type":"string"}},"type":"object"},"Qualifier":{"additionalProperties":false,"description":"An additional nuance attached to an assertion","properties":{"qualifier_type_id":{"$ref":"#/components/schemas/CURIE","description":"CURIE for a Biolink 'qualifier' association slot, generally taken from Biolink association slots designated for this purpose (that is, association slots with names ending in 'qualifier') e.g. biolink:subject_aspect_qualifier,  biolink:subject_direction_qualifier, biolink:object_aspect_qualifier, etc. Such qualifiers are used to elaborate a second layer of meaning of a knowledge graph edge. Available qualifiers are edge properties in the Biolink Model (see https://biolink.github.io/biolink-model/docs/edge_properties.html) which have slot names with the suffix string 'qualifier'.","example":"biolink:subject_aspect_qualifier","nullable":false,"pattern":"^biolink:[a-z][a-z_]*$"},"qualifier_value":{"description":"The value associated with the type of the qualifier, drawn from a set of controlled values by the type as specified in the Biolink model (e.g. 'expression' or 'abundance' for the qualifier type 'biolink:subject_aspect_qualifier', etc). The enumeration of qualifier values for a given qualifier type is generally going to be constrained by the category of edge (i.e. biolink:Association subtype) of the (Q)Edge.","example":"expression","nullable":false,"type":"string"}},"required":["qualifier_type_id","qualifier_value"],"type":"object"},"QualifierConstraint":{"additionalProperties":false,"description":"Defines a query constraint based on the qualifier_types and qualifier_values of a set of Qualifiers attached to an edge. For example, it can constrain a \"ChemicalX - affects - ?Gene\" query to return only edges where ChemicalX specifically affects the 'expression' of the Gene, by constraining on the qualifier_type \"biolink:object_aspect_qualifier\" with a qualifier_value of \"expression\".","properties":{"qualifier_set":{"description":"A set of Qualifiers that serves to add nuance to a query, by constraining allowed values held by Qualifiers on queried Edges.","items":{"$ref":"#/components/schemas/Qualifier"},"nullable":false,"type":"array"}},"required":["qualifier_set"],"type":"object"},"Query":{"additionalProperties":true,"description":"The Query class is used to package a user request for information. A Query object consists of a required Message object with optional additional properties. Additional properties are intended to convey implementation-specific or query-independent parameters. For example, an additional property specifying a log level could allow a user to override the default log level in order to receive more fine-grained log information when debugging an issue.","properties":{"bypass_cache":{"default":false,"description":"Set to true in order to request that the agent obtain fresh information from its sources in all cases where it has a viable choice between requesting fresh information in real time and using cached information.","type":"boolean"},"log_level":{"description":"The least critical level of logs to return","nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"submitter":{"description":"Any string for self-identifying the submitter of a query. The purpose of this optional field is to aid in the tracking of the source of queries for development and issue resolution.","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps to be executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["message"],"type":"object","x-body-name":"request_body"},"QueryGraph":{"additionalProperties":true,"description":"A graph representing a biomedical question. It serves as a template for each result (answer), where each bound knowledge graph node/edge is expected to obey the constraints of the associated query graph element.","properties":{"edges":{"additionalProperties":{"$ref":"#/components/schemas/QEdge"},"description":"The edge specifications. The keys of this map are unique edge identifiers and the corresponding values include the constraints on bound edges, in addition to specifying the subject and object QNodes.","type":"object"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/QNode"},"description":"The node specifications. The keys of this map are unique node identifiers and the corresponding values include the constraints on bound nodes.","type":"object"}},"required":["nodes","edges"],"type":"object"},"ResourceRoleEnum":{"description":"The role played by the InformationResource in serving as a source for an Edge. Note that a given Edge should have one and only one 'primary' source, and may have any number of 'aggregator' or 'supporting data' sources.  This enumeration is found in Biolink Model, but is repeated here for convenience.","enum":["primary_knowledge_source","aggregator_knowledge_source","supporting_data_source"],"type":"string"},"Response":{"additionalProperties":true,"description":"The Response object contains the main payload when a TRAPI query endpoint interprets and responds to the submitted query successfully (i.e., HTTP Status Code 200). The message property contains the knowledge of the response (query graph, knowledge graph, and results). The status, description, and logs properties provide additional details about the response.","properties":{"biolink_version":{"description":"Version label of the Biolink model used in this document","example":"3.1.2","nullable":true,"type":"string"},"description":{"description":"A brief human-readable description of the outcome","example":"Success. 42 results found.","nullable":true,"type":"string"},"logs":{"description":"A list of LogEntry items, containing errors, warnings, debugging information, etc. List items MUST be in chronological order with earliest first.","items":{"$ref":"#/components/schemas/LogEntry"},"minItems":0,"nullable":false,"type":"array"},"message":{"description":"Contains the knowledge of the response (query graph, knowledge graph, and results).","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"schema_version":{"description":"Version label of the TRAPI schema used in this document","example":"1.4.0","nullable":true,"type":"string"},"status":{"description":"One of a standardized set of short codes, e.g. Success, QueryNotTraversable, KPsNotAvailable","example":"Success","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps that were executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["message"],"type":"object"},"Result":{"additionalProperties":true,"description":"A Result object specifies the nodes and edges in the knowledge graph that satisfy the structure or conditions of a user-submitted query graph. It must contain a NodeBindings object (list of query graph node to knowledge graph node mappings) and a list of Analysis objects.","properties":{"analyses":{"description":"The list of all Analysis components that contribute to the result. See below for Analysis components.","items":{"$ref":"#/components/schemas/Analysis"},"minItems":0,"nullable":false,"type":"array"},"node_bindings":{"additionalProperties":{"items":{"$ref":"#/components/schemas/NodeBinding"},"minItems":1,"type":"array"},"description":"The dictionary of Input Query Graph to Result Knowledge Graph node bindings where the dictionary keys are the key identifiers of the Query Graph nodes and the associated values of those keys are instances of NodeBinding schema type (see below). This value is an array of NodeBindings since a given query node may have multiple knowledge graph Node bindings in the result.","nullable":false,"type":"object"}},"required":["node_bindings","analyses"],"type":"object"},"RetrievalSource":{"additionalProperties":true,"description":"Provides information about how a particular InformationResource served as a source from which knowledge expressed in an Edge, or data used to generate this knowledge, was retrieved.","properties":{"resource_id":{"$ref":"#/components/schemas/CURIE","description":"The CURIE for an Information Resource that served as a source of knowledge expressed in an Edge, or a source of data used to generate this knowledge.","example":"infores:drugbank","nullable":false},"resource_role":{"$ref":"#/components/schemas/ResourceRoleEnum","description":"The role played by the InformationResource in serving as a source for an Edge. Note that a given Edge should have one and only one 'primary' source, and may have any number of 'aggregator' or 'supporting data' sources."},"source_record_urls":{"description":"A URL linking to a specific web page or document provided by the  source, that contains a record of the knowledge expressed in the  Edge. If the knowledge is contained in more than one web page on  an Information Resource's site, urls MAY be provided for each.  For example, Therapeutic Targets Database (TTD) has separate web  pages for 'Imatinib' and its protein target KIT, both of which hold  the claim that 'the KIT protein is a therapeutic target for Imatinib'.         ","example":"[https://db.idrblab.net/ttd/data/drug/details/d0az3c,  https://db.idrblab.net/ttd/data/target/details/t57700]","items":{"type":"string"},"nullable":true,"type":"array"},"upstream_resource_ids":{"description":"An upstream InformationResource from which the resource being described directly retrieved a record of the knowledge expressed in the Edge, or data used to generate this knowledge. This is an array because there are cases where a merged Edge holds knowledge that was retrieved from multiple sources. e.g. an Edge provided by the ARAGORN ARA can expressing knowledge it retrieved from both the automat-mychem-info and molepro KPs, which both provided it with records of this single fact.","example":["infores:automat-mychem-info","infores:molepro"],"items":{"$ref":"#/components/schemas/CURIE"},"nullable":true,"type":"array"}},"required":["resource_id","resource_role"],"type":"object"}}},"externalDocs":{"description":"Documentation for the NCATS Biomedical Translator Reasoners web services","url":"https://github.com/NCATSTranslator/ReasonerAPI"},"info":{"contact":{"email":"brett.smith@isbscience.org"},"description":"SPOKE KP for TRAPI 1.5 - an NIH NCATS Knowledge Provider exposing UCSF's SPOKE","license":{"name":"Apache 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.html"},"termsOfService":"https://spoke.rbvi.ucsf.edu/license.html","title":"SPOKE KP for TRAPI 1.5","version":"1.5.0","x-translator":{"biolink-version":"4.1.4","component":"KP","externalDocs":{"description":"Repository","url":"https://github.com/suihuanglab/spoke-kp"},"infores":"infores:spoke","team":["imProving Agent"]},"x-trapi":{"asyncquery":false,"batch_size_limit":200,"operations":["lookup"],"rate_limit":20,"test_data_location":{"default":{"url":"https://github.com/suihuanglab/spoke-kp/tree/main/test-data"}},"version":"1.5.0"}},"openapi":"3.0.1","paths":{"/meta_knowledge_graph":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaKnowledgeGraph"}}},"description":"Returns meta knowledge graph representation of this TRAPI web service."}},"summary":"Meta knowledge graph representation of this TRAPI web service.","tags":["meta_knowledge_graph"]}},"/query":{"post":{"description":"","requestBody":{"content":{"application/json":{"example":"{\n  \"message\": {\n    \"query_graph\": {\n      \"nodes\": {\n        \"n00\": {\n          \"ids\": [\"DOID:1681\"],\n          \"categories\": [\"biolink:Disease\"]\n        },\n        \"n01\": {\n          \"categories\": [\"biolink:Gene\"]\n        }\n      },\n      \"edges\": {\n        \"e00\": {\n          \"subject\": \"n00\",\n          \"object\": \"n01\"\n        }\n      }\n    }\n  }\n}","schema":{"$ref":"#/components/schemas/Query"}}},"description":"Query information to be submitted","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK. There may or may not be results. Note that some of the provided identifiers may not have been recognized."},"400":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Bad request. The request is invalid according to this OpenAPI schema OR a specific identifier is believed to be invalid somehow (not just unrecognized)."},"413":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Payload too large. Indicates that batch size was over the limit specified in x-trapi."},"429":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Too many requests. Indicates that the client issued requests that exceed the rate limit specified in x-trapi."},"500":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Internal server error."},"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Not implemented."}},"summary":"Initiate a query and wait to receive a Response","tags":["query"]}},"/asyncquery":{"post":{"description":"","requestBody":{"content":{"application/json":{"example":"{\n  \"message\": {\n    \"query_graph\": {\n      \"nodes\": {\n        \"n00\": {\n          \"ids\": [\"DOID:1681\"],\n          \"categories\": [\"biolink:Disease\"]\n        },\n        \"n01\": {\n          \"categories\": [\"biolink:Gene\"]\n        }\n      },\n      \"edges\": {\n        \"e00\": {\n          \"subject\": \"n00\",\n          \"object\": \"n01\"\n        }\n      }\n    }\n  }\n}","schema":{"$ref":"#/components/schemas/AsyncQuery"}}},"description":"Query information to be submitted","required":true},"responses":{"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Not implemented."}},"summary":"Initiate a query with a callback to receive the response","tags":["asyncquery"]}},"/asyncquery_status/{job_id}":{"get":{"operationId":"asyncquery_status","parameters":[{"description":"Identifier of the job for status request","example":"rXEOAosN3L","in":"path","name":"job_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncQueryStatusResponse"}}},"description":"Returns the status and current logs of a previously submitted asyncquery."},"404":{"description":"job_id not found"},"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Return code 501 indicates that this endpoint has not been implemented at this site. Sites that implement /asyncquery MUST implement /asyncquery_status/{job_id}, but those that do not implement /asyncquery SHOULD NOT implement /asyncquery_status."}},"summary":"Retrieve the current status of a previously submitted asyncquery given its job_id","tags":["asyncquery_status"]}}},"servers":[{"description":"ITRB Production server","url":"https://spokekp.transltr.io/api/v1.5/","x-maturity":"production"},{"description":"ITRB Test server","url":"https://spokekp.test.transltr.io/api/v1.5/","x-maturity":"testing"},{"description":"ITRB CI server","url":"https://spokekp.ci.transltr.io/api/v1.5/","x-maturity":"staging"},{"description":"dev","url":"https://spokekp.healthdatascience.cloud/api/v1.5/","x-maturity":"development"}],"tags":[{"description":"Retrieve the meta knowledge graph representation of this TRAPI web service. KPs MUST provide all subject category - predicate - object category triplets that are supported by the service, NOT including all implied ancestor relationships. ARAs SHOULD provide the union of all meta knowledge graphs of all the KPs that they can consult.","name":"meta_knowledge_graph"},{"description":"Initiate a query and wait to receive the response","name":"query"},{"description":"Initiate a query with a callback to receive the response","name":"asyncquery"},{"description":"Retrieve the current status of a previously submitted asyncquery given its job_id","name":"asyncquery_status"},{"description":"Required for SmartAPI validation of x-translator","name":"translator"},{"description":"Required for SmartAPI validation of x-trapi","name":"trapi"}]},{"components":{"schemas":{"AsyncTRAPIQuery":{"additionalProperties":true,"description":"Request body for ``POST /asyncquery``.\n\nContains a callback URL, a TRAPI message, and an optional workflow\nspecification.","examples":[{"callback":"https://example.com/callback","message":{"query_graph":{"edges":{"e0":{"object":"n1","predicates":["biolink:affects"],"subject":"n0"}},"nodes":{"n0":{"ids":["CHEBI:6801"]},"n1":{"categories":["biolink:Gene"]}}}},"workflow":[{"id":"lookup"}]}],"properties":{"callback":{"description":"URL to POST results to when the query completes","title":"Callback","type":"string"},"log_level":{"anyOf":[{"enum":["DEBUG","INFO","WARNING","ERROR","CRITICAL"],"type":"string"},{"type":"null"}],"description":"Set logging level for this request (e.g. 'DEBUG' to see detailed query processing)","title":"Log Level"},"message":{"$ref":"#/components/schemas/Message","description":"TRAPI message containing the query graph"},"set_interpretation":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Set interpretation mode (only 'BATCH' is supported)","title":"Set Interpretation"},"workflow":{"anyOf":[{"items":{"$ref":"#/components/schemas/WorkflowStep"},"type":"array"},{"type":"null"}],"description":"Workflow operations (defaults to [{'id': 'lookup'}])","title":"Workflow"}},"required":["callback","message"],"title":"AsyncTRAPIQuery","type":"object"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"title":"Detail","type":"array"}},"title":"HTTPValidationError","type":"object"},"Message":{"additionalProperties":true,"description":"TRAPI message containing the query graph and optional results.","properties":{"knowledge_graph":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"Knowledge graph subgraph (populated in responses)","title":"Knowledge Graph"},"query_graph":{"$ref":"#/components/schemas/QueryGraph","description":"The query graph specifying the pattern to match"},"results":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"description":"Result bindings (populated in responses)","title":"Results"}},"required":["query_graph"],"title":"Message","type":"object"},"MetadataResponse":{"description":"Response from ``GET /metadata``.","properties":{"categories":{"additionalProperties":{"type":"integer"},"description":"Category → node count mapping","title":"Categories","type":"object"},"category_count":{"description":"Number of unique categories","title":"Category Count","type":"integer"},"edge_count":{"description":"Total number of edges","title":"Edge Count","type":"integer"},"node_count":{"description":"Total number of nodes","title":"Node Count","type":"integer"},"predicate_count":{"description":"Number of unique predicates","title":"Predicate Count","type":"integer"},"predicates":{"additionalProperties":{"type":"integer"},"description":"Predicate → edge count mapping","title":"Predicates","type":"object"}},"required":["node_count","edge_count","predicate_count","category_count","predicates","categories"],"title":"MetadataResponse","type":"object"},"QEdge":{"additionalProperties":true,"description":"An edge in the TRAPI query graph.\n\nConnects two nodes (``subject`` → ``object``) with optional predicate\nand qualifier filters.","properties":{"attribute_constraints":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"description":"Attribute constraints for edge filtering","title":"Attribute Constraints"},"object":{"description":"Key of the object node in the query graph","title":"Object","type":"string"},"predicates":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"Biolink predicates to filter edges (e.g. 'biolink:treats')","title":"Predicates"},"qualifier_constraints":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"description":"Qualifier constraints for edge filtering","title":"Qualifier Constraints"},"subject":{"description":"Key of the subject node in the query graph","title":"Subject","type":"string"}},"required":["subject","object"],"title":"QEdge","type":"object"},"QNode":{"additionalProperties":true,"description":"A node in the TRAPI query graph.\n\nAt least one of ``ids`` or ``categories`` should typically be provided.\nA node with ``ids`` is \"pinned\" to specific entities; one with only\n``categories`` matches any entity of that type.","properties":{"categories":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"Biolink categories to restrict the node type (e.g. 'biolink:Gene')","title":"Categories"},"constraints":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"description":"Attribute constraints for filtering nodes","title":"Constraints"},"ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"CURIE identifiers to pin this node to specific entities","title":"Ids"},"is_set":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether this node represents a set of entities","title":"Is Set"}},"title":"QNode","type":"object"},"QueryGraph":{"description":"TRAPI query graph containing nodes and edges to match.","properties":{"edges":{"additionalProperties":{"$ref":"#/components/schemas/QEdge"},"description":"Named query edges keyed by identifier (e.g. 'e0', 'e1')","title":"Edges","type":"object"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/QNode"},"description":"Named query nodes keyed by identifier (e.g. 'n0', 'n1')","title":"Nodes","type":"object"}},"required":["nodes","edges"],"title":"QueryGraph","type":"object"},"TRAPIQuery":{"additionalProperties":true,"description":"Request body for ``POST /query``.\n\nContains a TRAPI message with a query graph specifying the pattern\nto match against the knowledge graph.\n\nExamples:\n    One-hop query (drug → gene)::\n\n        {\n            \"message\": {\n                \"query_graph\": {\n                    \"nodes\": {\n                        \"n0\": {\"ids\": [\"CHEBI:6801\"]},\n                        \"n1\": {\"categories\": [\"biolink:Gene\"]}\n                    },\n                    \"edges\": {\n                        \"e0\": {\n                            \"subject\": \"n0\",\n                            \"object\": \"n1\",\n                            \"predicates\": [\"biolink:affects\"]\n                        }\n                    }\n                }\n            }\n        }","examples":[{"message":{"query_graph":{"edges":{"e0":{"object":"n1","predicates":["biolink:affects"],"subject":"n0"}},"nodes":{"n0":{"ids":["CHEBI:6801"]},"n1":{"categories":["biolink:Gene"]}}}}},{"message":{"query_graph":{"edges":{"e0":{"object":"n1","predicates":["biolink:affects"],"subject":"n0"},"e1":{"object":"n2","predicates":["biolink:gene_associated_with_condition"],"subject":"n1"}},"nodes":{"n0":{"ids":["CHEBI:6801"]},"n1":{"categories":["biolink:Gene"]},"n2":{"categories":["biolink:Disease"]}}}}},{"message":{"query_graph":{"edges":{"e0":{"object":"n1","predicates":["biolink:affects"],"qualifier_constraints":[{"qualifier_set":[{"qualifier_type_id":"biolink:object_aspect_qualifier","qualifier_value":"activity"}]}],"subject":"n0"}},"nodes":{"n0":{"ids":["CHEBI:6801"]},"n1":{"categories":["biolink:Gene"]}}}}}],"properties":{"dehydrated":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Return a dehydrated response (skip edge attribute enrichment). Automatically enabled when path count exceeds the large result threshold (overridden by query parameter if provided)","title":"Dehydrated"},"log_level":{"anyOf":[{"enum":["DEBUG","INFO","WARNING","ERROR","CRITICAL"],"type":"string"},{"type":"null"}],"description":"Set logging level for this request (e.g. 'DEBUG' to see serialization timings)","title":"Log Level"},"message":{"$ref":"#/components/schemas/Message","description":"TRAPI message containing the query graph"},"subclass":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Enable biolink subclass inference (overridden by query parameter if provided)","title":"Subclass"},"subclass_depth":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Maximum subclass_of hops to traverse (default 1)","title":"Subclass Depth"}},"required":["message"],"title":"TRAPIQuery","type":"object"},"TRAPIResponse":{"additionalProperties":true,"description":"Response from ``POST /query``.\n\nContains the original query graph, a knowledge graph subgraph with\nmatching nodes and edges, and result bindings.","properties":{"message":{"additionalProperties":true,"description":"TRAPI message with query_graph, knowledge_graph, and results","title":"Message","type":"object"}},"required":["message"],"title":"TRAPIResponse","type":"object"},"ValidationError":{"properties":{"ctx":{"title":"Context","type":"object"},"input":{"title":"Input"},"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object"},"WorkflowStep":{"description":"A single TRAPI workflow operation.","properties":{"id":{"description":"Workflow operation identifier (e.g. 'lookup')","title":"Id","type":"string"},"parameters":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"Operation-specific parameters","title":"Parameters"}},"required":["id"],"title":"WorkflowStep","type":"object"}}},"info":{"contact":{"email":"max@covar.com","name":"Max Wang","x-id":"https://github.com/maximusunc","x-role":"responsible developer"},"description":"<img src=\"/static/gandalf.png\" width=\"200px\"><br /><br />GANDALF: Graph Analysis Navigator for Discovery And Link Finding","title":"Automat-cam-kp(Trapi v1.5.0)","version":"0.3.2","x-translator":{"biolink-version":"4.2.1","component":"KP","infores":"infores:automat-cam-kp","team":["DOGSLED"]},"x-trapi":{"operations":["lookup"],"version":"1.5.0"}},"openapi":"3.0.0","paths":{"/meta_knowledge_graph":{"get":{"description":"Return the meta knowledge graph.\n\nReturns the union of the most specific categories and predicates\npresent in the knowledge graph, with edge counts.","operationId":"meta_knowledge_graph_meta_knowledge_graph_get","responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"}},"summary":"Meta Knowledge Graph"}},"/sri_testing_data":{"get":{"description":"Return representative example edges for the SRI Testing Harness.","operationId":"sri_testing_data_sri_testing_data_get","responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"}},"summary":"Sri Testing Data"}},"/metadata":{"get":{"description":"Return knowledge graph metadata and statistics.","operationId":"metadata_metadata_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataResponse"}}},"description":"Successful Response"}},"summary":"Metadata"}},"/query":{"post":{"description":"Execute a TRAPI query against the knowledge graph.\n\nSupports the 'lookup' workflow operation.","operationId":"sync_lookup_query_post","parameters":[{"description":"Enable biolink subclass inference","in":"query","name":"subclass","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Enable biolink subclass inference","title":"Subclass"}},{"description":"Return a dehydrated response (skip edge attribute enrichment)","in":"query","name":"dehydrated","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Return a dehydrated response (skip edge attribute enrichment)","title":"Dehydrated"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TRAPIQuery"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TRAPIResponse"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Sync Lookup"}},"/asyncquery":{"post":{"description":"Handle asynchronous query.","operationId":"async_query_asyncquery_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncTRAPIQuery"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Async Query"}}},"servers":[{"description":"Default server","url":"https://automat.ci.transltr.io/cam-kp/","x-location":"ITRB","x-maturity":"staging"},{"description":"Default server","url":"https://automat.renci.org/cam-kp","x-location":"RENCI","x-maturity":"development","x-translator":{"biolink-version":"4.2.1","test-data-location":"https://automat.renci.org/cam-kp/sri_testing_data"},"x-trapi":"1.5"},{"description":"Default server","url":"https://automat.test.transltr.io/cam-kp/","x-location":"ITRB","x-maturity":"testing"},{"description":"Default server","url":"https://automat.transltr.io/cam-kp/","x-location":"ITRB","x-maturity":"production"}],"tags":[{"name":"translator"},{"name":"KP"},{"name":"trapi"}]},{"components":{"schemas":{"AboveOrBelowEnum":{"description":"'above' or 'below'.","enum":["above","below"],"title":"AboveOrBelowEnum","type":"string"},"Analysis":{"description":"Analysis.","properties":{"attributes":{"allOf":[{"$ref":"#/components/schemas/HashableSet_Attribute_"}],"nullable":true,"title":"Attributes"},"edge_bindings":{"allOf":[{"$ref":"#/components/schemas/HashableMapping_str__HashableSet_EdgeBinding__"}],"title":"list of edge bindings"},"resource_id":{"title":"resource infores","type":"string"},"score":{"format":"float","title":"Score","type":"number"},"scoring_method":{"nullable":true,"title":"Scoring Method","type":"string"},"support_graphs":{"allOf":[{"$ref":"#/components/schemas/HashableSet_str_"}],"nullable":true,"title":"Support Graphs"}},"required":["resource_id","edge_bindings"],"title":"analysis","type":"object"},"AnnotateEdgesParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"attributes":{"$ref":"#/components/schemas/HashableSequence_str_"}},"title":"AnnotateEdgesParameters","type":"object"},"AnnotateNodesParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"attributes":{"$ref":"#/components/schemas/HashableSequence_str_"}},"title":"AnnotateNodesParameters","type":"object"},"AscOrDescEnum":{"description":"'ascending' or 'descending'.","enum":["ascending","descending"],"title":"AscOrDescEnum","type":"string"},"Attribute":{"additionalProperties":false,"description":"Node/edge attribute.","properties":{"attribute_source":{"nullable":true,"title":"Attribute Source","type":"string"},"attribute_type_id":{"title":"type","type":"string"},"attributes":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_SubAttribute_"}],"nullable":true,"title":"Attributes"},"description":{"nullable":true,"title":"Description","type":"string"},"original_attribute_name":{"nullable":true,"title":"Original Attribute Name","type":"string"},"value":{"title":"value"},"value_type_id":{"nullable":true,"title":"value_type_id","type":"string"},"value_url":{"nullable":true,"title":"Value Url","type":"string"}},"required":["attribute_type_id","value"],"title":"Attribute","type":"object"},"AttributeConstraint":{"additionalProperties":false,"description":"QNode or QEdge attribute constraint.","properties":{"id":{"nullable":false,"title":"id","type":"string"},"name":{"nullable":false,"title":"name","type":"string"},"not":{"default":false,"title":"not","type":"boolean"},"operator":{"allOf":[{"$ref":"#/components/schemas/Operator"}],"title":"operator"},"unit_id":{"title":"unit_id"},"unit_name":{"title":"unit_name"},"value":{"title":"value"}},"required":["name","id","operator","value"],"title":"AttributeConstraint","type":"object"},"AuxiliaryGraph":{"description":"Auxiliary Graph","properties":{"attributes":{"allOf":[{"$ref":"#/components/schemas/HashableSet_Attribute_"}],"nullable":false,"title":"Attributes"},"edges":{"allOf":[{"$ref":"#/components/schemas/HashableSet_str_"}],"title":"edges in auxiliary graph"}},"required":["edges","attributes"],"title":"auxiliary graph","type":"object"},"AuxiliaryGraphs":{"$ref":"#/components/schemas/HashableMapping_str__AuxiliaryGraph_","description":"Auxiliary Graphs","title":"auxiliary graphs"},"CypherRequest":{"properties":{"query":{"title":"Query","type":"string"}},"required":["query"],"title":"CypherRequest","type":"object"},"Edge":{"additionalProperties":false,"description":"Knowledge graph edge.","properties":{"attributes":{"allOf":[{"$ref":"#/components/schemas/HashableSet_Attribute_"}],"nullable":false,"title":"Attributes"},"object":{"title":"object node id","type":"string"},"predicate":{"pattern":"^biolink:[a-z][a-z_]*$","title":"edge predicate","type":"string"},"qualifiers":{"allOf":[{"$ref":"#/components/schemas/HashableSet_Qualifier_"}],"nullable":true,"title":"Qualifiers"},"sources":{"allOf":[{"$ref":"#/components/schemas/HashableSet_RetrievalSource_"}],"title":"list of source retrievals"},"subject":{"title":"subject node id","type":"string"}},"required":["subject","object","predicate","sources","attributes"],"title":"knowledge-graph edge","type":"object"},"EdgeBinding":{"description":"Edge binding.","example":{"id":"string"},"properties":{"attributes":{"allOf":[{"$ref":"#/components/schemas/HashableSet_Attribute_"}],"nullable":false,"title":"Attributes"},"id":{"nullable":false,"title":"knowledge graph id","type":"string"}},"required":["id","attributes"],"title":"edge binding","type":"object"},"EnrichResultsParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"predicates_to_exclude":{"$ref":"#/components/schemas/HashableSequence_BiolinkPredicate_"},"pvalue_threshold":{"default":"1e-06","maximum":1.0,"minimum":0.0,"title":"Pvalue Threshold","type":"number"},"qnode_keys":{"$ref":"#/components/schemas/HashableSequence_str_"}},"title":"EnrichResultsParameters","type":"object"},"FillAllowParameters":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"allowlist":{"$ref":"#/components/schemas/HashableSequence_str_"},"qedge_keys":{"$ref":"#/components/schemas/HashableSequence_str_"}},"title":"FillAllowParameters","type":"object"},"FillDenyParameters":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"denylist":{"$ref":"#/components/schemas/HashableSequence_str_"},"qedge_keys":{"$ref":"#/components/schemas/HashableSequence_str_"}},"title":"FillDenyParameters","type":"object"},"FillParameters":{"anyOf":[{"$ref":"#/components/schemas/FillAllowParameters"},{"$ref":"#/components/schemas/FillDenyParameters"}],"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","title":"FillParameters"},"FilterKgraphContinuousKedgeAttributeParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"edge_attribute":{"title":"Edge Attribute","type":"string"},"qedge_keys":{"$ref":"#/components/schemas/HashableSequence_str_"},"qnode_keys":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_str_"}],"default":[],"title":"Qnode Keys"},"remove_above_or_below":{"$ref":"#/components/schemas/AboveOrBelowEnum"},"threshold":{"title":"Threshold","type":"number"}},"required":["edge_attribute","threshold","remove_above_or_below"],"title":"FilterKgraphContinuousKedgeAttributeParameters","type":"object"},"FilterKgraphDiscreteKedgeAttributeParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"edge_attribute":{"title":"Edge Attribute","type":"string"},"qedge_keys":{"$ref":"#/components/schemas/HashableSequence_str_"},"qnode_keys":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_str_"}],"default":[],"title":"Qnode Keys"},"remove_value":{"title":"Remove Value"}},"required":["edge_attribute"],"title":"FilterKgraphDiscreteKedgeAttributeParameters","type":"object"},"FilterKgraphDiscreteKnodeAttributeParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"node_attribute":{"title":"Node Attribute","type":"string"},"qnode_keys":{"$ref":"#/components/schemas/HashableSequence_str_"},"remove_value":{"title":"Remove Value"}},"required":["node_attribute"],"title":"FilterKgraphDiscreteKnodeAttributeParameters","type":"object"},"FilterKgraphPercentileParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"edge_attribute":{"title":"Edge Attribute","type":"string"},"qedge_keys":{"$ref":"#/components/schemas/HashableSequence_str_"},"qnode_keys":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_str_"}],"default":[],"title":"Qnode Keys"},"remove_above_or_below":{"allOf":[{"$ref":"#/components/schemas/AboveOrBelowEnum"}],"default":"below"},"threshold":{"default":95,"maximum":100.0,"minimum":0.0,"title":"Threshold","type":"number"}},"required":["edge_attribute"],"title":"FilterKgraphPercentileParameters","type":"object"},"FilterKgraphStdDevParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"edge_attribute":{"title":"Edge Attribute","type":"string"},"num_sigma":{"default":1,"minimum":0.0,"title":"Num Sigma","type":"number"},"plus_or_minus_std_dev":{"allOf":[{"$ref":"#/components/schemas/PlusOrMinusEnum"}],"default":"plus"},"qedge_keys":{"$ref":"#/components/schemas/HashableSequence_str_"},"qnode_keys":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_str_"}],"default":[],"title":"Qnode Keys"},"remove_above_or_below":{"allOf":[{"$ref":"#/components/schemas/AboveOrBelowEnum"}],"default":"below"}},"required":["edge_attribute"],"title":"FilterKgraphStdDevParameters","type":"object"},"FilterKgraphTopNParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"edge_attribute":{"title":"Edge Attribute","type":"string"},"max_edges":{"default":50,"maximum":0.0,"title":"Max Edges","type":"integer"},"qedge_keys":{"$ref":"#/components/schemas/HashableSequence_str_"},"qnode_keys":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_str_"}],"default":[],"title":"Qnode Keys"},"remove_top_or_bottom":{"allOf":[{"$ref":"#/components/schemas/TopOrBottomEnum"}],"default":"top"}},"required":["edge_attribute"],"title":"FilterKgraphTopNParameters","type":"object"},"FilterResultsTopNParameters":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"max_results":{"minimum":0.0,"title":"Max Results","type":"integer"}},"required":["max_results"],"title":"FilterResultsTopNParameters","type":"object"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"title":"Detail","type":"array"}},"title":"HTTPValidationError","type":"object"},"HashableMapping_CURIE__Node_":{"additionalProperties":{"$ref":"#/components/schemas/Node"},"default":{},"description":"Custom class that implements MutableMapping and is hashable","title":"HashableMapping[CURIE, Node]","type":"object"},"HashableMapping_EdgeIdentifier__Edge_":{"additionalProperties":{"$ref":"#/components/schemas/Edge"},"default":{},"description":"Custom class that implements MutableMapping and is hashable","title":"HashableMapping[EdgeIdentifier, Edge]","type":"object"},"HashableMapping_str__AuxiliaryGraph_":{"additionalProperties":{"$ref":"#/components/schemas/AuxiliaryGraph"},"default":{},"description":"Custom class that implements MutableMapping and is hashable","title":"HashableMapping[str, AuxiliaryGraph]","type":"object"},"HashableMapping_str__HashableSet_EdgeBinding__":{"additionalProperties":{"$ref":"#/components/schemas/HashableSet_EdgeBinding_"},"default":{},"description":"Custom class that implements MutableMapping and is hashable","title":"HashableMapping[str, HashableSet[EdgeBinding]]","type":"object"},"HashableMapping_str__HashableSet_NodeBinding__":{"additionalProperties":{"$ref":"#/components/schemas/HashableSet_NodeBinding_"},"default":{},"description":"Custom class that implements MutableMapping and is hashable","title":"HashableMapping[str, HashableSet[NodeBinding]]","type":"object"},"HashableMapping_str__MetaNode_":{"additionalProperties":{"$ref":"#/components/schemas/MetaNode"},"default":{},"description":"Custom class that implements MutableMapping and is hashable","title":"HashableMapping[str, MetaNode]","type":"object"},"HashableMapping_str__QEdge_":{"additionalProperties":{"$ref":"#/components/schemas/QEdge"},"default":{},"description":"Custom class that implements MutableMapping and is hashable","title":"HashableMapping[str, QEdge]","type":"object"},"HashableMapping_str__QNode_":{"additionalProperties":{"$ref":"#/components/schemas/QNode"},"default":{},"description":"Custom class that implements MutableMapping and is hashable","title":"HashableMapping[str, QNode]","type":"object"},"HashableSequence_AttributeConstraint_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/AttributeConstraint"},"title":"HashableSequence[AttributeConstraint]","type":"array"},"HashableSequence_BiolinkEntity_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"pattern":"^biolink:[A-Z][a-zA-Z]*$","type":"string"},"title":"HashableSequence[BiolinkEntity]","type":"array"},"HashableSequence_BiolinkPredicate_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"pattern":"^biolink:[a-z][a-z_]*$","type":"string"},"title":"HashableSequence[BiolinkPredicate]","type":"array"},"HashableSequence_CURIE_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"type":"string"},"title":"HashableSequence[CURIE]","type":"array"},"HashableSequence_KnowledgeType_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/KnowledgeType"},"title":"HashableSequence[KnowledgeType]","type":"array"},"HashableSequence_MetaAttribute_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/MetaAttribute"},"title":"HashableSequence[MetaAttribute]","type":"array"},"HashableSequence_MetaEdge_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/MetaEdge"},"title":"HashableSequence[MetaEdge]","type":"array"},"HashableSequence_MetaQualifier_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/MetaQualifier"},"title":"HashableSequence[MetaQualifier]","type":"array"},"HashableSequence_Operation_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/Operation"},"title":"HashableSequence[Operation]","type":"array"},"HashableSequence_QualifierConstraint_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/QualifierConstraint"},"title":"HashableSequence[QualifierConstraint]","type":"array"},"HashableSequence_Qualifier_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/Qualifier"},"title":"HashableSequence[Qualifier]","type":"array"},"HashableSequence_RecursiveAttribute_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/RecursiveAttribute"},"title":"HashableSequence[RecursiveAttribute]","type":"array"},"HashableSequence_Result_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/Result"},"title":"HashableSequence[Result]","type":"array"},"HashableSequence_SubAttribute_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/SubAttribute"},"title":"HashableSequence[SubAttribute]","type":"array"},"HashableSequence_str_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"type":"string"},"title":"HashableSequence[str]","type":"array"},"HashableSet_Analysis_":{"default":[],"description":"Custom class that implements MutableSet and is hashable","items":{"$ref":"#/components/schemas/Analysis"},"title":"HashableSet[Analysis]","type":"array","uniqueItems":true},"HashableSet_Attribute_":{"default":[],"description":"Custom class that implements MutableSet and is hashable","items":{"$ref":"#/components/schemas/Attribute"},"title":"HashableSet[Attribute]","type":"array","uniqueItems":true},"HashableSet_BiolinkEntity_":{"default":[],"description":"Custom class that implements MutableSet and is hashable","items":{"pattern":"^biolink:[A-Z][a-zA-Z]*$","type":"string"},"title":"HashableSet[BiolinkEntity]","type":"array","uniqueItems":true},"HashableSet_CURIE_":{"default":[],"description":"Custom class that implements MutableSet and is hashable","items":{"type":"string"},"title":"HashableSet[CURIE]","type":"array","uniqueItems":true},"HashableSet_EdgeBinding_":{"default":[],"description":"Custom class that implements MutableSet and is hashable","items":{"$ref":"#/components/schemas/EdgeBinding"},"title":"HashableSet[EdgeBinding]","type":"array","uniqueItems":true},"HashableSet_NodeBinding_":{"default":[],"description":"Custom class that implements MutableSet and is hashable","items":{"$ref":"#/components/schemas/NodeBinding"},"title":"HashableSet[NodeBinding]","type":"array","uniqueItems":true},"HashableSet_Qualifier_":{"default":[],"description":"Custom class that implements MutableSet and is hashable","items":{"$ref":"#/components/schemas/Qualifier"},"title":"HashableSet[Qualifier]","type":"array","uniqueItems":true},"HashableSet_RetrievalSource_":{"default":[],"description":"Custom class that implements MutableSet and is hashable","items":{"$ref":"#/components/schemas/RetrievalSource"},"title":"HashableSet[RetrievalSource]","type":"array","uniqueItems":true},"HashableSet_str_":{"default":[],"description":"Custom class that implements MutableSet and is hashable","items":{"type":"string"},"title":"HashableSet[str]","type":"array","uniqueItems":true},"KnowledgeGraph":{"description":"Knowledge graph.","properties":{"edges":{"allOf":[{"$ref":"#/components/schemas/HashableMapping_EdgeIdentifier__Edge_"}],"title":"edges"},"nodes":{"allOf":[{"$ref":"#/components/schemas/HashableMapping_CURIE__Node_"}],"title":"nodes"}},"required":["nodes","edges"],"title":"knowledge graph","type":"object"},"KnowledgeType":{"description":"Knowledge Type.","enum":["lookup","inferred"],"title":"KnowledgeType","type":"string"},"LogLevel":{"$ref":"#/components/schemas/LogLevelEnum","description":"Log level.","title":"LogLevel"},"LogLevelEnum":{"description":"Log level.","enum":["ERROR","WARNING","INFO","DEBUG"],"title":"LogLevelEnum","type":"string"},"Message":{"additionalProperties":false,"description":"Message.","properties":{"auxiliary_graphs":{"allOf":[{"$ref":"#/components/schemas/AuxiliaryGraphs"}],"nullable":true,"title":"dict of auxiliary graphs"},"knowledge_graph":{"allOf":[{"$ref":"#/components/schemas/KnowledgeGraph"}],"nullable":true,"title":"knowledge graph"},"query_graph":{"allOf":[{"$ref":"#/components/schemas/QueryGraph"}],"nullable":true,"title":"query graph"},"results":{"allOf":[{"$ref":"#/components/schemas/Results"}],"nullable":true,"title":"list of results"}},"title":"message","type":"object"},"MetaAttribute":{"description":"MetaAttribute.","properties":{"attribute_source":{"title":"Attribute Source","type":"string"},"attribute_type_id":{"title":"Attribute Type Id","type":"string"},"constraint_name":{"title":"Constraint Name","type":"string"},"constraint_use":{"default":false,"title":"Constraint Use","type":"boolean"},"original_attribute_names":{"$ref":"#/components/schemas/HashableSequence_str_"}},"required":["attribute_type_id"],"title":"MetaAttribute","type":"object"},"MetaEdge":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"association":{"pattern":"^biolink:[A-Z][a-zA-Z]*$","title":"Association","type":"string"},"attributes":{"$ref":"#/components/schemas/HashableSequence_MetaAttribute_"},"knowledge_types":{"$ref":"#/components/schemas/HashableSequence_KnowledgeType_"},"object":{"pattern":"^biolink:[A-Z][a-zA-Z]*$","title":"Object","type":"string"},"predicate":{"pattern":"^biolink:[a-z][a-z_]*$","title":"Predicate","type":"string"},"qualifiers":{"$ref":"#/components/schemas/HashableSequence_MetaQualifier_"},"subject":{"pattern":"^biolink:[A-Z][a-zA-Z]*$","title":"Subject","type":"string"}},"required":["subject","predicate","object"],"title":"MetaEdge","type":"object"},"MetaKnowledgeGraph":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"edges":{"$ref":"#/components/schemas/HashableSequence_MetaEdge_"},"nodes":{"$ref":"#/components/schemas/HashableMapping_str__MetaNode_"}},"required":["nodes","edges"],"title":"MetaKnowledgeGraph","type":"object"},"MetaNode":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"attributes":{"$ref":"#/components/schemas/HashableSequence_MetaAttribute_"},"id_prefixes":{"$ref":"#/components/schemas/HashableSequence_str_"}},"required":["id_prefixes"],"title":"MetaNode","type":"object"},"MetaQualifier":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"applicable_values":{"$ref":"#/components/schemas/HashableSequence_str_"},"qualifier_type_id":{"title":"Qualifier Type Id","type":"string"}},"required":["qualifier_type_id"],"title":"MetaQualifier","type":"object"},"Node":{"additionalProperties":false,"description":"Knowledge graph node.","example":{"category":"string"},"properties":{"attributes":{"allOf":[{"$ref":"#/components/schemas/HashableSet_Attribute_"}],"nullable":false,"title":"Attributes"},"categories":{"allOf":[{"$ref":"#/components/schemas/HashableSet_BiolinkEntity_"}],"nullable":false,"title":"categories"},"is_set":{"title":"Is Set","type":"boolean"},"name":{"nullable":true,"title":"Name","type":"string"}},"required":["categories","attributes"],"title":"knowledge-graph node","type":"object"},"NodeBinding":{"description":"Node binding.","example":{"id":"x:string"},"properties":{"attributes":{"allOf":[{"$ref":"#/components/schemas/HashableSet_Attribute_"}],"nullable":false,"title":"Attributes"},"id":{"nullable":false,"title":"knowledge graph id","type":"string"},"query_id":{"title":"query graph id","type":"string"}},"required":["id","attributes"],"title":"node binding","type":"object"},"Operation":{"anyOf":[{"$ref":"#/components/schemas/OperationAnnotate"},{"$ref":"#/components/schemas/OperationAnnotateEdges"},{"$ref":"#/components/schemas/OperationAnnotateNodes"},{"$ref":"#/components/schemas/OperationBind"},{"$ref":"#/components/schemas/OperationCompleteResults"},{"$ref":"#/components/schemas/OperationEnrichResults"},{"$ref":"#/components/schemas/OperationFill"},{"$ref":"#/components/schemas/OperationFilterKgraph"},{"$ref":"#/components/schemas/OperationFilterKgraphContinuousKedgeAttribute"},{"$ref":"#/components/schemas/OperationFilterKgraphDiscreteKedgeAttribute"},{"$ref":"#/components/schemas/OperationFilterKgraphDiscreteKnodeAttribute"},{"$ref":"#/components/schemas/OperationFilterKgraphOrphans"},{"$ref":"#/components/schemas/OperationFilterKgraphPercentile"},{"$ref":"#/components/schemas/OperationFilterKgraphStdDev"},{"$ref":"#/components/schemas/OperationFilterKgraphTopN"},{"$ref":"#/components/schemas/OperationFilterResults"},{"$ref":"#/components/schemas/OperationFilterResultsTopN"},{"$ref":"#/components/schemas/OperationLookup"},{"$ref":"#/components/schemas/OperationLookupAndScore"},{"$ref":"#/components/schemas/OperationOverlay"},{"$ref":"#/components/schemas/OperationOverlayComputeJaccard"},{"$ref":"#/components/schemas/OperationOverlayComputeNgd"},{"$ref":"#/components/schemas/OperationOverlayConnectKnodes"},{"$ref":"#/components/schemas/OperationOverlayFisherExactTest"},{"$ref":"#/components/schemas/OperationRestate"},{"$ref":"#/components/schemas/OperationScore"},{"$ref":"#/components/schemas/OperationSortResults"},{"$ref":"#/components/schemas/OperationSortResultsEdgeAttribute"},{"$ref":"#/components/schemas/OperationSortResultsNodeAttribute"},{"$ref":"#/components/schemas/OperationSortResultsScore"}],"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","title":"Operation"},"OperationAnnotate":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/annotate"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationAnnotate","type":"object"},"OperationAnnotateEdges":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/annotate_edges"},"parameters":{"$ref":"#/components/schemas/AnnotateEdgesParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationAnnotateEdges","type":"object"},"OperationAnnotateNodes":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/annotate_nodes"},"parameters":{"$ref":"#/components/schemas/AnnotateNodesParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationAnnotateNodes","type":"object"},"OperationBind":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/bind"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationBind","type":"object"},"OperationCompleteResults":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/complete_results"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationCompleteResults","type":"object"},"OperationEnrichResults":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/enrich_results"},"parameters":{"$ref":"#/components/schemas/EnrichResultsParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationEnrichResults","type":"object"},"OperationFill":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/fill"},"parameters":{"$ref":"#/components/schemas/FillParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationFill","type":"object"},"OperationFilterKgraph":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/filter_kgraph"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationFilterKgraph","type":"object"},"OperationFilterKgraphContinuousKedgeAttribute":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/filter_kgraph_continuous_kedge_attribute"},"parameters":{"$ref":"#/components/schemas/FilterKgraphContinuousKedgeAttributeParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationFilterKgraphContinuousKedgeAttribute","type":"object"},"OperationFilterKgraphDiscreteKedgeAttribute":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/filter_kgraph_discrete_kedge_attribute"},"parameters":{"$ref":"#/components/schemas/FilterKgraphDiscreteKedgeAttributeParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationFilterKgraphDiscreteKedgeAttribute","type":"object"},"OperationFilterKgraphDiscreteKnodeAttribute":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/filter_kgraph_discrete_knode_attribute"},"parameters":{"$ref":"#/components/schemas/FilterKgraphDiscreteKnodeAttributeParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationFilterKgraphDiscreteKnodeAttribute","type":"object"},"OperationFilterKgraphOrphans":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/filter_kgraph_orphans"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationFilterKgraphOrphans","type":"object"},"OperationFilterKgraphPercentile":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/filter_kgraph_percentile"},"parameters":{"$ref":"#/components/schemas/FilterKgraphPercentileParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationFilterKgraphPercentile","type":"object"},"OperationFilterKgraphStdDev":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/filter_kgraph_std_dev"},"parameters":{"$ref":"#/components/schemas/FilterKgraphStdDevParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationFilterKgraphStdDev","type":"object"},"OperationFilterKgraphTopN":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/filter_kgraph_top_n"},"parameters":{"$ref":"#/components/schemas/FilterKgraphTopNParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationFilterKgraphTopN","type":"object"},"OperationFilterResults":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/filter_results"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationFilterResults","type":"object"},"OperationFilterResultsTopN":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/filter_results_top_n"},"parameters":{"$ref":"#/components/schemas/FilterResultsTopNParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationFilterResultsTopN","type":"object"},"OperationLookup":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/lookup"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationLookup","type":"object"},"OperationLookupAndScore":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/lookup_and_score"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationLookupAndScore","type":"object"},"OperationOverlay":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/overlay"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationOverlay","type":"object"},"OperationOverlayComputeJaccard":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/overlay_compute_jaccard"},"parameters":{"$ref":"#/components/schemas/OverlayComputeJaccardParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationOverlayComputeJaccard","type":"object"},"OperationOverlayComputeNgd":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/overlay_compute_ngd"},"parameters":{"$ref":"#/components/schemas/OverlayComputeNgdParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationOverlayComputeNgd","type":"object"},"OperationOverlayConnectKnodes":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/overlay_connect_knodes"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationOverlayConnectKnodes","type":"object"},"OperationOverlayFisherExactTest":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/overlay_fisher_exact_test"},"parameters":{"$ref":"#/components/schemas/OverlayFisherExactTestParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationOverlayFisherExactTest","type":"object"},"OperationRestate":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/restate"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationRestate","type":"object"},"OperationScore":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/score"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationScore","type":"object"},"OperationSortResults":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/sort_results"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationSortResults","type":"object"},"OperationSortResultsEdgeAttribute":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/sort_results_edge_attribute"},"parameters":{"$ref":"#/components/schemas/SortResultsEdgeAttributeParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationSortResultsEdgeAttribute","type":"object"},"OperationSortResultsNodeAttribute":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/sort_results_node_attribute"},"parameters":{"$ref":"#/components/schemas/SortResultsNodeAttributeParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationSortResultsNodeAttribute","type":"object"},"OperationSortResultsScore":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/sort_results_score"},"parameters":{"$ref":"#/components/schemas/SortResultsScoreParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationSortResultsScore","type":"object"},"Operator":{"description":"Operator.","enum":["==","===",">","<","matches"],"title":"Operator","type":"string"},"OverlayComputeJaccardParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"end_node_keys":{"$ref":"#/components/schemas/HashableSequence_str_"},"intermediate_node_key":{"title":"Intermediate Node Key","type":"string"},"virtual_relation_label":{"title":"Virtual Relation Label","type":"string"}},"required":["intermediate_node_key","end_node_keys","virtual_relation_label"],"title":"OverlayComputeJaccardParameters","type":"object"},"OverlayComputeNgdParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"qnode_keys":{"$ref":"#/components/schemas/HashableSequence_str_"},"virtual_relation_label":{"title":"Virtual Relation Label","type":"string"}},"required":["qnode_keys","virtual_relation_label"],"title":"OverlayComputeNgdParameters","type":"object"},"OverlayFisherExactTestParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"object_qnode_key":{"title":"Object Qnode Key","type":"string"},"rel_edge_key":{"title":"Rel Edge Key","type":"string"},"subject_qnode_key":{"title":"Subject Qnode Key","type":"string"},"virtual_relation_label":{"title":"Virtual Relation Label","type":"string"}},"required":["subject_qnode_key","object_qnode_key","virtual_relation_label"],"title":"OverlayFisherExactTestParameters","type":"object"},"PlusOrMinusEnum":{"description":"'plus' or 'minus'.","enum":["plus","minus"],"title":"PlusOrMinusEnum","type":"string"},"QEdge":{"description":"Query edge.","properties":{"attribute_constraints":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_AttributeConstraint_"}],"default":{"__root__":[]},"title":"attribute constraints"},"knowledge_type":{"allOf":[{"$ref":"#/components/schemas/KnowledgeType"}],"title":"knowledge type"},"object":{"title":"object node id","type":"string"},"predicates":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_BiolinkPredicate_"}],"nullable":true,"title":"predicates"},"qualifier_constraints":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_QualifierConstraint_"}],"default":{"__root__":[]},"title":"qualifier constraint"},"subject":{"title":"subject node id","type":"string"}},"required":["subject","object"],"title":"query-graph edge","type":"object"},"QNode":{"description":"Query node.","properties":{"categories":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_BiolinkEntity_"}],"nullable":true,"title":"categories"},"constraints":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_AttributeConstraint_"}],"default":{"__root__":[]},"title":"attribute constraints"},"ids":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_CURIE_"}],"nullable":true,"title":"ids"},"member_ids":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_CURIE_"}],"default":{"__root__":[]},"title":"set member ids"},"set_interpretation":{"allOf":[{"$ref":"#/components/schemas/SetInterpretationEnum"}],"default":"BATCH","nullable":true}},"title":"query-graph node","type":"object"},"Qualifier":{"description":"Edge qualifier.","properties":{"qualifier_type_id":{"pattern":"^biolink:[a-z][a-z_]*$","title":"type","type":"string"},"qualifier_value":{"title":"value","type":"string"}},"required":["qualifier_type_id","qualifier_value"],"title":"Qualifier","type":"object"},"QualifierConstraint":{"description":"QEdge Qualifier constraint.","properties":{"qualifier_set":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_Qualifier_"}],"default":{"__root__":[]},"title":"qualifier set"}},"title":"QualifierConstraint","type":"object"},"QueryGraph":{"description":"Query graph.","properties":{"edges":{"allOf":[{"$ref":"#/components/schemas/HashableMapping_str__QEdge_"}],"title":"dict of edges"},"nodes":{"allOf":[{"$ref":"#/components/schemas/HashableMapping_str__QNode_"}],"title":"dict of nodes"}},"required":["nodes","edges"],"title":"simple query graph","type":"object"},"ReasonerRequest":{"description":"Request.","properties":{"bypass_cache":{"title":"Bypass Cache","type":"boolean"},"log_level":{"allOf":[{"$ref":"#/components/schemas/LogLevel"}],"nullable":true,"title":"log_level"},"message":{"allOf":[{"$ref":"#/components/schemas/Message"}],"title":"message"},"workflow":{"$ref":"#/components/schemas/Workflow"}},"required":["message"],"title":"query","type":"object","x-body-name":"request_body"},"RecursiveAttribute":{"additionalProperties":false,"description":"Attribute subattribute.","properties":{"attribute_source":{"nullable":true,"title":"Attribute Source","type":"string"},"attribute_type_id":{"title":"type","type":"string"},"attributes":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_RecursiveAttribute_"}],"nullable":true,"title":"Attributes"},"description":{"nullable":true,"title":"Description","type":"string"},"original_attribute_name":{"nullable":true,"title":"Original Attribute Name","type":"string"},"value":{"title":"value"},"value_type_id":{"nullable":true,"title":"value_type_id","type":"string"},"value_url":{"nullable":true,"title":"Value Url","type":"string"}},"required":["attribute_type_id","value"],"title":"RecursiveAttribute","type":"object"},"ResourceRoleEnum":{"description":"Types of resources","enum":["aggregator_knowledge_source","primary_knowledge_source","supporting_data_source"],"title":"ResourceRoleEnum","type":"string"},"Result":{"description":"Result.","properties":{"analyses":{"allOf":[{"$ref":"#/components/schemas/HashableSet_Analysis_"}],"nullable":false,"title":"list of anlysis blocks"},"node_bindings":{"allOf":[{"$ref":"#/components/schemas/HashableMapping_str__HashableSet_NodeBinding__"}],"nullable":false,"title":"list of node bindings"}},"required":["node_bindings","analyses"],"title":"result","type":"object"},"Results":{"$ref":"#/components/schemas/HashableSequence_Result_","description":"Results.","title":"results"},"RetrievalSource":{"description":"A component of source retrieval provenance","properties":{"resource_id":{"title":"infores for source","type":"string"},"resource_role":{"allOf":[{"$ref":"#/components/schemas/ResourceRoleEnum"}],"title":"source type"},"source_record_urls":{"allOf":[{"$ref":"#/components/schemas/HashableSet_str_"}],"nullable":true,"title":"Source Record Urls"},"upstream_resource_ids":{"allOf":[{"$ref":"#/components/schemas/HashableSet_CURIE_"}],"nullable":true,"title":"Upstream Resource Ids"}},"required":["resource_id","resource_role"],"title":"RetrievalSource","type":"object"},"RunnerAllowList":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"allowlist":{"$ref":"#/components/schemas/HashableSequence_str_"},"timeout":{"title":"Timeout","type":"number"}},"title":"RunnerAllowList","type":"object"},"RunnerDenyList":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"denylist":{"$ref":"#/components/schemas/HashableSequence_str_"},"timeout":{"title":"Timeout","type":"number"}},"title":"RunnerDenyList","type":"object"},"RunnerParameters":{"anyOf":[{"$ref":"#/components/schemas/RunnerAllowList"},{"$ref":"#/components/schemas/RunnerDenyList"},{"$ref":"#/components/schemas/RunnerTimeout"}],"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","title":"RunnerParameters"},"RunnerTimeout":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"timeout":{"title":"Timeout","type":"number"}},"title":"RunnerTimeout","type":"object"},"SRITestData":{"properties":{"edges":{"items":{"$ref":"#/components/schemas/SRITestEdge"},"title":"Edges","type":"array"},"source_type":{"title":"Source Type","type":"string"},"version":{"title":"Version","type":"string"}},"required":["version","source_type","edges"],"title":"SRITestData","type":"object"},"SRITestEdge":{"properties":{"object_category":{"title":"Object Category","type":"string"},"object_id":{"title":"Object Id","type":"string"},"predicate":{"title":"Predicate","type":"string"},"qualifiers":{"items":{},"title":"Qualifiers","type":"array"},"subject_category":{"title":"Subject Category","type":"string"},"subject_id":{"title":"Subject Id","type":"string"}},"required":["subject_id","object_id","predicate","subject_category","object_category"],"title":"SRITestEdge","type":"object"},"SetInterpretationEnum":{"description":"Enumeration for set interpretation.","enum":["BATCH","ALL","MANY"],"title":"SetInterpretationEnum","type":"string"},"SimpleSpecElement":{"properties":{"edge_type":{"title":"Edge Type","type":"string"},"source_type":{"title":"Source Type","type":"string"},"target_type":{"title":"Target Type","type":"string"}},"required":["source_type","target_type","edge_type"],"title":"SimpleSpecElement","type":"object"},"SortResultsEdgeAttributeParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"ascending_or_descending":{"$ref":"#/components/schemas/AscOrDescEnum"},"edge_attribute":{"title":"Edge Attribute","type":"string"},"qedge_keys":{"$ref":"#/components/schemas/HashableSequence_str_"}},"required":["edge_attribute","ascending_or_descending"],"title":"SortResultsEdgeAttributeParameters","type":"object"},"SortResultsNodeAttributeParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"ascending_or_descending":{"$ref":"#/components/schemas/AscOrDescEnum"},"node_attribute":{"title":"Node Attribute","type":"string"},"qnode_keys":{"$ref":"#/components/schemas/HashableSequence_str_"}},"required":["node_attribute","ascending_or_descending"],"title":"SortResultsNodeAttributeParameters","type":"object"},"SortResultsScoreParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"ascending_or_descending":{"$ref":"#/components/schemas/AscOrDescEnum"}},"required":["ascending_or_descending"],"title":"SortResultsScoreParameters","type":"object"},"SubAttribute":{"additionalProperties":false,"description":"Attribute subattribute.","properties":{"attribute_source":{"nullable":true,"title":"Attribute Source","type":"string"},"attribute_type_id":{"title":"type","type":"string"},"attributes":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_RecursiveAttribute_"}],"nullable":true,"title":"Attributes"},"description":{"nullable":true,"title":"Description","type":"string"},"original_attribute_name":{"nullable":true,"title":"Original Attribute Name","type":"string"},"value":{"title":"value"},"value_type_id":{"nullable":true,"title":"value_type_id","type":"string"},"value_url":{"nullable":true,"title":"Value Url","type":"string"}},"required":["attribute_type_id","value"],"title":"SubAttribute","type":"object"},"TopOrBottomEnum":{"description":"'top' or 'bottom'.","enum":["top","bottom"],"title":"TopOrBottomEnum","type":"string"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object"},"Workflow":{"$ref":"#/components/schemas/HashableSequence_Operation_","description":"Custom base model for all classes\n\nThis provides hash and equality methods.","title":"Workflow"},"annotate":{"description":"An enumeration.","enum":["annotate"],"title":"annotate","type":"string"},"annotate_edges":{"description":"An enumeration.","enum":["annotate_edges"],"title":"annotate_edges","type":"string"},"annotate_nodes":{"description":"An enumeration.","enum":["annotate_nodes"],"title":"annotate_nodes","type":"string"},"bind":{"description":"An enumeration.","enum":["bind"],"title":"bind","type":"string"},"complete_results":{"description":"An enumeration.","enum":["complete_results"],"title":"complete_results","type":"string"},"enrich_results":{"description":"An enumeration.","enum":["enrich_results"],"title":"enrich_results","type":"string"},"fill":{"description":"An enumeration.","enum":["fill"],"title":"fill","type":"string"},"filter_kgraph":{"description":"An enumeration.","enum":["filter_kgraph"],"title":"filter_kgraph","type":"string"},"filter_kgraph_continuous_kedge_attribute":{"description":"An enumeration.","enum":["filter_kgraph_continuous_kedge_attribute"],"title":"filter_kgraph_continuous_kedge_attribute","type":"string"},"filter_kgraph_discrete_kedge_attribute":{"description":"An enumeration.","enum":["filter_kgraph_discrete_kedge_attribute"],"title":"filter_kgraph_discrete_kedge_attribute","type":"string"},"filter_kgraph_discrete_knode_attribute":{"description":"An enumeration.","enum":["filter_kgraph_discrete_knode_attribute"],"title":"filter_kgraph_discrete_knode_attribute","type":"string"},"filter_kgraph_orphans":{"description":"An enumeration.","enum":["filter_kgraph_orphans"],"title":"filter_kgraph_orphans","type":"string"},"filter_kgraph_percentile":{"description":"An enumeration.","enum":["filter_kgraph_percentile"],"title":"filter_kgraph_percentile","type":"string"},"filter_kgraph_std_dev":{"description":"An enumeration.","enum":["filter_kgraph_std_dev"],"title":"filter_kgraph_std_dev","type":"string"},"filter_kgraph_top_n":{"description":"An enumeration.","enum":["filter_kgraph_top_n"],"title":"filter_kgraph_top_n","type":"string"},"filter_results":{"description":"An enumeration.","enum":["filter_results"],"title":"filter_results","type":"string"},"filter_results_top_n":{"description":"An enumeration.","enum":["filter_results_top_n"],"title":"filter_results_top_n","type":"string"},"lookup":{"description":"An enumeration.","enum":["lookup"],"title":"lookup","type":"string"},"lookup_and_score":{"description":"An enumeration.","enum":["lookup_and_score"],"title":"lookup_and_score","type":"string"},"overlay":{"description":"An enumeration.","enum":["overlay"],"title":"overlay","type":"string"},"overlay_compute_jaccard":{"description":"An enumeration.","enum":["overlay_compute_jaccard"],"title":"overlay_compute_jaccard","type":"string"},"overlay_compute_ngd":{"description":"An enumeration.","enum":["overlay_compute_ngd"],"title":"overlay_compute_ngd","type":"string"},"overlay_connect_knodes":{"description":"An enumeration.","enum":["overlay_connect_knodes"],"title":"overlay_connect_knodes","type":"string"},"overlay_fisher_exact_test":{"description":"An enumeration.","enum":["overlay_fisher_exact_test"],"title":"overlay_fisher_exact_test","type":"string"},"restate":{"description":"An enumeration.","enum":["restate"],"title":"restate","type":"string"},"score":{"description":"An enumeration.","enum":["score"],"title":"score","type":"string"},"sort_results":{"description":"An enumeration.","enum":["sort_results"],"title":"sort_results","type":"string"},"sort_results_edge_attribute":{"description":"An enumeration.","enum":["sort_results_edge_attribute"],"title":"sort_results_edge_attribute","type":"string"},"sort_results_node_attribute":{"description":"An enumeration.","enum":["sort_results_node_attribute"],"title":"sort_results_node_attribute","type":"string"},"sort_results_score":{"description":"An enumeration.","enum":["sort_results_score"],"title":"sort_results_score","type":"string"}}},"info":{"contact":{"email":"kebedey@renci.org","name":"Yaphet Kebede","x-id":"https://github.com/yaphetkg","x-role":"contributor"},"description":"The Electronic Health Record (EHR) May Treat KP is created and maintained by the Multiomics Provider team from the Institute for Systems Biology in Seattle, WA. This May Treat KP provides a knowledge graph pointing from medications to a variety health outcomes specifically for diseases prior of treatments. We use data from over 28 million EHRs to train a large collection of interpretable machine learning models which are integrated into a single large knowledge graph. The edges of the graph are generated by running ~300 logistic regression models for clinical conditions with features including age, sex, medical conditions, and medications as nodes to predict associations with disease outcome.","title":"Automat-ehr-may-treat-kp(Trapi v1.5.0)","version":"v2.1.2","x-translator":{"biolink-version":"4.2.1","component":"KP","infores":"infores:automat-ehr-may-treat-kp","team":["Ranking Agent"]},"x-trapi":{"operations":["lookup","overlay_connect_knodes","annotate_nodes"],"test_data_location":{"development":{"url":"https://automat.renci.org/ehr-may-treat-kp/sri_testing_data"}},"version":"1.5.0"}},"openapi":"3.0.0","paths":{"/meta_knowledge_graph":{"get":{"description":"Returns a meta knowledge graph representation of this TRAPI web service. The meta knowledge graph is composed of the union of most specific categories and predicates for each node and edge.","operationId":"get_meta_knowledge_graph_meta_knowledge_graph_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaKnowledgeGraph"}}},"description":"Successful Response"}},"summary":"Meta knowledge graph representation of this TRAPI web service.","tags":["trapi"]}},"/sri_testing_data":{"get":{"description":"Returns a list of edges that are representative examples of the knowledge graph.","operationId":"get_sri_testing_data_sri_testing_data_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SRITestData"}}},"description":"Successful Response"}},"summary":"Test data for usage by the SRI Testing Harness.","tags":["trapi"]}},"/query":{"post":{"description":"Accepts a TRAPI Query and returns a TRAPI Response. (https://github.com/NCATSTranslator/ReasonerAPI/)","operationId":"reasoner_api_query_post","parameters":[{"in":"query","name":"profile","required":false,"schema":{"default":false,"title":"Profile","type":"boolean"}},{"in":"query","name":"validate","required":false,"schema":{"default":false,"title":"Validate","type":"boolean"}},{"in":"query","name":"subclass","required":false,"schema":{"default":true,"title":"Subclass","type":"boolean"}}],"requestBody":{"content":{"application/json":{"example":{"message":{"query_graph":{"edges":{"e01":{"object":"n1","predicates":["biolink:associated_with_increased_likelihood_of"],"subject":"n0"}},"nodes":{"n0":{"categories":["biolink:MolecularMixture"],"ids":["UNII:6XC1PAD3KF"]},"n1":{"categories":["biolink:Disease"],"ids":["MONDO:0005298"]}}}},"workflow":[{"id":"lookup"}]},"schema":{"$ref":"#/components/schemas/ReasonerRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReasonerRequest"}}},"description":"Successful Response"},"400":{"content":{"application/json":{"schema":{"title":"Response 400 Reasoner Api Query Post","type":"object"}}},"description":"Bad Request"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Accepts TRAPI Queries.","tags":["trapi"]}},"/cypher":{"post":{"description":"Runs a cypher query against the Neo4j instance, and returns an equivalent response expected from a Neo4j HTTP endpoint (https://neo4j.com/docs/rest-docs/current/).","operationId":"cypher_cypher_post","requestBody":{"content":{"application/json":{"example":{"query":"MATCH (n) RETURN count(n)"},"schema":{"$ref":"#/components/schemas/CypherRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Run a Neo4j cypher query."}},"/metadata":{"get":{"description":"Returns JSON with metadata about the data sources in this knowledge graph.","operationId":"metadata_metadata_get","responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Metadata Metadata Get"}}},"description":"Successful Response"}},"summary":"Metadata about the knowledge graph."}},"/{source_type}/{target_type}/{curie}":{"get":{"description":"Returns one hop paths from `source_node_type`  with `curie` to `target_node_type`.","operationId":"one_hop__source_type___target_type___curie__get","parameters":[{"in":"path","name":"source_type","required":true,"schema":{"title":"Source Type","type":"string"}},{"in":"path","name":"target_type","required":true,"schema":{"title":"Target Type","type":"string"}},{"in":"path","name":"curie","required":true,"schema":{"title":"Curie","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{},"title":"Response One Hop  Source Type   Target Type   Curie  Get","type":"array"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get one hop results from source type to target type. "}},"/{node_type}/{curie}":{"get":{"description":"Returns `node` matching `curie`.","operationId":"node__node_type___curie__get","parameters":[{"in":"path","name":"node_type","required":true,"schema":{"title":"Node Type","type":"string"}},{"in":"path","name":"curie","required":true,"schema":{"title":"Curie","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{},"title":"Response Node  Node Type   Curie  Get","type":"array"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Find `node` by `curie`"}},"/simple_spec":{"get":{"description":"Returns a list of available predicates when choosing a single source or target curie. Calling this endpoint with no query parameters will return all possible hops for all types.","operationId":"simple_spec_simple_spec_get","parameters":[{"in":"query","name":"source","required":false,"schema":{"title":"Source","type":"string"}},{"in":"query","name":"target","required":false,"schema":{"title":"Target","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SimpleSpecElement"},"title":"Response Simple Spec Simple Spec Get","type":"array"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get one-hop connection schema"}}},"servers":[{"description":"Default server","url":"https://automat.renci.org/ehr-may-treat-kp","x-location":"RENCI","x-maturity":"development","x-translator":{"biolink-version":"4.2.1","test-data-location":"https://automat.renci.org/ehr-may-treat-kp/sri_testing_data"},"x-trapi":"1.5"}],"tags":[{"name":"translator"},{"name":"automat"},{"name":"trapi"}]},{"components":{"schemas":{"AboveOrBelowEnum":{"description":"'above' or 'below'.","enum":["above","below"],"title":"AboveOrBelowEnum","type":"string"},"Analysis":{"description":"Analysis.","properties":{"attributes":{"allOf":[{"$ref":"#/components/schemas/HashableSet_Attribute_"}],"nullable":true,"title":"Attributes"},"edge_bindings":{"allOf":[{"$ref":"#/components/schemas/HashableMapping_str__HashableSet_EdgeBinding__"}],"title":"list of edge bindings"},"resource_id":{"title":"resource infores","type":"string"},"score":{"format":"float","title":"Score","type":"number"},"scoring_method":{"nullable":true,"title":"Scoring Method","type":"string"},"support_graphs":{"allOf":[{"$ref":"#/components/schemas/HashableSet_str_"}],"nullable":true,"title":"Support Graphs"}},"required":["resource_id","edge_bindings"],"title":"analysis","type":"object"},"AnnotateEdgesParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"attributes":{"$ref":"#/components/schemas/HashableSequence_str_"}},"title":"AnnotateEdgesParameters","type":"object"},"AnnotateNodesParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"attributes":{"$ref":"#/components/schemas/HashableSequence_str_"}},"title":"AnnotateNodesParameters","type":"object"},"AscOrDescEnum":{"description":"'ascending' or 'descending'.","enum":["ascending","descending"],"title":"AscOrDescEnum","type":"string"},"Attribute":{"additionalProperties":false,"description":"Node/edge attribute.","properties":{"attribute_source":{"nullable":true,"title":"Attribute Source","type":"string"},"attribute_type_id":{"title":"type","type":"string"},"attributes":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_SubAttribute_"}],"nullable":true,"title":"Attributes"},"description":{"nullable":true,"title":"Description","type":"string"},"original_attribute_name":{"nullable":true,"title":"Original Attribute Name","type":"string"},"value":{"title":"value"},"value_type_id":{"nullable":true,"title":"value_type_id","type":"string"},"value_url":{"nullable":true,"title":"Value Url","type":"string"}},"required":["attribute_type_id","value"],"title":"Attribute","type":"object"},"AttributeConstraint":{"additionalProperties":false,"description":"QNode or QEdge attribute constraint.","properties":{"id":{"nullable":false,"title":"id","type":"string"},"name":{"nullable":false,"title":"name","type":"string"},"not":{"default":false,"title":"not","type":"boolean"},"operator":{"allOf":[{"$ref":"#/components/schemas/Operator"}],"title":"operator"},"unit_id":{"title":"unit_id"},"unit_name":{"title":"unit_name"},"value":{"title":"value"}},"required":["name","id","operator","value"],"title":"AttributeConstraint","type":"object"},"AuxiliaryGraph":{"description":"Auxiliary Graph","properties":{"attributes":{"allOf":[{"$ref":"#/components/schemas/HashableSet_Attribute_"}],"nullable":false,"title":"Attributes"},"edges":{"allOf":[{"$ref":"#/components/schemas/HashableSet_str_"}],"title":"edges in auxiliary graph"}},"required":["edges","attributes"],"title":"auxiliary graph","type":"object"},"AuxiliaryGraphs":{"$ref":"#/components/schemas/HashableMapping_str__AuxiliaryGraph_","description":"Auxiliary Graphs","title":"auxiliary graphs"},"CypherRequest":{"properties":{"query":{"title":"Query","type":"string"}},"required":["query"],"title":"CypherRequest","type":"object"},"Edge":{"additionalProperties":false,"description":"Knowledge graph edge.","properties":{"attributes":{"allOf":[{"$ref":"#/components/schemas/HashableSet_Attribute_"}],"nullable":false,"title":"Attributes"},"object":{"title":"object node id","type":"string"},"predicate":{"pattern":"^biolink:[a-z][a-z_]*$","title":"edge predicate","type":"string"},"qualifiers":{"allOf":[{"$ref":"#/components/schemas/HashableSet_Qualifier_"}],"nullable":true,"title":"Qualifiers"},"sources":{"allOf":[{"$ref":"#/components/schemas/HashableSet_RetrievalSource_"}],"title":"list of source retrievals"},"subject":{"title":"subject node id","type":"string"}},"required":["subject","object","predicate","sources","attributes"],"title":"knowledge-graph edge","type":"object"},"EdgeBinding":{"description":"Edge binding.","example":{"id":"string"},"properties":{"attributes":{"allOf":[{"$ref":"#/components/schemas/HashableSet_Attribute_"}],"nullable":false,"title":"Attributes"},"id":{"nullable":false,"title":"knowledge graph id","type":"string"}},"required":["id","attributes"],"title":"edge binding","type":"object"},"EnrichResultsParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"predicates_to_exclude":{"$ref":"#/components/schemas/HashableSequence_BiolinkPredicate_"},"pvalue_threshold":{"default":"1e-06","maximum":1.0,"minimum":0.0,"title":"Pvalue Threshold","type":"number"},"qnode_keys":{"$ref":"#/components/schemas/HashableSequence_str_"}},"title":"EnrichResultsParameters","type":"object"},"FillAllowParameters":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"allowlist":{"$ref":"#/components/schemas/HashableSequence_str_"},"qedge_keys":{"$ref":"#/components/schemas/HashableSequence_str_"}},"title":"FillAllowParameters","type":"object"},"FillDenyParameters":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"denylist":{"$ref":"#/components/schemas/HashableSequence_str_"},"qedge_keys":{"$ref":"#/components/schemas/HashableSequence_str_"}},"title":"FillDenyParameters","type":"object"},"FillParameters":{"anyOf":[{"$ref":"#/components/schemas/FillAllowParameters"},{"$ref":"#/components/schemas/FillDenyParameters"}],"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","title":"FillParameters"},"FilterKgraphContinuousKedgeAttributeParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"edge_attribute":{"title":"Edge Attribute","type":"string"},"qedge_keys":{"$ref":"#/components/schemas/HashableSequence_str_"},"qnode_keys":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_str_"}],"default":[],"title":"Qnode Keys"},"remove_above_or_below":{"$ref":"#/components/schemas/AboveOrBelowEnum"},"threshold":{"title":"Threshold","type":"number"}},"required":["edge_attribute","threshold","remove_above_or_below"],"title":"FilterKgraphContinuousKedgeAttributeParameters","type":"object"},"FilterKgraphDiscreteKedgeAttributeParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"edge_attribute":{"title":"Edge Attribute","type":"string"},"qedge_keys":{"$ref":"#/components/schemas/HashableSequence_str_"},"qnode_keys":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_str_"}],"default":[],"title":"Qnode Keys"},"remove_value":{"title":"Remove Value"}},"required":["edge_attribute"],"title":"FilterKgraphDiscreteKedgeAttributeParameters","type":"object"},"FilterKgraphDiscreteKnodeAttributeParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"node_attribute":{"title":"Node Attribute","type":"string"},"qnode_keys":{"$ref":"#/components/schemas/HashableSequence_str_"},"remove_value":{"title":"Remove Value"}},"required":["node_attribute"],"title":"FilterKgraphDiscreteKnodeAttributeParameters","type":"object"},"FilterKgraphPercentileParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"edge_attribute":{"title":"Edge Attribute","type":"string"},"qedge_keys":{"$ref":"#/components/schemas/HashableSequence_str_"},"qnode_keys":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_str_"}],"default":[],"title":"Qnode Keys"},"remove_above_or_below":{"allOf":[{"$ref":"#/components/schemas/AboveOrBelowEnum"}],"default":"below"},"threshold":{"default":95,"maximum":100.0,"minimum":0.0,"title":"Threshold","type":"number"}},"required":["edge_attribute"],"title":"FilterKgraphPercentileParameters","type":"object"},"FilterKgraphStdDevParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"edge_attribute":{"title":"Edge Attribute","type":"string"},"num_sigma":{"default":1,"minimum":0.0,"title":"Num Sigma","type":"number"},"plus_or_minus_std_dev":{"allOf":[{"$ref":"#/components/schemas/PlusOrMinusEnum"}],"default":"plus"},"qedge_keys":{"$ref":"#/components/schemas/HashableSequence_str_"},"qnode_keys":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_str_"}],"default":[],"title":"Qnode Keys"},"remove_above_or_below":{"allOf":[{"$ref":"#/components/schemas/AboveOrBelowEnum"}],"default":"below"}},"required":["edge_attribute"],"title":"FilterKgraphStdDevParameters","type":"object"},"FilterKgraphTopNParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"edge_attribute":{"title":"Edge Attribute","type":"string"},"max_edges":{"default":50,"maximum":0.0,"title":"Max Edges","type":"integer"},"qedge_keys":{"$ref":"#/components/schemas/HashableSequence_str_"},"qnode_keys":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_str_"}],"default":[],"title":"Qnode Keys"},"remove_top_or_bottom":{"allOf":[{"$ref":"#/components/schemas/TopOrBottomEnum"}],"default":"top"}},"required":["edge_attribute"],"title":"FilterKgraphTopNParameters","type":"object"},"FilterResultsTopNParameters":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"max_results":{"minimum":0.0,"title":"Max Results","type":"integer"}},"required":["max_results"],"title":"FilterResultsTopNParameters","type":"object"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"title":"Detail","type":"array"}},"title":"HTTPValidationError","type":"object"},"HashableMapping_CURIE__Node_":{"additionalProperties":{"$ref":"#/components/schemas/Node"},"default":{},"description":"Custom class that implements MutableMapping and is hashable","title":"HashableMapping[CURIE, Node]","type":"object"},"HashableMapping_EdgeIdentifier__Edge_":{"additionalProperties":{"$ref":"#/components/schemas/Edge"},"default":{},"description":"Custom class that implements MutableMapping and is hashable","title":"HashableMapping[EdgeIdentifier, Edge]","type":"object"},"HashableMapping_str__AuxiliaryGraph_":{"additionalProperties":{"$ref":"#/components/schemas/AuxiliaryGraph"},"default":{},"description":"Custom class that implements MutableMapping and is hashable","title":"HashableMapping[str, AuxiliaryGraph]","type":"object"},"HashableMapping_str__HashableSet_EdgeBinding__":{"additionalProperties":{"$ref":"#/components/schemas/HashableSet_EdgeBinding_"},"default":{},"description":"Custom class that implements MutableMapping and is hashable","title":"HashableMapping[str, HashableSet[EdgeBinding]]","type":"object"},"HashableMapping_str__HashableSet_NodeBinding__":{"additionalProperties":{"$ref":"#/components/schemas/HashableSet_NodeBinding_"},"default":{},"description":"Custom class that implements MutableMapping and is hashable","title":"HashableMapping[str, HashableSet[NodeBinding]]","type":"object"},"HashableMapping_str__MetaNode_":{"additionalProperties":{"$ref":"#/components/schemas/MetaNode"},"default":{},"description":"Custom class that implements MutableMapping and is hashable","title":"HashableMapping[str, MetaNode]","type":"object"},"HashableMapping_str__QEdge_":{"additionalProperties":{"$ref":"#/components/schemas/QEdge"},"default":{},"description":"Custom class that implements MutableMapping and is hashable","title":"HashableMapping[str, QEdge]","type":"object"},"HashableMapping_str__QNode_":{"additionalProperties":{"$ref":"#/components/schemas/QNode"},"default":{},"description":"Custom class that implements MutableMapping and is hashable","title":"HashableMapping[str, QNode]","type":"object"},"HashableSequence_AttributeConstraint_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/AttributeConstraint"},"title":"HashableSequence[AttributeConstraint]","type":"array"},"HashableSequence_BiolinkEntity_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"pattern":"^biolink:[A-Z][a-zA-Z]*$","type":"string"},"title":"HashableSequence[BiolinkEntity]","type":"array"},"HashableSequence_BiolinkPredicate_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"pattern":"^biolink:[a-z][a-z_]*$","type":"string"},"title":"HashableSequence[BiolinkPredicate]","type":"array"},"HashableSequence_CURIE_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"type":"string"},"title":"HashableSequence[CURIE]","type":"array"},"HashableSequence_KnowledgeType_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/KnowledgeType"},"title":"HashableSequence[KnowledgeType]","type":"array"},"HashableSequence_MetaAttribute_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/MetaAttribute"},"title":"HashableSequence[MetaAttribute]","type":"array"},"HashableSequence_MetaEdge_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/MetaEdge"},"title":"HashableSequence[MetaEdge]","type":"array"},"HashableSequence_MetaQualifier_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/MetaQualifier"},"title":"HashableSequence[MetaQualifier]","type":"array"},"HashableSequence_Operation_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/Operation"},"title":"HashableSequence[Operation]","type":"array"},"HashableSequence_QualifierConstraint_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/QualifierConstraint"},"title":"HashableSequence[QualifierConstraint]","type":"array"},"HashableSequence_Qualifier_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/Qualifier"},"title":"HashableSequence[Qualifier]","type":"array"},"HashableSequence_RecursiveAttribute_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/RecursiveAttribute"},"title":"HashableSequence[RecursiveAttribute]","type":"array"},"HashableSequence_Result_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/Result"},"title":"HashableSequence[Result]","type":"array"},"HashableSequence_SubAttribute_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"$ref":"#/components/schemas/SubAttribute"},"title":"HashableSequence[SubAttribute]","type":"array"},"HashableSequence_str_":{"default":[],"description":"Custom class that implements MutableSequence and is hashable","items":{"type":"string"},"title":"HashableSequence[str]","type":"array"},"HashableSet_Analysis_":{"default":[],"description":"Custom class that implements MutableSet and is hashable","items":{"$ref":"#/components/schemas/Analysis"},"title":"HashableSet[Analysis]","type":"array","uniqueItems":true},"HashableSet_Attribute_":{"default":[],"description":"Custom class that implements MutableSet and is hashable","items":{"$ref":"#/components/schemas/Attribute"},"title":"HashableSet[Attribute]","type":"array","uniqueItems":true},"HashableSet_BiolinkEntity_":{"default":[],"description":"Custom class that implements MutableSet and is hashable","items":{"pattern":"^biolink:[A-Z][a-zA-Z]*$","type":"string"},"title":"HashableSet[BiolinkEntity]","type":"array","uniqueItems":true},"HashableSet_CURIE_":{"default":[],"description":"Custom class that implements MutableSet and is hashable","items":{"type":"string"},"title":"HashableSet[CURIE]","type":"array","uniqueItems":true},"HashableSet_EdgeBinding_":{"default":[],"description":"Custom class that implements MutableSet and is hashable","items":{"$ref":"#/components/schemas/EdgeBinding"},"title":"HashableSet[EdgeBinding]","type":"array","uniqueItems":true},"HashableSet_NodeBinding_":{"default":[],"description":"Custom class that implements MutableSet and is hashable","items":{"$ref":"#/components/schemas/NodeBinding"},"title":"HashableSet[NodeBinding]","type":"array","uniqueItems":true},"HashableSet_Qualifier_":{"default":[],"description":"Custom class that implements MutableSet and is hashable","items":{"$ref":"#/components/schemas/Qualifier"},"title":"HashableSet[Qualifier]","type":"array","uniqueItems":true},"HashableSet_RetrievalSource_":{"default":[],"description":"Custom class that implements MutableSet and is hashable","items":{"$ref":"#/components/schemas/RetrievalSource"},"title":"HashableSet[RetrievalSource]","type":"array","uniqueItems":true},"HashableSet_str_":{"default":[],"description":"Custom class that implements MutableSet and is hashable","items":{"type":"string"},"title":"HashableSet[str]","type":"array","uniqueItems":true},"KnowledgeGraph":{"description":"Knowledge graph.","properties":{"edges":{"allOf":[{"$ref":"#/components/schemas/HashableMapping_EdgeIdentifier__Edge_"}],"title":"edges"},"nodes":{"allOf":[{"$ref":"#/components/schemas/HashableMapping_CURIE__Node_"}],"title":"nodes"}},"required":["nodes","edges"],"title":"knowledge graph","type":"object"},"KnowledgeType":{"description":"Knowledge Type.","enum":["lookup","inferred"],"title":"KnowledgeType","type":"string"},"LogLevel":{"$ref":"#/components/schemas/LogLevelEnum","description":"Log level.","title":"LogLevel"},"LogLevelEnum":{"description":"Log level.","enum":["ERROR","WARNING","INFO","DEBUG"],"title":"LogLevelEnum","type":"string"},"Message":{"additionalProperties":false,"description":"Message.","properties":{"auxiliary_graphs":{"allOf":[{"$ref":"#/components/schemas/AuxiliaryGraphs"}],"nullable":true,"title":"dict of auxiliary graphs"},"knowledge_graph":{"allOf":[{"$ref":"#/components/schemas/KnowledgeGraph"}],"nullable":true,"title":"knowledge graph"},"query_graph":{"allOf":[{"$ref":"#/components/schemas/QueryGraph"}],"nullable":true,"title":"query graph"},"results":{"allOf":[{"$ref":"#/components/schemas/Results"}],"nullable":true,"title":"list of results"}},"title":"message","type":"object"},"MetaAttribute":{"description":"MetaAttribute.","properties":{"attribute_source":{"title":"Attribute Source","type":"string"},"attribute_type_id":{"title":"Attribute Type Id","type":"string"},"constraint_name":{"title":"Constraint Name","type":"string"},"constraint_use":{"default":false,"title":"Constraint Use","type":"boolean"},"original_attribute_names":{"$ref":"#/components/schemas/HashableSequence_str_"}},"required":["attribute_type_id"],"title":"MetaAttribute","type":"object"},"MetaEdge":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"association":{"pattern":"^biolink:[A-Z][a-zA-Z]*$","title":"Association","type":"string"},"attributes":{"$ref":"#/components/schemas/HashableSequence_MetaAttribute_"},"knowledge_types":{"$ref":"#/components/schemas/HashableSequence_KnowledgeType_"},"object":{"pattern":"^biolink:[A-Z][a-zA-Z]*$","title":"Object","type":"string"},"predicate":{"pattern":"^biolink:[a-z][a-z_]*$","title":"Predicate","type":"string"},"qualifiers":{"$ref":"#/components/schemas/HashableSequence_MetaQualifier_"},"subject":{"pattern":"^biolink:[A-Z][a-zA-Z]*$","title":"Subject","type":"string"}},"required":["subject","predicate","object"],"title":"MetaEdge","type":"object"},"MetaKnowledgeGraph":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"edges":{"$ref":"#/components/schemas/HashableSequence_MetaEdge_"},"nodes":{"$ref":"#/components/schemas/HashableMapping_str__MetaNode_"}},"required":["nodes","edges"],"title":"MetaKnowledgeGraph","type":"object"},"MetaNode":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"attributes":{"$ref":"#/components/schemas/HashableSequence_MetaAttribute_"},"id_prefixes":{"$ref":"#/components/schemas/HashableSequence_str_"}},"required":["id_prefixes"],"title":"MetaNode","type":"object"},"MetaQualifier":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"applicable_values":{"$ref":"#/components/schemas/HashableSequence_str_"},"qualifier_type_id":{"title":"Qualifier Type Id","type":"string"}},"required":["qualifier_type_id"],"title":"MetaQualifier","type":"object"},"Node":{"additionalProperties":false,"description":"Knowledge graph node.","example":{"category":"string"},"properties":{"attributes":{"allOf":[{"$ref":"#/components/schemas/HashableSet_Attribute_"}],"nullable":false,"title":"Attributes"},"categories":{"allOf":[{"$ref":"#/components/schemas/HashableSet_BiolinkEntity_"}],"nullable":false,"title":"categories"},"is_set":{"title":"Is Set","type":"boolean"},"name":{"nullable":true,"title":"Name","type":"string"}},"required":["categories","attributes"],"title":"knowledge-graph node","type":"object"},"NodeBinding":{"description":"Node binding.","example":{"id":"x:string"},"properties":{"attributes":{"allOf":[{"$ref":"#/components/schemas/HashableSet_Attribute_"}],"nullable":false,"title":"Attributes"},"id":{"nullable":false,"title":"knowledge graph id","type":"string"},"query_id":{"title":"query graph id","type":"string"}},"required":["id","attributes"],"title":"node binding","type":"object"},"Operation":{"anyOf":[{"$ref":"#/components/schemas/OperationAnnotate"},{"$ref":"#/components/schemas/OperationAnnotateEdges"},{"$ref":"#/components/schemas/OperationAnnotateNodes"},{"$ref":"#/components/schemas/OperationBind"},{"$ref":"#/components/schemas/OperationCompleteResults"},{"$ref":"#/components/schemas/OperationEnrichResults"},{"$ref":"#/components/schemas/OperationFill"},{"$ref":"#/components/schemas/OperationFilterKgraph"},{"$ref":"#/components/schemas/OperationFilterKgraphContinuousKedgeAttribute"},{"$ref":"#/components/schemas/OperationFilterKgraphDiscreteKedgeAttribute"},{"$ref":"#/components/schemas/OperationFilterKgraphDiscreteKnodeAttribute"},{"$ref":"#/components/schemas/OperationFilterKgraphOrphans"},{"$ref":"#/components/schemas/OperationFilterKgraphPercentile"},{"$ref":"#/components/schemas/OperationFilterKgraphStdDev"},{"$ref":"#/components/schemas/OperationFilterKgraphTopN"},{"$ref":"#/components/schemas/OperationFilterResults"},{"$ref":"#/components/schemas/OperationFilterResultsTopN"},{"$ref":"#/components/schemas/OperationLookup"},{"$ref":"#/components/schemas/OperationLookupAndScore"},{"$ref":"#/components/schemas/OperationOverlay"},{"$ref":"#/components/schemas/OperationOverlayComputeJaccard"},{"$ref":"#/components/schemas/OperationOverlayComputeNgd"},{"$ref":"#/components/schemas/OperationOverlayConnectKnodes"},{"$ref":"#/components/schemas/OperationOverlayFisherExactTest"},{"$ref":"#/components/schemas/OperationRestate"},{"$ref":"#/components/schemas/OperationScore"},{"$ref":"#/components/schemas/OperationSortResults"},{"$ref":"#/components/schemas/OperationSortResultsEdgeAttribute"},{"$ref":"#/components/schemas/OperationSortResultsNodeAttribute"},{"$ref":"#/components/schemas/OperationSortResultsScore"}],"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","title":"Operation"},"OperationAnnotate":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/annotate"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationAnnotate","type":"object"},"OperationAnnotateEdges":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/annotate_edges"},"parameters":{"$ref":"#/components/schemas/AnnotateEdgesParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationAnnotateEdges","type":"object"},"OperationAnnotateNodes":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/annotate_nodes"},"parameters":{"$ref":"#/components/schemas/AnnotateNodesParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationAnnotateNodes","type":"object"},"OperationBind":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/bind"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationBind","type":"object"},"OperationCompleteResults":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/complete_results"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationCompleteResults","type":"object"},"OperationEnrichResults":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/enrich_results"},"parameters":{"$ref":"#/components/schemas/EnrichResultsParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationEnrichResults","type":"object"},"OperationFill":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/fill"},"parameters":{"$ref":"#/components/schemas/FillParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationFill","type":"object"},"OperationFilterKgraph":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/filter_kgraph"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationFilterKgraph","type":"object"},"OperationFilterKgraphContinuousKedgeAttribute":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/filter_kgraph_continuous_kedge_attribute"},"parameters":{"$ref":"#/components/schemas/FilterKgraphContinuousKedgeAttributeParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationFilterKgraphContinuousKedgeAttribute","type":"object"},"OperationFilterKgraphDiscreteKedgeAttribute":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/filter_kgraph_discrete_kedge_attribute"},"parameters":{"$ref":"#/components/schemas/FilterKgraphDiscreteKedgeAttributeParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationFilterKgraphDiscreteKedgeAttribute","type":"object"},"OperationFilterKgraphDiscreteKnodeAttribute":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/filter_kgraph_discrete_knode_attribute"},"parameters":{"$ref":"#/components/schemas/FilterKgraphDiscreteKnodeAttributeParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationFilterKgraphDiscreteKnodeAttribute","type":"object"},"OperationFilterKgraphOrphans":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/filter_kgraph_orphans"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationFilterKgraphOrphans","type":"object"},"OperationFilterKgraphPercentile":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/filter_kgraph_percentile"},"parameters":{"$ref":"#/components/schemas/FilterKgraphPercentileParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationFilterKgraphPercentile","type":"object"},"OperationFilterKgraphStdDev":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/filter_kgraph_std_dev"},"parameters":{"$ref":"#/components/schemas/FilterKgraphStdDevParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationFilterKgraphStdDev","type":"object"},"OperationFilterKgraphTopN":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/filter_kgraph_top_n"},"parameters":{"$ref":"#/components/schemas/FilterKgraphTopNParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationFilterKgraphTopN","type":"object"},"OperationFilterResults":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/filter_results"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationFilterResults","type":"object"},"OperationFilterResultsTopN":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/filter_results_top_n"},"parameters":{"$ref":"#/components/schemas/FilterResultsTopNParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationFilterResultsTopN","type":"object"},"OperationLookup":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/lookup"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationLookup","type":"object"},"OperationLookupAndScore":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/lookup_and_score"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationLookupAndScore","type":"object"},"OperationOverlay":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/overlay"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationOverlay","type":"object"},"OperationOverlayComputeJaccard":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/overlay_compute_jaccard"},"parameters":{"$ref":"#/components/schemas/OverlayComputeJaccardParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationOverlayComputeJaccard","type":"object"},"OperationOverlayComputeNgd":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/overlay_compute_ngd"},"parameters":{"$ref":"#/components/schemas/OverlayComputeNgdParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationOverlayComputeNgd","type":"object"},"OperationOverlayConnectKnodes":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/overlay_connect_knodes"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationOverlayConnectKnodes","type":"object"},"OperationOverlayFisherExactTest":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/overlay_fisher_exact_test"},"parameters":{"$ref":"#/components/schemas/OverlayFisherExactTestParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationOverlayFisherExactTest","type":"object"},"OperationRestate":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/restate"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationRestate","type":"object"},"OperationScore":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/score"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationScore","type":"object"},"OperationSortResults":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/sort_results"},"parameters":{"title":"Parameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id"],"title":"OperationSortResults","type":"object"},"OperationSortResultsEdgeAttribute":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/sort_results_edge_attribute"},"parameters":{"$ref":"#/components/schemas/SortResultsEdgeAttributeParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationSortResultsEdgeAttribute","type":"object"},"OperationSortResultsNodeAttribute":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/sort_results_node_attribute"},"parameters":{"$ref":"#/components/schemas/SortResultsNodeAttributeParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationSortResultsNodeAttribute","type":"object"},"OperationSortResultsScore":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"id":{"$ref":"#/components/schemas/sort_results_score"},"parameters":{"$ref":"#/components/schemas/SortResultsScoreParameters"},"runner_parameters":{"$ref":"#/components/schemas/RunnerParameters"}},"required":["id","parameters"],"title":"OperationSortResultsScore","type":"object"},"Operator":{"description":"Operator.","enum":["==","===",">","<","matches"],"title":"Operator","type":"string"},"OverlayComputeJaccardParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"end_node_keys":{"$ref":"#/components/schemas/HashableSequence_str_"},"intermediate_node_key":{"title":"Intermediate Node Key","type":"string"},"virtual_relation_label":{"title":"Virtual Relation Label","type":"string"}},"required":["intermediate_node_key","end_node_keys","virtual_relation_label"],"title":"OverlayComputeJaccardParameters","type":"object"},"OverlayComputeNgdParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"qnode_keys":{"$ref":"#/components/schemas/HashableSequence_str_"},"virtual_relation_label":{"title":"Virtual Relation Label","type":"string"}},"required":["qnode_keys","virtual_relation_label"],"title":"OverlayComputeNgdParameters","type":"object"},"OverlayFisherExactTestParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"object_qnode_key":{"title":"Object Qnode Key","type":"string"},"rel_edge_key":{"title":"Rel Edge Key","type":"string"},"subject_qnode_key":{"title":"Subject Qnode Key","type":"string"},"virtual_relation_label":{"title":"Virtual Relation Label","type":"string"}},"required":["subject_qnode_key","object_qnode_key","virtual_relation_label"],"title":"OverlayFisherExactTestParameters","type":"object"},"PlusOrMinusEnum":{"description":"'plus' or 'minus'.","enum":["plus","minus"],"title":"PlusOrMinusEnum","type":"string"},"QEdge":{"description":"Query edge.","properties":{"attribute_constraints":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_AttributeConstraint_"}],"default":{"__root__":[]},"title":"attribute constraints"},"knowledge_type":{"allOf":[{"$ref":"#/components/schemas/KnowledgeType"}],"title":"knowledge type"},"object":{"title":"object node id","type":"string"},"predicates":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_BiolinkPredicate_"}],"nullable":true,"title":"predicates"},"qualifier_constraints":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_QualifierConstraint_"}],"default":{"__root__":[]},"title":"qualifier constraint"},"subject":{"title":"subject node id","type":"string"}},"required":["subject","object"],"title":"query-graph edge","type":"object"},"QNode":{"description":"Query node.","properties":{"categories":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_BiolinkEntity_"}],"nullable":true,"title":"categories"},"constraints":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_AttributeConstraint_"}],"default":{"__root__":[]},"title":"attribute constraints"},"ids":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_CURIE_"}],"nullable":true,"title":"ids"},"member_ids":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_CURIE_"}],"default":{"__root__":[]},"title":"set member ids"},"set_interpretation":{"allOf":[{"$ref":"#/components/schemas/SetInterpretationEnum"}],"default":"BATCH","nullable":true}},"title":"query-graph node","type":"object"},"Qualifier":{"description":"Edge qualifier.","properties":{"qualifier_type_id":{"pattern":"^biolink:[a-z][a-z_]*$","title":"type","type":"string"},"qualifier_value":{"title":"value","type":"string"}},"required":["qualifier_type_id","qualifier_value"],"title":"Qualifier","type":"object"},"QualifierConstraint":{"description":"QEdge Qualifier constraint.","properties":{"qualifier_set":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_Qualifier_"}],"default":{"__root__":[]},"title":"qualifier set"}},"title":"QualifierConstraint","type":"object"},"QueryGraph":{"description":"Query graph.","properties":{"edges":{"allOf":[{"$ref":"#/components/schemas/HashableMapping_str__QEdge_"}],"title":"dict of edges"},"nodes":{"allOf":[{"$ref":"#/components/schemas/HashableMapping_str__QNode_"}],"title":"dict of nodes"}},"required":["nodes","edges"],"title":"simple query graph","type":"object"},"ReasonerRequest":{"description":"Request.","properties":{"bypass_cache":{"title":"Bypass Cache","type":"boolean"},"log_level":{"allOf":[{"$ref":"#/components/schemas/LogLevel"}],"nullable":true,"title":"log_level"},"message":{"allOf":[{"$ref":"#/components/schemas/Message"}],"title":"message"},"workflow":{"$ref":"#/components/schemas/Workflow"}},"required":["message"],"title":"query","type":"object","x-body-name":"request_body"},"RecursiveAttribute":{"additionalProperties":false,"description":"Attribute subattribute.","properties":{"attribute_source":{"nullable":true,"title":"Attribute Source","type":"string"},"attribute_type_id":{"title":"type","type":"string"},"attributes":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_RecursiveAttribute_"}],"nullable":true,"title":"Attributes"},"description":{"nullable":true,"title":"Description","type":"string"},"original_attribute_name":{"nullable":true,"title":"Original Attribute Name","type":"string"},"value":{"title":"value"},"value_type_id":{"nullable":true,"title":"value_type_id","type":"string"},"value_url":{"nullable":true,"title":"Value Url","type":"string"}},"required":["attribute_type_id","value"],"title":"RecursiveAttribute","type":"object"},"ResourceRoleEnum":{"description":"Types of resources","enum":["aggregator_knowledge_source","primary_knowledge_source","supporting_data_source"],"title":"ResourceRoleEnum","type":"string"},"Result":{"description":"Result.","properties":{"analyses":{"allOf":[{"$ref":"#/components/schemas/HashableSet_Analysis_"}],"nullable":false,"title":"list of anlysis blocks"},"node_bindings":{"allOf":[{"$ref":"#/components/schemas/HashableMapping_str__HashableSet_NodeBinding__"}],"nullable":false,"title":"list of node bindings"}},"required":["node_bindings","analyses"],"title":"result","type":"object"},"Results":{"$ref":"#/components/schemas/HashableSequence_Result_","description":"Results.","title":"results"},"RetrievalSource":{"description":"A component of source retrieval provenance","properties":{"resource_id":{"title":"infores for source","type":"string"},"resource_role":{"allOf":[{"$ref":"#/components/schemas/ResourceRoleEnum"}],"title":"source type"},"source_record_urls":{"allOf":[{"$ref":"#/components/schemas/HashableSet_str_"}],"nullable":true,"title":"Source Record Urls"},"upstream_resource_ids":{"allOf":[{"$ref":"#/components/schemas/HashableSet_CURIE_"}],"nullable":true,"title":"Upstream Resource Ids"}},"required":["resource_id","resource_role"],"title":"RetrievalSource","type":"object"},"RunnerAllowList":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"allowlist":{"$ref":"#/components/schemas/HashableSequence_str_"},"timeout":{"title":"Timeout","type":"number"}},"title":"RunnerAllowList","type":"object"},"RunnerDenyList":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"denylist":{"$ref":"#/components/schemas/HashableSequence_str_"},"timeout":{"title":"Timeout","type":"number"}},"title":"RunnerDenyList","type":"object"},"RunnerParameters":{"anyOf":[{"$ref":"#/components/schemas/RunnerAllowList"},{"$ref":"#/components/schemas/RunnerDenyList"},{"$ref":"#/components/schemas/RunnerTimeout"}],"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","title":"RunnerParameters"},"RunnerTimeout":{"additionalProperties":false,"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"timeout":{"title":"Timeout","type":"number"}},"title":"RunnerTimeout","type":"object"},"SRITestData":{"properties":{"edges":{"items":{"$ref":"#/components/schemas/SRITestEdge"},"title":"Edges","type":"array"},"source_type":{"title":"Source Type","type":"string"},"version":{"title":"Version","type":"string"}},"required":["version","source_type","edges"],"title":"SRITestData","type":"object"},"SRITestEdge":{"properties":{"object_category":{"title":"Object Category","type":"string"},"object_id":{"title":"Object Id","type":"string"},"predicate":{"title":"Predicate","type":"string"},"qualifiers":{"items":{},"title":"Qualifiers","type":"array"},"subject_category":{"title":"Subject Category","type":"string"},"subject_id":{"title":"Subject Id","type":"string"}},"required":["subject_id","object_id","predicate","subject_category","object_category"],"title":"SRITestEdge","type":"object"},"SetInterpretationEnum":{"description":"Enumeration for set interpretation.","enum":["BATCH","ALL","MANY"],"title":"SetInterpretationEnum","type":"string"},"SimpleSpecElement":{"properties":{"edge_type":{"title":"Edge Type","type":"string"},"source_type":{"title":"Source Type","type":"string"},"target_type":{"title":"Target Type","type":"string"}},"required":["source_type","target_type","edge_type"],"title":"SimpleSpecElement","type":"object"},"SortResultsEdgeAttributeParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"ascending_or_descending":{"$ref":"#/components/schemas/AscOrDescEnum"},"edge_attribute":{"title":"Edge Attribute","type":"string"},"qedge_keys":{"$ref":"#/components/schemas/HashableSequence_str_"}},"required":["edge_attribute","ascending_or_descending"],"title":"SortResultsEdgeAttributeParameters","type":"object"},"SortResultsNodeAttributeParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"ascending_or_descending":{"$ref":"#/components/schemas/AscOrDescEnum"},"node_attribute":{"title":"Node Attribute","type":"string"},"qnode_keys":{"$ref":"#/components/schemas/HashableSequence_str_"}},"required":["node_attribute","ascending_or_descending"],"title":"SortResultsNodeAttributeParameters","type":"object"},"SortResultsScoreParameters":{"description":"Custom base model for all classes\n\nThis provides hash and equality methods.","properties":{"ascending_or_descending":{"$ref":"#/components/schemas/AscOrDescEnum"}},"required":["ascending_or_descending"],"title":"SortResultsScoreParameters","type":"object"},"SubAttribute":{"additionalProperties":false,"description":"Attribute subattribute.","properties":{"attribute_source":{"nullable":true,"title":"Attribute Source","type":"string"},"attribute_type_id":{"title":"type","type":"string"},"attributes":{"allOf":[{"$ref":"#/components/schemas/HashableSequence_RecursiveAttribute_"}],"nullable":true,"title":"Attributes"},"description":{"nullable":true,"title":"Description","type":"string"},"original_attribute_name":{"nullable":true,"title":"Original Attribute Name","type":"string"},"value":{"title":"value"},"value_type_id":{"nullable":true,"title":"value_type_id","type":"string"},"value_url":{"nullable":true,"title":"Value Url","type":"string"}},"required":["attribute_type_id","value"],"title":"SubAttribute","type":"object"},"TopOrBottomEnum":{"description":"'top' or 'bottom'.","enum":["top","bottom"],"title":"TopOrBottomEnum","type":"string"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object"},"Workflow":{"$ref":"#/components/schemas/HashableSequence_Operation_","description":"Custom base model for all classes\n\nThis provides hash and equality methods.","title":"Workflow"},"annotate":{"description":"An enumeration.","enum":["annotate"],"title":"annotate","type":"string"},"annotate_edges":{"description":"An enumeration.","enum":["annotate_edges"],"title":"annotate_edges","type":"string"},"annotate_nodes":{"description":"An enumeration.","enum":["annotate_nodes"],"title":"annotate_nodes","type":"string"},"bind":{"description":"An enumeration.","enum":["bind"],"title":"bind","type":"string"},"complete_results":{"description":"An enumeration.","enum":["complete_results"],"title":"complete_results","type":"string"},"enrich_results":{"description":"An enumeration.","enum":["enrich_results"],"title":"enrich_results","type":"string"},"fill":{"description":"An enumeration.","enum":["fill"],"title":"fill","type":"string"},"filter_kgraph":{"description":"An enumeration.","enum":["filter_kgraph"],"title":"filter_kgraph","type":"string"},"filter_kgraph_continuous_kedge_attribute":{"description":"An enumeration.","enum":["filter_kgraph_continuous_kedge_attribute"],"title":"filter_kgraph_continuous_kedge_attribute","type":"string"},"filter_kgraph_discrete_kedge_attribute":{"description":"An enumeration.","enum":["filter_kgraph_discrete_kedge_attribute"],"title":"filter_kgraph_discrete_kedge_attribute","type":"string"},"filter_kgraph_discrete_knode_attribute":{"description":"An enumeration.","enum":["filter_kgraph_discrete_knode_attribute"],"title":"filter_kgraph_discrete_knode_attribute","type":"string"},"filter_kgraph_orphans":{"description":"An enumeration.","enum":["filter_kgraph_orphans"],"title":"filter_kgraph_orphans","type":"string"},"filter_kgraph_percentile":{"description":"An enumeration.","enum":["filter_kgraph_percentile"],"title":"filter_kgraph_percentile","type":"string"},"filter_kgraph_std_dev":{"description":"An enumeration.","enum":["filter_kgraph_std_dev"],"title":"filter_kgraph_std_dev","type":"string"},"filter_kgraph_top_n":{"description":"An enumeration.","enum":["filter_kgraph_top_n"],"title":"filter_kgraph_top_n","type":"string"},"filter_results":{"description":"An enumeration.","enum":["filter_results"],"title":"filter_results","type":"string"},"filter_results_top_n":{"description":"An enumeration.","enum":["filter_results_top_n"],"title":"filter_results_top_n","type":"string"},"lookup":{"description":"An enumeration.","enum":["lookup"],"title":"lookup","type":"string"},"lookup_and_score":{"description":"An enumeration.","enum":["lookup_and_score"],"title":"lookup_and_score","type":"string"},"overlay":{"description":"An enumeration.","enum":["overlay"],"title":"overlay","type":"string"},"overlay_compute_jaccard":{"description":"An enumeration.","enum":["overlay_compute_jaccard"],"title":"overlay_compute_jaccard","type":"string"},"overlay_compute_ngd":{"description":"An enumeration.","enum":["overlay_compute_ngd"],"title":"overlay_compute_ngd","type":"string"},"overlay_connect_knodes":{"description":"An enumeration.","enum":["overlay_connect_knodes"],"title":"overlay_connect_knodes","type":"string"},"overlay_fisher_exact_test":{"description":"An enumeration.","enum":["overlay_fisher_exact_test"],"title":"overlay_fisher_exact_test","type":"string"},"restate":{"description":"An enumeration.","enum":["restate"],"title":"restate","type":"string"},"score":{"description":"An enumeration.","enum":["score"],"title":"score","type":"string"},"sort_results":{"description":"An enumeration.","enum":["sort_results"],"title":"sort_results","type":"string"},"sort_results_edge_attribute":{"description":"An enumeration.","enum":["sort_results_edge_attribute"],"title":"sort_results_edge_attribute","type":"string"},"sort_results_node_attribute":{"description":"An enumeration.","enum":["sort_results_node_attribute"],"title":"sort_results_node_attribute","type":"string"},"sort_results_score":{"description":"An enumeration.","enum":["sort_results_score"],"title":"sort_results_score","type":"string"}}},"info":{"contact":{"email":"kebedey@renci.org","name":"Yaphet Kebede","x-id":"https://github.com/yaphetkg","x-role":"contributor"},"title":"Automat-ehr-clinical-connections-kp(Trapi v1.5.0)","version":"v2.1.2","x-translator":{"biolink-version":"4.2.1","component":"KP","infores":"infores:automat-ehr-clinical-connections-kp","team":["Ranking Agent"]},"x-trapi":{"operations":["lookup","overlay_connect_knodes","annotate_nodes"],"test_data_location":{"development":{"url":"https://automat.renci.org/ehr-clinical-connections-kp/sri_testing_data"}},"version":"1.5.0"}},"openapi":"3.0.0","paths":{"/meta_knowledge_graph":{"get":{"description":"Returns a meta knowledge graph representation of this TRAPI web service. The meta knowledge graph is composed of the union of most specific categories and predicates for each node and edge.","operationId":"get_meta_knowledge_graph_meta_knowledge_graph_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaKnowledgeGraph"}}},"description":"Successful Response"}},"summary":"Meta knowledge graph representation of this TRAPI web service.","tags":["trapi"]}},"/sri_testing_data":{"get":{"description":"Returns a list of edges that are representative examples of the knowledge graph.","operationId":"get_sri_testing_data_sri_testing_data_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SRITestData"}}},"description":"Successful Response"}},"summary":"Test data for usage by the SRI Testing Harness.","tags":["trapi"]}},"/query":{"post":{"description":"Accepts a TRAPI Query and returns a TRAPI Response. (https://github.com/NCATSTranslator/ReasonerAPI/)","operationId":"reasoner_api_query_post","parameters":[{"in":"query","name":"profile","required":false,"schema":{"default":false,"title":"Profile","type":"boolean"}},{"in":"query","name":"validate","required":false,"schema":{"default":false,"title":"Validate","type":"boolean"}},{"in":"query","name":"subclass","required":false,"schema":{"default":true,"title":"Subclass","type":"boolean"}}],"requestBody":{"content":{"application/json":{"example":{"message":{"query_graph":{"edges":{"e01":{"object":"n1","predicates":["biolink:associated_with_increased_likelihood_of"],"subject":"n0"}},"nodes":{"n0":{"categories":["biolink:SmallMolecule"],"ids":["CHEBI:94534"]},"n1":{"categories":["biolink:Disease"],"ids":["MONDO:0008644"]}}}},"workflow":[{"id":"lookup"}]},"schema":{"$ref":"#/components/schemas/ReasonerRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReasonerRequest"}}},"description":"Successful Response"},"400":{"content":{"application/json":{"schema":{"title":"Response 400 Reasoner Api Query Post","type":"object"}}},"description":"Bad Request"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Accepts TRAPI Queries.","tags":["trapi"]}},"/cypher":{"post":{"description":"Runs a cypher query against the Neo4j instance, and returns an equivalent response expected from a Neo4j HTTP endpoint (https://neo4j.com/docs/rest-docs/current/).","operationId":"cypher_cypher_post","requestBody":{"content":{"application/json":{"example":{"query":"MATCH (n) RETURN count(n)"},"schema":{"$ref":"#/components/schemas/CypherRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Run a Neo4j cypher query."}},"/metadata":{"get":{"description":"Returns JSON with metadata about the data sources in this knowledge graph.","operationId":"metadata_metadata_get","responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Metadata Metadata Get"}}},"description":"Successful Response"}},"summary":"Metadata about the knowledge graph."}},"/{source_type}/{target_type}/{curie}":{"get":{"description":"Returns one hop paths from `source_node_type`  with `curie` to `target_node_type`.","operationId":"one_hop__source_type___target_type___curie__get","parameters":[{"in":"path","name":"source_type","required":true,"schema":{"title":"Source Type","type":"string"}},{"in":"path","name":"target_type","required":true,"schema":{"title":"Target Type","type":"string"}},{"in":"path","name":"curie","required":true,"schema":{"title":"Curie","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{},"title":"Response One Hop  Source Type   Target Type   Curie  Get","type":"array"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get one hop results from source type to target type. "}},"/{node_type}/{curie}":{"get":{"description":"Returns `node` matching `curie`.","operationId":"node__node_type___curie__get","parameters":[{"in":"path","name":"node_type","required":true,"schema":{"title":"Node Type","type":"string"}},{"in":"path","name":"curie","required":true,"schema":{"title":"Curie","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{},"title":"Response Node  Node Type   Curie  Get","type":"array"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Find `node` by `curie`"}},"/simple_spec":{"get":{"description":"Returns a list of available predicates when choosing a single source or target curie. Calling this endpoint with no query parameters will return all possible hops for all types.","operationId":"simple_spec_simple_spec_get","parameters":[{"in":"query","name":"source","required":false,"schema":{"title":"Source","type":"string"}},{"in":"query","name":"target","required":false,"schema":{"title":"Target","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SimpleSpecElement"},"title":"Response Simple Spec Simple Spec Get","type":"array"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get one-hop connection schema"}}},"servers":[{"description":"Default server","url":"https://automat.renci.org/ehr-clinical-connections-kp/","x-location":"RENCI","x-maturity":"development","x-translator":{"biolink-version":"4.2.1","test-data-location":"https://automat.renci.org/ehr-clinical-connections-kp/sri_testing_data"},"x-trapi":"1.5"}],"tags":[{"name":"translator"},{"name":"automat"},{"name":"trapi"}]},{"components":{"schemas":{"Analysis":{"additionalProperties":true,"description":"An analysis is a dictionary that contains information about the result tied to a particular service. Each Analysis is generated by a single reasoning service, and describes the outputs of analyses performed by the reasoner on a particular Result (e.g. a result score), along with provenance information supporting the analysis (e.g. method or data that supported generation of the score).","properties":{"attributes":{"description":"The attributes of this particular Analysis.","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"edge_bindings":{"additionalProperties":{"items":{"$ref":"#/components/schemas/EdgeBinding"},"type":"array"},"description":"The dictionary of input Query Graph to Knowledge Graph edge bindings where the dictionary keys are the key identifiers of the Query Graph edges and the associated values of those keys are instances of EdgeBinding schema type (see below). This value is an array of EdgeBindings since a given query edge may resolve to multiple Knowledge Graph Edges.","type":"object"},"resource_id":{"$ref":"#/components/schemas/CURIE","description":"The id of the resource generating this Analysis"},"score":{"description":"A numerical score associated with this result indicating the relevance or confidence of this result relative to others in the returned set. Higher MUST be better.","example":163.233,"format":"float","nullable":true,"type":"number"},"scoring_method":{"description":"An identifier and link to an explanation for the method used to generate the score","nullable":true,"type":"string"},"support_graphs":{"description":"This is a list of references to Auxiliary Graph instances that supported the analysis of a Result as performed by the reasoning service. Each item in the list is the key of a single Auxiliary Graph.","items":{"type":"string"},"nullable":true,"type":"array"}},"required":["resource_id","edge_bindings"],"type":"object"},"AsyncQuery":{"additionalProperties":true,"description":"The AsyncQuery class is effectively the same as the Query class but it requires a callback property.","properties":{"bypass_cache":{"default":false,"description":"Set to true in order to request that the agent obtain fresh information from its sources in all cases where it has a viable choice between requesting fresh information in real time and using cached information. The agent receiving this flag MUST also include it in TRAPI sent to downstream sources (e.g., ARS -> ARAs -> KPs).","type":"boolean"},"callback":{"description":"Upon completion, this server will send a POST request to the callback URL with `Content-Type: application/json` header and request body containing a JSON-encoded `Response` object. The server MAY POST `Response` objects before work is fully complete to provide interim results with a Response.status value of 'Running'. If a POST operation to the callback URL does not succeed, the server SHOULD retry the POST at least once.","format":"uri","nullable":false,"pattern":"^https?://","type":"string"},"log_level":{"description":"The least critical level of logs to return","nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"submitter":{"description":"Any string for self-identifying the submitter of a query. The purpose of this optional field is to aid in the tracking of the source of queries for development and issue resolution.","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps to be executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["callback","message"],"type":"object","x-body-name":"request_body"},"AsyncQueryResponse":{"additionalProperties":true,"description":"The AsyncQueryResponse object contains a payload that must be returned from a submitted async_query.","properties":{"description":{"description":"A brief human-readable description of the result of the async_query submission.","example":"Async_query has been queued","nullable":true,"type":"string"},"job_id":{"description":"An identifier for the submitted job that can be used with /async_query_status to receive an update on the status of the job.","example":"rXEOAosN3L","nullable":false,"type":"string"},"status":{"description":"One of a standardized set of short codes: e.g. Accepted, QueryNotTraversable, KPsNotAvailable","example":"Accepted","nullable":true,"type":"string"}},"required":["job_id"],"type":"object"},"AsyncQueryStatusResponse":{"additionalProperties":true,"description":"The AsyncQueryStatusResponse object contains a payload that describes the current status of a previously submitted async_query.","properties":{"description":{"description":"A brief human-readable description of the current state or summary of the problem if the status is Failed.","example":"Callback URL returned 500","nullable":false,"type":"string"},"logs":{"description":"A list of LogEntry items, containing errors, warnings, debugging information, etc. List items MUST be in chronological order with earliest first. The most recent entry should be last. Its timestamp will be compared against the current time to see if there is still activity.","items":{"$ref":"#/components/schemas/LogEntry"},"minItems":1,"nullable":false,"type":"array"},"response_url":{"description":"Optional URL that can be queried to restrieve the full TRAPI Response.","example":"https://arax.ncats.io/api/arax/v1.3/response/116481","nullable":true,"type":"string"},"status":{"description":"One of a standardized set of short codes: Queued, Running, Completed, Failed","example":"Running","nullable":false,"type":"string"}},"required":["status","description","logs"],"type":"object"},"Attribute":{"additionalProperties":false,"description":"Generic attribute for a node or an edge that expands the key-value pair concept by including fields for additional metadata. These fields can be used to describe the source of the statement made in a key-value pair of the attribute object, or describe the attribute's value itself including its semantic type, or a url providing additional information about it. An attribute may be further qualified with sub-attributes (for example to provide confidence intervals on a value).","properties":{"attribute_source":{"description":"The source of the core assertion made by the key-value pair of an attribute object. Use a CURIE or namespace designator for this resource where possible.","example":"UniProtKB","nullable":true,"type":"string"},"attribute_type_id":{"$ref":"#/components/schemas/CURIE","description":"The 'key' of the attribute object, holding a CURIE of an ontology property defining the attribute (preferably the CURIE of a Biolink association slot). This property captures the relationship asserted to hold between the value of the attribute, and the node or edge from  which it hangs. For example, that a value of '0.000153' represents a p-value supporting an edge, or that a value of 'ChEMBL' represents the original source of the knowledge expressed in the edge.","example":"biolink:synonym"},"attributes":{"description":"A list of attributes providing further information about the parent attribute (for example to provide provenance information about the parent attribute).","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"description":{"description":"Human-readable description for the attribute and its value.","example":"Assertion Authored By Dr. Trans L. Ator","nullable":true,"type":"string"},"original_attribute_name":{"description":"The term used by the original source of an attribute to describe the meaning or significance of the value it captures. This may be a column name in a source tsv file, or a key in a source json document for the field in the data that held the attribute's value. Capturing this information  where possible lets us preserve what the original source said. Note that the data type is string' but the contents of the field could also be a CURIE of a third party ontology term.","example":"p-value","nullable":true,"type":"string"},"value":{"description":"Value of the attribute. May be any data type, including a list.","example":0.000153},"value_type_id":{"description":"CURIE describing the semantic type of an  attribute's value. Use a Biolink class if possible, otherwise a term from an external ontology. If a suitable CURIE/identifier does not exist, enter a descriptive phrase here and submit the new type for consideration by the appropriate authority.","example":"EDAM:data_1187","nullable":true,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"value_url":{"description":"Human-consumable URL linking to a web document that provides additional information about an  attribute's value (not the node or the edge fom which it hangs).","example":"https://pubmed.ncbi.nlm.nih.gov/32529952","nullable":true,"type":"string"}},"required":["attribute_type_id","value"],"type":"object"},"AttributeConstraint":{"additionalProperties":false,"description":"Generic query constraint for a query node or query edge","properties":{"id":{"description":"CURIE of the concept being constrained. For properties defined by the Biolink model this SHOULD be a biolink CURIE. otherwise, if possible, from the EDAM ontology. If a suitable CURIE does not exist, enter a descriptive phrase here and submit the new type for consideration by the appropriate authority.","example":"EDAM:data_0844","oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"name":{"description":"Human-readable name or label for the constraint concept. If appropriate, it SHOULD be the term name of the CURIE used as the 'id'. This is redundant but required for human readability.","example":"molecular mass","type":"string"},"not":{"default":false,"type":"boolean"},"operator":{"description":"Relationship between the database value and the constraint value for the specified id. The operators ==, >, and < mean is equal to, is greater than, and is less than, respectively. The 'matches' operator indicates that the value is a regular expression to be evaluated. If value is a list type, then at least one evaluation must be true (equivalent to OR). This means that the == operator with a list acts like a SQL 'IN' clause. If the value of the compared attribute is a list, then comparisons are performed between each of the constraint values and each of the attribute values, and any one true evaluation counts as an overall true (e.g., [1,2,3] == [6,7,2] is true). The == operator is therefore a broad interpretation of inclusion. The '===' operator requires that the constraint value and the attribute value be the same data type, length, content, and order (e.g. only [1,2,3] === [1,2,3]). The 'not' property negates the operator such that not and == means 'not equal to' (or 'not in' for a list), and not > means <=, and not < means >=, not matches means does not match, and not === means the match between the constraint and attribute values are not exact. The '==' operator SHOULD NOT be used in a manner that describes an \"is a\" subclass relationship for the parent QNode.","enum":["==",">","<","matches","==="],"type":"string"},"unit_id":{"description":"CURIE of the units of the value or list of values in the 'value' property. The Units of Measurement Ontology (UO) should be used if possible. The unit_id MUST be provided for (lists of) numerical values that correspond to a quantity that has units.","example":"UO:0000222","nullable":true},"unit_name":{"description":"Term name that is associated with the CURIE of the units of the value or list of values in the 'value' property. The Units of Measurement Ontology (UO) SHOULD be used if possible. This property SHOULD be provided if a unit_id is provided. This is redundant but recommended for human readability.","example":"kilodalton","nullable":true},"value":{"description":"Value of the attribute. May be any data type, including a list. If the value is a list and there are multiple items, at least one comparison must be true (equivalent to OR) unless the '===' operator is used. If 'value' is of data type 'object', the keys of the object MAY be treated as a list. A 'list' data type paired with the '>' or '<' operators will encode extraneous comparisons, but this is permitted as it is in SQL and other languages.","example":57.0}},"required":["name","id","operator","value"],"type":"object"},"AuxiliaryGraph":{"additionalProperties":true,"description":"A single AuxiliaryGraph instance that is used by Knowledge Graph Edges and Result Analyses. Edges comprising an Auxiliary Graph are a subset of the Knowledge Graph in the message. Data creators can create an AuxiliaryGraph to assemble a specific collections of edges from the Knowledge Graph into a named graph that can be referenced from an Edge as evidence/explanation supporting that Edge, or from a Result Analysis as information used to generate a score.","properties":{"attributes":{"description":"Attributes of the Auxiliary Graph","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"edges":{"description":"List of edges that form the Auxiliary Graph. Each item is a reference to a single Knowledge Graph edge","items":{"type":"string"},"minItems":1,"nullable":false,"type":"array"}},"required":["edges","attributes"],"type":"object"},"BiolinkEntity":{"description":"Compact URI (CURIE) for a Biolink class, biolink:NamedThing or a child thereof. The CURIE must use the prefix 'biolink:' followed by the PascalCase class name.","example":"biolink:PhenotypicFeature","externalDocs":{"description":"Biolink model entities","url":"https://biolink.github.io/biolink-model/docs/NamedThing.html"},"pattern":"^biolink:[A-Z][a-zA-Z]*$","type":"string"},"BiolinkPredicate":{"description":"CURIE for a Biolink 'predicate' slot, taken from the Biolink slot ('is_a') hierarchy rooted in biolink:related_to (snake_case). This predicate defines the Biolink relationship between the subject and object nodes of a biolink:Association defining a knowledge graph edge.","example":"biolink:interacts_with","externalDocs":{"description":"Biolink model predicates","url":"https://biolink.github.io/biolink-model/docs/related_to.html"},"pattern":"^biolink:[a-z][a-z_]*$","type":"string"},"CURIE":{"description":"A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI.","externalDocs":{"url":"https://www.w3.org/TR/2010/NOTE-curie-20101216/"},"type":"string"},"Edge":{"additionalProperties":false,"description":"A specification of the semantic relationship linking two concepts that are expressed as nodes in the knowledge \"thought\" graph resulting from a query upon the underlying knowledge source.","properties":{"attributes":{"description":"A list of additional attributes for this edge","items":{"$ref":"#/components/schemas/Attribute"},"nullable":true,"type":"array"},"object":{"description":"Corresponds to the map key CURIE of the object concept node of this relationship edge.","example":"UniProtKB:P00738","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"predicate":{"description":"The type of relationship between the subject and object for the statement expressed in an Edge. These should be Biolink Model predicate terms and are NOT allowed to be of type 'abstract' or 'mixin'. Returning 'deprecated' predicate terms should also be avoided.","example":"biolink:gene_associated_with_condition","nullable":false,"oneOf":[{"$ref":"#/components/schemas/BiolinkPredicate"}]},"qualifiers":{"description":"A set of Qualifiers that act together to add nuance or detail to the statement expressed in an Edge.","items":{"$ref":"#/components/schemas/Qualifier"},"nullable":true,"type":"array"},"sources":{"description":"A list of RetrievalSource objects that provide information about how a particular Information Resource served as a source from which the knowledge expressed in an Edge, or data used to generate this knowledge, was retrieved.","items":{"$ref":"#/components/schemas/RetrievalSource"},"minItems":1,"nullable":false,"type":"array"},"subject":{"description":"Corresponds to the map key CURIE of the subject concept node of this relationship edge.","example":"MONDO:0011382","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]}},"required":["object","predicate","subject","sources"],"type":"object"},"EdgeBinding":{"additionalProperties":true,"description":"A instance of EdgeBinding is a single KnowledgeGraph Edge mapping, identified by the corresponding 'id' object key identifier of the Edge within the Knowledge Graph. Instances of EdgeBinding may include extra annotation (such annotation is not yet fully standardized). Edge bindings are captured within a specific reasoner's Analysis object because the Edges in the Knowledge Graph that get bound to the input Query Graph may differ between reasoners.","properties":{"attributes":{"description":"A list of attributes providing further information about the edge binding. This is not intended for capturing edge attributes and should only be used for properties that vary from result to result.","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"id":{"description":"The key identifier of a specific KnowledgeGraph Edge.","nullable":false,"type":"string"}},"required":["id","attributes"],"type":"object"},"KnowledgeGraph":{"additionalProperties":true,"description":"The knowledge graph associated with a set of results. The instances of Node and Edge defining this graph represent instances of biolink:NamedThing (concept nodes) and biolink:Association (relationship edges) representing (Attribute) annotated knowledge returned from the knowledge sources and inference agents wrapped by the given TRAPI implementation.","properties":{"edges":{"additionalProperties":{"$ref":"#/components/schemas/Edge"},"description":"Dictionary of Edge instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.","type":"object"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/Node"},"description":"Dictionary of Node instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.","type":"object"}},"required":["nodes","edges"],"type":"object"},"LogEntry":{"additionalProperties":true,"description":"The LogEntry object contains information useful for tracing and debugging across Translator components.  Although an individual component (for example, an ARA or KP) may have its own logging and debugging infrastructure, this internal information is not, in general, available to other components. In addition to a timestamp and logging level, LogEntry includes a string intended to be read by a human, along with one of a standardized set of codes describing the condition of the component sending the message.","properties":{"code":{"description":"One of a standardized set of short codes e.g. QueryNotTraversable, KPNotAvailable, KPResponseMalformed","nullable":true,"type":"string"},"level":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"A human-readable log message","nullable":false,"type":"string"},"timestamp":{"description":"Timestamp in ISO 8601 format, providing the LogEntry time either in univeral coordinated time (UTC) using the 'Z' tag (e.g 2020-09-03T18:13:49Z), or, if local time is provided, the timezone offset must be provided (e.g. 2020-09-03T18:13:49-04:00).","example":"2020-09-03T18:13:49+00:00","format":"date-time","nullable":false,"type":"string"}},"required":["timestamp","message"],"type":"object"},"LogLevel":{"description":"Logging level","enum":["ERROR","WARNING","INFO","DEBUG"],"type":"string"},"Message":{"additionalProperties":false,"description":"The message object holds the main content of a Query or a Response in three properties: query_graph, results, and knowledge_graph. The query_graph property contains the query configuration, the results property contains any answers that are returned by the service, and knowledge_graph property contains lists of edges and nodes in the thought graph corresponding to this message. The content of these properties is context-dependent to the encompassing object and the TRAPI operation requested.","properties":{"auxiliary_graphs":{"additionalProperties":{"$ref":"#/components/schemas/AuxiliaryGraph"},"description":"Dictionary of AuxiliaryGraph instances that are used by Knowledge Graph Edges and Result Analyses. These are referenced elsewhere by the dictionary key.","nullable":true,"type":"object"},"knowledge_graph":{"description":"KnowledgeGraph object that contains lists of nodes and edges in the thought graph corresponding to the message","nullable":true,"oneOf":[{"$ref":"#/components/schemas/KnowledgeGraph"}]},"query_graph":{"description":"QueryGraph object that contains a serialization of a query in the form of a graph","nullable":true,"oneOf":[{"$ref":"#/components/schemas/QueryGraph"}]},"results":{"description":"List of all returned Result objects for the query posed. The list SHOULD NOT be assumed to be ordered. The 'score' property, if present, MAY be used to infer result rankings. If Results are not expected (such as for a query Message), this property SHOULD be null or absent. If Results are expected (such as for a response Message) and no Results are available, this property SHOULD be an array with 0 Results in it.","items":{"$ref":"#/components/schemas/Result"},"minItems":0,"nullable":true,"type":"array"}},"type":"object"},"MetaAttribute":{"properties":{"attribute_source":{"description":"Source of an attribute provided by this TRAPI web service.","example":"infores:chembl","nullable":true,"type":"string"},"attribute_type_id":{"$ref":"#/components/schemas/CURIE","description":"Type of an attribute provided by this TRAPI web service (preferably the CURIE of a Biolink association slot)","example":"biolink:p_value"},"constraint_name":{"description":"Human-readable name or label for the constraint concept. Required whenever constraint_use is true.","example":"p-value","nullable":true,"type":"string"},"constraint_use":{"default":false,"description":"Indicates whether this attribute can be used as a query constraint.","type":"boolean"},"original_attribute_names":{"description":"Names of an the attribute as provided by the source.","items":{"type":"string"},"minItems":1,"nullable":true,"type":"array"}},"required":["attribute_type_id"],"type":"object"},"MetaEdge":{"additionalProperties":false,"description":"Edge in a meta knowledge map describing relationship between a subject Biolink class and an object Biolink class.","properties":{"association":{"$ref":"#/components/schemas/BiolinkEntity","description":"The Biolink association type (entity) that this edge represents. Associations are classes in Biolink that represent a relationship between two entities. For example, the association 'gene interacts with gene' is represented by the Biolink class, 'biolink:GeneToGeneAssociation'.  If association is filled out, then the testing harness can help validate that the qualifiers are being used correctly.","example":"biolink:ChemicalToGeneAssociation"},"attributes":{"description":"Edge attributes provided by this TRAPI web service.","items":{"$ref":"#/components/schemas/MetaAttribute"},"nullable":true,"type":"array"},"knowledge_types":{"description":"A list of knowledge_types that are supported by the service. If the knowledge_types is null, this means that only 'lookup' is supported. Currently allowed values are 'lookup' or 'inferred'.","items":{"type":"string"},"minItems":1,"nullable":true,"type":"array"},"object":{"$ref":"#/components/schemas/BiolinkEntity","description":"Object node category of this relationship edge.","example":"biolink:Protein"},"predicate":{"$ref":"#/components/schemas/BiolinkPredicate","description":"Biolink relationship between the subject and object categories.","example":"biolink:affects"},"qualifiers":{"description":"Qualifiers that are possible to be found on this edge type.","items":{"$ref":"#/components/schemas/MetaQualifier"},"nullable":true,"type":"array"},"subject":{"$ref":"#/components/schemas/BiolinkEntity","description":"Subject node category of this relationship edge.","example":"biolink:ChemicalEntity"}},"required":["subject","predicate","object"],"type":"object"},"MetaKnowledgeGraph":{"description":"Knowledge-map representation of this TRAPI web service. The meta knowledge graph is composed of the union of most specific categories and predicates for each node and edge.","properties":{"edges":{"description":"List of the most specific edges/predicates provided by this TRAPI web service. A predicate is only exposed here if there is an edge for which the predicate is the most specific available.","items":{"$ref":"#/components/schemas/MetaEdge"},"type":"array"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/MetaNode"},"description":"Collection of the most specific node categories provided by this TRAPI web service, indexed by Biolink class CURIEs. A node category is only exposed here if there is node for which that is the most specific category available.","type":"object"}},"required":["nodes","edges"],"type":"object"},"MetaNode":{"additionalProperties":false,"description":"Description of a node category provided by this TRAPI web service.","properties":{"attributes":{"description":"Node attributes provided by this TRAPI web service.","items":{"$ref":"#/components/schemas/MetaAttribute"},"nullable":true,"type":"array"},"id_prefixes":{"description":"List of CURIE prefixes for the node category that this TRAPI web service understands and accepts on the input.","example":["CHEMBL.COMPOUND","INCHIKEY"],"items":{"type":"string"},"minItems":1,"type":"array"}},"required":["id_prefixes"],"type":"object"},"MetaQualifier":{"properties":{"applicable_values":{"description":"The list of values that are possible for this qualifier.","items":{"example":["expression","activity","abundance","degradation"],"type":"string"},"type":"array"},"qualifier_type_id":{"$ref":"#/components/schemas/CURIE","description":"The CURIE of the qualifier type.","example":"biolink:subject_aspect_qualifier","nullable":false}},"required":["qualifier_type_id"],"type":"object"},"Node":{"additionalProperties":false,"description":"A node in the KnowledgeGraph which represents some biomedical concept. Nodes are identified by the keys in the KnowledgeGraph Node mapping.","properties":{"attributes":{"description":"A list of attributes describing the node","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"categories":{"description":"These should be Biolink Model categories and are NOT allowed to be of type 'abstract' or 'mixin'. Returning 'deprecated' categories should also be avoided.","items":{"$ref":"#/components/schemas/BiolinkEntity"},"minItems":1,"nullable":false,"type":"array"},"is_set":{"description":"Indicates that the node represents a set of entities. If this property is missing or null, it is assumed to be false.","nullable":true,"type":"boolean"},"name":{"description":"Formal name of the entity","example":"Haptoglobin","nullable":true,"type":"string"}},"required":["categories","attributes"],"type":"object"},"NodeBinding":{"additionalProperties":true,"description":"An instance of NodeBinding is a single KnowledgeGraph Node mapping, identified by the corresponding 'id' object key identifier of the Node within the Knowledge Graph. Instances of NodeBinding may include extra annotation in the form of additional properties. (such annotation is not yet fully standardized). Each Node Binding must bind directly to node in the original Query Graph.","properties":{"attributes":{"description":"A list of attributes providing further information about the node binding. This is not intended for capturing node attributes and should only be used for properties that vary from result to result.","items":{"$ref":"#/components/schemas/Attribute"},"minItems":0,"nullable":false,"type":"array"},"id":{"description":"The CURIE of a Node within the Knowledge Graph.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]},"query_id":{"description":"An optional property to provide the CURIE in the QueryGraph to which this binding applies. If the bound QNode does not have an an 'id' property or if it is empty, then this query_id MUST be null or absent. If the bound QNode has one or more CURIEs as an 'id' and this NodeBinding's 'id' refers to a QNode 'id' in a manner where the CURIEs are different (typically due to the NodeBinding.id being a descendant of a QNode.id), then this query_id MUST be provided. In other cases, there is no ambiguity, and this query_id SHOULD NOT be provided.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/CURIE"}]}},"required":["id","attributes"],"type":"object"},"QEdge":{"additionalProperties":true,"description":"An edge in the QueryGraph used as a filter pattern specification in a query. If the optional predicate property is not specified, it is assumed to be a wildcard match to the target knowledge space. If specified, the ontological inheritance hierarchy associated with the term provided is assumed, such that edge bindings returned may be an exact match to the given QEdge predicate term, or to a term that is a descendant of the QEdge predicate term.","properties":{"attribute_constraints":{"default":[],"description":"A list of attribute constraints applied to a query edge. If there are multiple items, they must all be true (equivalent to AND)","items":{"$ref":"#/components/schemas/AttributeConstraint"},"type":"array"},"knowledge_type":{"description":"Indicates the type of knowledge that the client wants from the server between the subject and object. If the value is 'lookup', then the client wants direct lookup information from knowledge sources. If the value is 'inferred', then the client wants the server to get creative and connect the subject and object in more speculative and non-direct-lookup ways. If this property is absent or null, it MUST be assumed to mean 'lookup'. This feature is currently experimental and may be further extended in the future.","example":"lookup","nullable":true,"type":"string"},"object":{"description":"Corresponds to the map key identifier of the object concept node anchoring the query filter pattern for the query relationship edge.","example":"https://www.uniprot.org/uniprot/P00738","type":"string"},"predicates":{"description":"These should be Biolink Model predicates and are allowed to be of type 'abstract' or 'mixin' (only in QGraphs!). Use of 'deprecated' predicates should be avoided.","items":{"$ref":"#/components/schemas/BiolinkPredicate"},"minItems":1,"nullable":true,"type":"array"},"qualifier_constraints":{"default":[],"description":"A list of QualifierConstraints that provide nuance to the QEdge. If multiple QualifierConstraints are provided, there is an OR relationship between them. If the QEdge has multiple predicates or if the QNodes that correspond to the subject or object of this QEdge have multiple categories or multiple curies, then qualifier_constraints MUST NOT be specified because these complex use cases are not supported at this time.","items":{"$ref":"#/components/schemas/QualifierConstraint"},"type":"array"},"subject":{"description":"Corresponds to the map key identifier of the subject concept node anchoring the query filter pattern for the query relationship edge.","example":"https://omim.org/entry/603903","type":"string"}},"required":["subject","object"],"type":"object"},"QNode":{"additionalProperties":true,"description":"A node in the QueryGraph used to represent an entity in a query. If a CURIE is not specified, any nodes matching the category of the QNode will be returned in the Results.","properties":{"categories":{"description":"These should be Biolink Model categories and are allowed to be of type 'abstract' or 'mixin' (only in QGraphs!). Use of 'deprecated' categories should be avoided.","items":{"$ref":"#/components/schemas/BiolinkEntity"},"minItems":1,"nullable":true,"type":"array"},"constraints":{"default":[],"description":"A list of constraints applied to a query node. If there are multiple items, they must all be true (equivalent to AND)","items":{"$ref":"#/components/schemas/AttributeConstraint"},"type":"array"},"ids":{"description":"A CURIE identifier (or list of identifiers) for this node. The 'ids' field will hold a list of CURIEs only in the case of a BATCH set_interpretation, where each CURIE is queried separately. If a list of queried CURIEs is to be considered as a set (as under a MANY or ALL set_interpretation), the 'ids' field will hold a single id representing this set, and the individual members of this set will be captured in a separate 'member_ids' field. Note that the set id MUST be created as a UUID by the system that defines the queried set, using a centralized nodenorm service. Note also that downstream systems MUST re-use the original set UUID in the messages they create/send, which will facilitate merging or caching operations.","example":["OMIM:603903"],"items":{"$ref":"#/components/schemas/CURIE"},"minItems":1,"nullable":true,"type":"array"},"member_ids":{"description":"A list of CURIE identifiers for members of a queried set. This field MUST be populated under a set_interpretation of MANY or ALL, when the 'ids' field holds a UUID representing the set itself. This field MUST NOT be used under a set_interpretation of BATCH.","items":{"$ref":"#/components/schemas/CURIE"},"nullable":true,"type":"array"},"set_interpretation":{"description":"Indicates how multiple CURIEs in the ids property MUST be interpreted. BATCH indicates that the query is intended to be a batch query and each CURIE is treated independently. ALL means that all specified CURIES MUST appear in each Result. MANY means that member CURIEs MUST form one or more sets in the Results, and sets with more members are generally considered more desirable that sets with fewer members. If this property is missing or null, the default is BATCH.","enum":["BATCH","ALL","MANY"],"nullable":true,"type":"string"}},"type":"object"},"Qualifier":{"additionalProperties":false,"description":"An additional nuance attached to an assertion","properties":{"qualifier_type_id":{"$ref":"#/components/schemas/CURIE","description":"CURIE for a Biolink 'qualifier' association slot, generally taken from Biolink association slots designated for this purpose (that is, association slots with names ending in 'qualifier') e.g. biolink:subject_aspect_qualifier, biolink:subject_direction_qualifier, biolink:object_aspect_qualifier, etc. Such qualifiers are used to elaborate a second layer of meaning of a knowledge graph edge. Available qualifiers are edge properties in the Biolink Model (see https://biolink.github.io/biolink-model/docs/edge_properties.html) which have slot names with the suffix string 'qualifier'.","example":"biolink:subject_aspect_qualifier","nullable":false,"pattern":"^biolink:[a-z][a-z_]*$"},"qualifier_value":{"description":"The value associated with the type of the qualifier, drawn from a set of controlled values by the type as specified in the Biolink model (e.g. 'expression' or 'abundance' for the qualifier type 'biolink:subject_aspect_qualifier', etc). The enumeration of qualifier values for a given qualifier type is generally going to be constrained by the category of edge (i.e. biolink:Association subtype) of the (Q)Edge.","example":"expression","nullable":false,"type":"string"}},"required":["qualifier_type_id","qualifier_value"],"type":"object"},"QualifierConstraint":{"additionalProperties":false,"description":"Defines a query constraint based on the qualifier_types and qualifier_values of a set of Qualifiers attached to an edge. For example, it can constrain a \"ChemicalX - affects - ?Gene\" query to return only edges where ChemicalX specifically affects the 'expression' of the Gene, by constraining on the qualifier_type \"biolink:object_aspect_qualifier\" with a qualifier_value of \"expression\".","properties":{"qualifier_set":{"description":"A set of Qualifiers that serves to add nuance to a query, by constraining allowed values held by Qualifiers on queried Edges.","items":{"$ref":"#/components/schemas/Qualifier"},"nullable":false,"type":"array"}},"required":["qualifier_set"],"type":"object"},"Query":{"additionalProperties":true,"description":"The Query class is used to package a user request for information. A Query object consists of a required Message object with optional additional properties. Additional properties are intended to convey implementation-specific or query-independent parameters. For example, an additional property specifying a log level could allow a user to override the default log level in order to receive more fine-grained log information when debugging an issue.","properties":{"bypass_cache":{"default":false,"description":"Set to true in order to request that the agent obtain fresh information from its sources in all cases where it has a viable choice between requesting fresh information in real time and using cached information. The agent receiving this flag MUST also include it in TRAPI sent to downstream sources (e.g., ARS -> ARAs -> KPs).","type":"boolean"},"log_level":{"description":"The least critical level of logs to return","nullable":true,"oneOf":[{"$ref":"#/components/schemas/LogLevel"}]},"message":{"description":"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"submitter":{"description":"Any string for self-identifying the submitter of a query. The purpose of this optional field is to aid in the tracking of the source of queries for development and issue resolution.","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps to be executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["message"],"type":"object","x-body-name":"request_body"},"QueryGraph":{"additionalProperties":true,"description":"A graph representing a biomedical question. It serves as a template for each result (answer), where each bound knowledge graph node/edge is expected to obey the constraints of the associated query graph element.","properties":{"edges":{"additionalProperties":{"$ref":"#/components/schemas/QEdge"},"description":"The edge specifications. The keys of this map are unique edge identifiers and the corresponding values include the constraints on bound edges, in addition to specifying the subject and object QNodes.","type":"object"},"nodes":{"additionalProperties":{"$ref":"#/components/schemas/QNode"},"description":"The node specifications. The keys of this map are unique node identifiers and the corresponding values include the constraints on bound nodes.","type":"object"}},"required":["nodes","edges"],"type":"object"},"ResourceRoleEnum":{"description":"The role played by the InformationResource in serving as a source for an Edge. Note that a given Edge should have one and only one 'primary' source, and may have any number of 'aggregator' or 'supporting data' sources.  This enumeration is found in Biolink Model, but is repeated here for convenience.","enum":["primary_knowledge_source","aggregator_knowledge_source","supporting_data_source"],"type":"string"},"Response":{"additionalProperties":true,"description":"The Response object contains the main payload when a TRAPI query endpoint interprets and responds to the submitted query successfully (i.e., HTTP Status Code 200). The message property contains the knowledge of the response (query graph, knowledge graph, and results). The status, description, and logs properties provide additional details about the response.","properties":{"biolink_version":{"description":"Version label of the Biolink model used in this document","example":"3.1.2","nullable":true,"type":"string"},"description":{"description":"A brief human-readable description of the outcome","example":"Success. 42 results found.","nullable":true,"type":"string"},"logs":{"description":"A list of LogEntry items, containing errors, warnings, debugging information, etc. List items MUST be in chronological order with earliest first.","items":{"$ref":"#/components/schemas/LogEntry"},"minItems":0,"nullable":false,"type":"array"},"message":{"description":"Contains the knowledge of the response (query graph, knowledge graph, and results).","nullable":false,"oneOf":[{"$ref":"#/components/schemas/Message"}]},"schema_version":{"description":"Version label of the TRAPI schema used in this document","example":"1.4.0","nullable":true,"type":"string"},"status":{"description":"One of a standardized set of short codes, e.g. Success, QueryNotTraversable, KPsNotAvailable","example":"Success","nullable":true,"type":"string"},"workflow":{"description":"List of workflow steps that were executed.","nullable":true,"oneOf":[{"$ref":"https://standards.ncats.io/workflow/1.3.5/schema"}]}},"required":["message"],"type":"object"},"Result":{"additionalProperties":true,"description":"A Result object specifies the nodes and edges in the knowledge graph that satisfy the structure or conditions of a user-submitted query graph. It must contain a NodeBindings object (list of query graph node to knowledge graph node mappings) and a list of Analysis objects.","properties":{"analyses":{"description":"The list of all Analysis components that contribute to the result. See below for Analysis components.","items":{"$ref":"#/components/schemas/Analysis"},"minItems":0,"nullable":false,"type":"array"},"node_bindings":{"additionalProperties":{"items":{"$ref":"#/components/schemas/NodeBinding"},"minItems":1,"type":"array"},"description":"The dictionary of Input Query Graph to Result Knowledge Graph node bindings where the dictionary keys are the key identifiers of the Query Graph nodes and the associated values of those keys are instances of NodeBinding schema type (see below). This value is an array of NodeBindings since a given query node may have multiple knowledge graph Node bindings in the result.","nullable":false,"type":"object"}},"required":["node_bindings","analyses"],"type":"object"},"RetrievalSource":{"additionalProperties":true,"description":"Provides information about how a particular InformationResource served as a source from which knowledge expressed in an Edge, or data used to generate this knowledge, was retrieved.","properties":{"resource_id":{"$ref":"#/components/schemas/CURIE","description":"The CURIE for an Information Resource that served as a source of knowledge expressed in an Edge, or a source of data used to generate this knowledge.","example":"infores:drugbank","nullable":false},"resource_role":{"$ref":"#/components/schemas/ResourceRoleEnum","description":"The role played by the InformationResource in serving as a source for an Edge. Note that a given Edge should have one and only one 'primary' source, and may have any number of 'aggregator' or 'supporting data' sources."},"source_record_urls":{"description":"A URL linking to a specific web page or document provided by the source, that contains a record of the knowledge expressed in the Edge. If the knowledge is contained in more than one web page on an Information Resource's site, urls MAY be provided for each. For example, Therapeutic Targets Database (TTD) has separate web pages for 'Imatinib' and its protein target KIT, both of which hold the claim that 'the KIT protein is a therapeutic target for Imatinib'.","example":"[https://db.idrblab.net/ttd/data/drug/details/d0az3c, https://db.idrblab.net/ttd/data/target/details/t57700]","items":{"type":"string"},"nullable":true,"type":"array"},"upstream_resource_ids":{"description":"An upstream InformationResource from which the resource being described directly retrieved a record of the knowledge expressed in the Edge, or data used to generate this knowledge. This is an array because there are cases where a merged Edge holds knowledge that was retrieved from multiple sources. e.g. an Edge provided by the ARAGORN ARA can expressing knowledge it retrieved from both the automat-mychem-info and molepro KPs, which both provided it with records of this single fact.","example":["infores:automat-mychem-info","infores:molepro"],"items":{"$ref":"#/components/schemas/CURIE"},"nullable":true,"type":"array"}},"required":["resource_id","resource_role"],"type":"object"}}},"externalDocs":{"description":"Documentation for the NCATS Biomedical Translator Reasoners web services","url":"https://github.com/NCATSTranslator/ReasonerAPI"},"info":{"contact":{"email":"qi.wei@isbscience.org","name":"Qi Wei"},"description":"TRAPI 1.5 endpoint for the CATRAX BigGIM DrugResponse Performance Phase KP, an NCATS Biomedical Translator Knowledge Provider","license":{"name":"Apache 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.html"},"termsOfService":"https://github.com/RTXteam/PloverDB/blob/main/LICENSE","title":"CATRAX BigGIM DrugResponse Performance Phase KP - TRAPI 1.5.0","version":"2.7.8","x-translator":{"biolink-version":"4.2.1","component":"KP","externalDocs":{"description":"The values for component and team are restricted according to this external JSON schema. See schema and examples at url","url":"https://github.com/NCATSTranslator/translator_extensions/blob/\\ production/x-translator/"},"infores":"infores:biothings-multiomics-biggim-drugresponse","team":["Multiomics Provider"]},"x-trapi":{"asyncquery":false,"externalDocs":{"description":"The values for version are restricted according to the regex in this external JSON schema. See schema and examples at url","url":"https://github.com/NCATSTranslator/translator_extensions/blob/\\ production/x-trapi/"},"multicuriequery":false,"operations":["lookup"],"pathfinderquery":false,"test_data_location":{"default":{"url":"https://multiomics.rtx.ai:9990/BigGIM_DrugResponse_PerformancePhase/sri_test_triples"}},"version":"1.5.0"}},"openapi":"3.0.1","paths":{"/meta_knowledge_graph":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaKnowledgeGraph"}}},"description":"Returns meta knowledge graph representation of this TRAPI web service."}},"summary":"Meta knowledge graph representation of this TRAPI web service.","tags":["meta_knowledge_graph"]}},"/query":{"post":{"description":"","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Query"}}},"description":"Query information to be submitted","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK. There may or may not be results. Note that some of the provided identifiers may not have been recognized."},"400":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Bad request. The request is invalid according to this OpenAPI schema OR a specific identifier is believed to be invalid somehow (not just unrecognized)."},"413":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Payload too large. Indicates that batch size was over the limit specified in x-trapi."},"429":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Too many requests. Indicates that the client issued requests that exceed the rate limit specified in x-trapi."},"500":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Internal server error."},"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Not implemented."}},"summary":"Initiate a query and wait to receive a Response","tags":["query"]}},"/asyncquery":{"post":{"description":"","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncQuery"}}},"description":"Query information to be submitted","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncQueryResponse"}}},"description":"The query is accepted for processing and the Response will be sent to the callback url when complete."},"400":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Bad request. The request is invalid according to this OpenAPI schema OR a specific identifier is believed to be invalid somehow (not just unrecognized)."},"413":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Payload too large. Indicates that batch size was over the limit specified in x-trapi."},"429":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Too many requests. Indicates that the client issued requests that exceed the rate limit specified in x-trapi."},"500":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Internal server error."},"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Not implemented."}},"summary":"Initiate a query with a callback to receive the response","tags":["asyncquery"]}},"/asyncquery_status/{job_id}":{"get":{"operationId":"asyncquery_status","parameters":[{"description":"Identifier of the job for status request","in":"path","name":"job_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncQueryStatusResponse"}}},"description":"Returns the status and current logs of a previously submitted asyncquery."},"404":{"description":"job_id not found"},"501":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Return code 501 indicates that this endpoint has not been implemented at this site. Sites that implement /asyncquery MUST implement /asyncquery_status/{job_id}, but those that do not implement /asyncquery SHOULD NOT implement /asyncquery_status."}},"summary":"Retrieve the current status of a previously submitted asyncquery given its job_id","tags":["asyncquery_status"]}}},"servers":[{"description":"CTKP TRAPI 1.5 endpoint - development","url":"https://multiomics.rtx.ai:9990/BigGIM_DrugResponse_PerformancePhase","x-maturity":"development"},{"description":"CTKP TRAPI 1.5 endpoint - staging","url":"https://multiomics.ci.transltr.io/BigGIM_DrugResponse_PerformancePhase","x-maturity":"staging"},{"description":"CTKP TRAPI 1.5 endpoint - testing","url":"https://multiomics.test.transltr.io/BigGIM_DrugResponse_PerformancePhase","x-maturity":"testing"},{"description":"CTKP TRAPI 1.5 endpoint - production","url":"https://multiomics.transltr.io/BigGIM_DrugResponse_PerformancePhase","x-maturity":"production"}],"tags":[{"description":"Retrieve the meta knowledge graph representation of this TRAPI web service. KPs MUST provide all subject category - predicate - object category triplets that are supported by the service, NOT including all implied ancestor relationships. ARAs SHOULD provide the union of all meta knowledge graphs of all the KPs that they can consult.","name":"meta_knowledge_graph"},{"description":"Initiate a query and wait to receive the response","name":"query"},{"description":"Initiate a query with a callback to receive the response","name":"asyncquery"},{"description":"Retrieve the current status of a previously submitted asyncquery given its job_id","name":"asyncquery_status"},{"description":"Required for SmartAPI validation of x-translator","name":"translator"},{"description":"Required for SmartAPI validation of x-trapi","name":"trapi"}]}]}