ExposuresProvider / icees-api

MIT License
2 stars 8 forks source link

Graph Query Attribute Error #88

Open karafecho opened 3 years ago

karafecho commented 3 years ago

curl -X POST "https://icees.renci.org:16340/query?reasoner=false" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"message\":{\"query_graph\":{\"edges\":{\"e00\":{\"subject\":\"n00\",\"object\":\"n01\",\"predicate\":\"biolink:correlated_with\"}},\"nodes\":{\"n00\":{\"id\":\"SCTID:103324002\",\"category\":\"biolink:ActivityAndBehavior\"},\"n01\":{\"category\":\"biolink:ChemicalSubstance\"}}},\"knowledge_graph\":{\"nodes\":{},\"edges\":{}},\"results\":[]}}"

{ "terms and conditions": "The Translator Integrated Clinical and Environmental Exposures Service (ICEES) is providing you with Data that have been de-identified in accordance with 45 C.F.R. §§ 164.514(a) and (b) and that UNC Health Care System (UNCHCS) is permitted to provide under 45 C.F.R. § 164.502(d)(2). Recipient agrees to notify UNCHCS via NC TraCS in the event that Recipient receives any identifiable data in error and to take such measures to return the identifiable data and/or destroy it at the direction of UNCHCS.\n\nRestrictions on Recipient’s Use of Data. Recipient further agrees to use the data exclusively for the purposes and functionalities provided by the ICEES: cohort discovery; feature-rich cohort discovery; hypothesis-driven queries; and exploratory queries. Recipient agrees to use appropriate safeguards to protect the Data from misuse and unauthorized access or disclosure. Recipient will report to UNCHCS any unauthorized access, use, or disclosure of the Data not provided for by the Service of which Recipient becomes aware. Recipient will not attempt to identify the individuals whose information is contained in any Data transferred pursuant to this Service Agreement or attempt to contact those individuals. Recipient agrees not to sell the Data to any third party for any purpose. Recipient agrees not to disclose or publish the Data in any manner that would identify the Data as originating from UNCHCS. Finally, Recipient agrees to reasonably limit the number of queries to the Service per IP address within a given time interval, in order to prevent rapid ‘attacks’ on the Service.\n\nWe kindly request that users of this service provide proper attribution for any products (e.g., manuscripts, podium presentations, software) derived from the use of ICEES. Attribution should include acknowledgement of the funder, the National Center for Advancing Translational Sciences, Biomedical Data Translator Program (awards OT3TR002020 and OT2TR002514) and Center for Translational Science Award Program (UL1TR002489). Please also acknowledge the Renaissance Computing Institute, UNC Health Care System, UNC Hospitals, and any affiliated team members who contributed to the work.\n", "return value": { "message": {}, "reasoner_id": "ICEES", "tool_version": "4.0.0", "datetime": "2021-03-03/06/21 22:02:31", "message_code": "Error", "code_description": "Traceback (most recent call last):\n File \"./features/knowledgegraph.py\", line 483, in one_hop\n ataf = select_associations_to_all_features(conn, table, year, cohort_id, feature, maximum_p_value, feature_set=lambda x : inflection.underscore(x.biolink_class) in supported_types)\n File \"./features/model.py\", line 603, in select_associations_to_all_features\n return select_feature_association(conn, table, year, cohort_features, cohort_year, feature, maximum_p_value, feature_set, correction)\n File \"./features/model.py\", line 582, in select_feature_association\n ret = select_feature_matrix(conn, table_name, year, cohort_features, cohort_year, feature, {\"feature_name\": k, \"feature_qualifiers\": list(map(lambda level: {\"operator\": \"=\", \"value\": level}, levels))})\n File \"./features/model.py\", line 415, in select_feature_matrix\n feature_a_norm = normalize_feature(year, feature_a)\n File \"./features/model.py\", line 407, in normalize_feature\n feature = {**feature, \"year\": feature.get(\"year\", year)}\nAttributeError: 'str' object has no attribute 'get'\n" } }

karafecho commented 3 years ago

This was a one-hop Reasoner query. Replacing the input ID with synonymous ones resulted in the same error.

karafecho commented 3 years ago

@patrickkwang : Can you take a look at this issue and see what the problem is? As I mentioned in Slack, I'm trying to pull together a preso due March 17. Thanks!