frostyfan109 / tranql

A Translator Query Language
https://researchsoftwareinstitute.github.io/data-translator/apps/tranql
MIT License
0 stars 1 forks source link

Fix array bindings in knowledge_map and answer viewer? #115

Closed frostyfan109 closed 5 years ago

frostyfan109 commented 5 years ago

RTX returns list bindings in knowledge map objects like:

{
    "node_bindings" : {
        "disease": [
            "foo"
        ]
    },
    "edge_bindings": ...
}

It messes up TranQL for some reason.

The answer viewer doesn't work yet again because of this.

frostyfan109 commented 5 years ago

Doesn't work on Workflow 5. Robokop error:

TypeError: Cannot read property '0' of undefined
    at n.accessor (MessageAnswersetTable.jsx:117)
    at rtColumnWidth.js:18
    at Array.map (<anonymous>)
    at t.default (rtColumnWidth.js:18)
    at MessageAnswersetTable.jsx:118
    at Array.map (<anonymous>)
    at t.value (MessageAnswersetTable.jsx:80)
    at t.value (MessageAnswersetTable.jsx:72)
    at t.value (MessageAnswersetTable.jsx:44)
    at l.performInitialMount (ReactCompositeComponent.js:348)
frostyfan109 commented 5 years ago

links that aren't in knowledge_graph: b2daddd9a793e4edf6b71a99653bffcc VM5787:6 6539f843-9e9f-4a1d-beef-b7af57cc6618 VM5787:6 8d831aa92acf93250b656bec69394233 VM5787:6 67cb45ce0c224efdf84d59514da3665f VM5787:6 67f294d3b850e9f300d56d27c72b8a0c VM5787:6 b3c14e06c6cff74e073a23f65cfe2e14 VM5787:6 c1d966e529ac00180fb10b60d693eeb7 VM5787:6 d1c145dfc10898fcf186a3be0e734176 VM5787:6 3a32e403f71ba08d0f7ec5fd9e5ccb93 VM5787:6 902f9e3dc3edc75acf98c7f36061f40f VM5787:6 57a776fbd2b1f041b43cea45144f2e63 VM5787:6 1c2bd179-658d-4aa3-8d67-ce0f0faf78cd VM5787:6 4a368a641ba993a261132aefc2dae798 VM5787:6 90554cefb511f5c6061a23d6c1b8ac61 VM5787:6 6326f136190faa91ca384182778c0f8b

frostyfan109 commented 5 years ago

query:

set chemical = "CHEMBL:CHEMBL1261" -- Citric acid
SELECT chemical_substance->disease->gene
    FROM "/schema"
 WHERE chemical_substance=$chemical
frostyfan109 commented 5 years ago

edges not in the knowledge_map: 22d2382a10137ee111c0998c960135dc VM6324:2 43afc98202161f1edce211bfd65fac90 VM6324:2 f7620b0c201e636288473672b5199805 VM6324:2 a1301ff3-7de2-4397-9e32-ce3302efcee4 VM6324:2 96db1847-962f-42d0-8a4d-d9f88943e0f3 VM6324:2 af48c94c60761ff5f4f4c41b425168b3 VM6324:2 e7dd939f07f190ae87ea086b5fa293b3 VM6324:2 949e49e7f817e2f881f72c43137df0b2 VM6324:2 dd008f6b9f3d4b1e47df66f5b009b5d8 VM6324:2 cea68525a4a0a187896d283f934f75bf VM6324:2 a2d258aa7e33bd0598133dde4786360e VM6324:2 e3ca36ff-06d1-40b4-a453-97d72caebee5 VM6324:2 f7b5e814d5e113e7e5ee12b63ceaeef8 VM6324:2 7db15e5ec032e5528f215ee29755b04f VM6324:2 d12a16e4ae641e1e16bb6f5e25d3685d VM6324:2 0b6a64cfc9112f6b0d38fd7316282a2e VM6324:2 8c514b67977f53ae233a092aa495f55a VM6324:2 6cff47549356876bd056482289609e3f VM6324:2 7d6f94fdbbd00741a186491c66b813ba VM6324:2 8f1df3146efadd9ef837615210c83b7e VM6324:2 c8f6538db76a9f408dd54b81e4b99b0d VM6324:2 c20aa2d7f679287c934f6165e8128b5a VM6324:2 8a1bdd9b6bb5b5eba0883a84c1887e6b VM6324:2 e319a1c1904087edf7fe6718489fd4a8 VM6324:2 3e60d1e9e5d6248abed893219de866f3 VM6324:2 d738f379db9b94ba5cd9c4ac7b77a08e VM6324:2 2d7531ac49b8daf193e018a28b593206 VM6324:2 5b9cbe551e1e44d2144e81f45393ef3a VM6324:2 b414e821e7167db5fa38e782dd04a86f VM6324:2 7ae0e9266cf1fb28e8ae5d17d3978ba1 VM6324:2 23813f2e4da159e59450d5891b50df4b VM6324:2 a5e3ed47e98e8fa844ed527f82f31a84 VM6324:2 cdaa5fcf1942038172d5dfe797c6e080 VM6324:2 c61f864ff55564f8c142f4a185dac16c VM6324:2 5d8a4bd448935b410edd70d53dddaf66 VM6324:2 c2ab77013248f6a95fb0ccaff0ce2732 VM6324:2 2b51e9766c857fac9424d00cd7ad0107 VM6324:2 348a22c90b3155050a3cc8a80a765428 VM6324:2 8d62d16af5ad2608313f719e1a991424 VM6324:2 bcc265c479f602ee7797dc7d095a8e4c VM6324:2 a0ef747b3e60f56c909669a619244fe5 VM6324:2 a1eb4af922e5eb3bd11b112755646540 VM6324:2 e63ebe453bdc02502319f863c7fd7da7 VM6324:2 fc9ff81ebc4ffcd5c1a9c6169363f06c VM6324:2 6f2fa7a08d54890a5491358b78046f13 VM6324:2 ee48a7965bf3e6353fc11a12dee2ff87 VM6324:2 481c2d1aea06c6481fc30fda6488ee23 VM6324:2 7771de9b20af3fbaafaf82bed5db474d VM6324:2 a29e1c9fee6d8def57afd262be701f6f VM6324:2 b7f21aba4f76ac966c030c83dea8e7ba VM6324:2 d78598dae424beb60d3ba7bd07d58697 VM6324:2 4f96e44c2e35cd840fbffaa596dd82be VM6324:2 e2b3aacd4a47d9f37cf61ec6b6fe23b9 VM6324:2 7d45e8dde5a7c27dcfd1788de31deff5 VM6324:2 6f4fbc050c645fe89cacf01df3ccfd2f VM6324:2 8eab4834b2854c3df973174b3e6100ce VM6324:2 9a54a19cc07bb2efa05893070042c77a VM6324:2 1aacdb51a1422da8496e22e3bd53b66f VM6324:2 e1fa925339e40ff9f7bca255cc85dc89 VM6324:2 8d277189cb47dbf06ed67e544ff8e222 VM6324:2 917919267d9df5c03f1615f01a395084 VM6324:2 bdf77f92dd5795837bdc317bd274ee39 VM6324:2 1b9e6d90b8712db3dff2fa57143e1f60 VM6324:2 8cfcfe67262aa82bde2ecf32d2e6b3c0 VM6324:2 d8d540a4c9ca2345b0a50c4c6108c999 VM6324:2 cdf7c055fea5a63dad935d549b2bd6d4 VM6324:2 566da96b39d67719a35094469e4c614f VM6324:2 3d9f351c9a467b0a6eb196464b0029df VM6324:2 c9fa3ad7a0a9d08b34bd01dbbfe4d7fc VM6324:2 f5d311032f936ba73544cdc51207989c VM6324:2 a6d9b646c5cad061c10063114a6d87c6 VM6324:2 b6ae22eaf1055a7fc810141720cd735e VM6324:2 e3ddfb652159ec0f1fff86c62e0a2bde VM6324:2 497d5cfc53b3ccf25952fc7ca6ea5a95 VM6324:2 04bdc1958221fa0788559e9dbf96a122 VM6324:2 ee878852a5cbcdca673e5435c9af314a VM6324:2 ace95f905ffa3a369b52d34c4ca91fc2 VM6324:2 52ad564d3041f3f03c4d81da7d506b2a VM6324:2 a68530670b6092b26231338f1b6b793a VM6324:2 e36bb0be4fbd61b4434b0e65919bb143 VM6324:2 7f5059d1053022898e8970dc4ebdd869 VM6324:2 d2cd58bd6b4e19ca2ff579ea9e87b7c0 VM6324:2 bee43babd8dff52cf686514cb6922375 VM6324:2 2f58c2634a8313c50fd8bb0c243e007e VM6324:2 b980027d9153e18990049a148f0e7bac VM6324:2 daa1d6ebf7505584062781c4da17fda2 VM6324:2 647947a5f0a9d8e2da431277622a673a VM6324:2 45a98327772ee9e0dc61ca8f87443d01 VM6324:2 0005b163cc3f0e6a167b67f65cdee402 VM6324:2 0657134ef116e31491690d3b2d5908f2 VM6324:2 76cdd8d886ea195b9099b45172ac64c1 VM6324:2 0ed483d1a7827a6c28b7f60acbcba47c VM6324:2 351c7b312f55334d2158c5e9f90e4a40 VM6324:2 162967a5ff083a36e1e4bf3b7960256e VM6324:2 4a5124a474fb879a015cc7ea5b41e3c6 VM6324:2 0227ce6921b8dfed91e77068988998bc VM6324:2 30a4b19def1278126eeb34eb7685dc66 VM6324:2 44ca0b73ddff40f4a1e08e03f0d5d21a VM6324:2 c840560d48d6bec6ea62f04ee8fdee42 VM6324:2 585b831ed1e874bb8c438b4203909650 VM6324:2 96402a9140295ff7f4137eaa010226fd VM6324:2 6ec5ec512cf65fb817f6318f80b5393e VM6324:2 9f9e8fff2feb90ddf364bbd25d598261 VM6324:2 3610e5f3ca7282ed3f08e8bd0cb4a458 VM6324:2 d33e2a758e8098f6d4d0b5ae1f27aa5a VM6324:2 6f601b2122539495a597ac0dcec0ec76 VM6324:2 5f2bf14af7588acbeb4ea1ca96a1c686 VM6324:2 17328dcb8975cf59f574747969ae9833 VM6324:2 f7fe756a4fc2e47d82ba8c2e9643673d VM6324:2 38e781cd1a182fd90431d90c27af7d68 VM6324:2 8c3627de3c72d46e923b2cf656496246 VM6324:2 9c9c3cb74d842ea94558fba6013f2f96 VM6324:2 569be33053957e81d2c3bde89f2c533f VM6324:2 5a0dc1a96b6d4b77a73cc3c9239617d4 VM6324:2 719be2c41007af2a3c16938063cf6759 VM6324:2 d0a3f270a1a45b5f10d648ac2782c2ec VM6324:2 ef0d80a8bd1402d4447c7ccc86bb62f0 VM6324:2 5a7619547e3067b98f83d2699572de8b VM6324:2 25c220319ed4f28581027aa3994462c5 VM6324:2 e6d8a318b0ea9d79309715477380956b VM6324:2 beeacf8a0df05ded1d2a979eefbbd550 VM6324:2 a19dd035449b11c2fc195eccca8293a1 VM6324:2 99e9bbdcbda183537c1b034bb35a4053 VM6324:2 0a1730d5fd5c12aa5d6d56a8c5ff0632 VM6324:2 7eea0c6ccf8823f4ed761083a66bdab7 VM6324:2 fdb20c4c43428ff9a4ada9c022275c9a VM6324:2 a5368f9d4b392bb54cf74a28c88347ad VM6324:2 e2e9f88566fb64ee1b811aedb8da9614 VM6324:2 affb5d9b97b0af9c79a247911b65fdfb VM6324:2 3568e612f96e09874f3dc4bec3acbf8a VM6324:2 70ef7e343b0a29cab245e9a6dece6bbe VM6324:2 625fdcf1aeb50d77cfd7f0cb899f1754 VM6324:2 f7db7eb522ad527c8100d708a94d320a VM6324:2 15e3894d7572326aa624de44010f0c0e VM6324:2 c747e12e433958255ca06259d102f166 VM6324:2 81c085207b384f12d21168e5eba5904b VM6324:2 9e305161b1181fb08866bd88d1ca737a VM6324:2 dbed6f71f7b5acd77fccd1b0cee6c891 VM6324:2 8638e0105f058b677c8d48933d932546 VM6324:2 d31b990d81ff911ce55e15a5def32f30 VM6324:2 258b9302006f4838a190168fd54b3926 VM6324:2 59d2aa52ddca6be28fadfc095b0c85b5 VM6324:2 cbe3e10a0700a284c9c654e2f237016f VM6324:2 f866153db7791c84eb170155863df26d VM6324:2 bce653b5af24aa3bbddeed8b106adeac VM6324:2 41bb2204545c0fa357b0eccacc483b4e VM6324:2 ed503825c15d08f86cdba7ff2c66fc81 VM6324:2 5e7668509c5178a785e5c68de8b4fffa VM6324:2 bfac293752eea751b56c265b4ded8255 VM6324:2 60369b182a40ad4aaf2b507494c50703 VM6324:2 9ed0fb2ae5dac43ee8f20723b07658ca VM6324:2 fe275c434470dd1fefd766c3e34ea6d4 VM6324:2 aa1c752140e31d4e07eeafa6f20c9145 VM6324:2 f608885978787151412319829d336c73 VM6324:2 987802a8256f69e6ad0453f045657c3f VM6324:2 a66eab794d997193edfea8fb74c9e575 VM6324:2 92b5bc15f1e25a5bde8e942fcce7e86d VM6324:2 4ae13bc2289dbff36c595a7eeaf845ff VM6324:2 bd11fa2544403f0806bed9e7851b1d45 VM6324:2 546342b35cde214f804b5094f7ee5dce VM6324:2 4ba21e8dfb7c460361640ed2f577c6a9 VM6324:2 8e97029d28fd734c695b52bbbf7c1633 VM6324:2 67ed813ca136783119fc83f2597a6425 VM6324:2 433791917519f5f79560d507b9962769 VM6324:2 4b9cd89b25c48d190d5b38defd298a3b VM6324:2 43025319e8b4cc19629896a44d43fc21 VM6324:2 b7804cd3b666d2bcc797600601b98304 VM6324:2 ef28026d4e72ef25904d9e58bb1e1623 VM6324:2 8bae855d51892595e8dd6ea1d92dc26f VM6324:2 ebdda2736b27a1d7b8dfd579dd251d5c VM6324:2 4e25355cfc88d9e4f6c318da0faed231 VM6324:2 fa67bf28836e55bcbd4641fd08eb5f23 VM6324:2 a3c80e73a5bde01786158d0695d23334 VM6324:2 e589175ac05d6dad835afa027896ede3 VM6324:2 0145bbe5c43f86c5637b5a7678711ffa VM6324:2 6a478fd7c4f4d12948b9044aaf7fd4c7 VM6324:2 c0589f79892bdd30c708d8c148d83bd8 VM6324:2 544cb867dca55b89ea04d5db72e5ad98 VM6324:2 58f21399a347fdaf2ec99aa896bdc21a VM6324:2 c1c11187e39b98b7af9747cded8134b8 VM6324:2 2b42651e105f1d8c4160fa127f7fa3d8 VM6324:2 040291b67d8177fe3cf6881625843e34 VM6324:2 aa9b3d1de106314088e59acf51116ce9 VM6324:2 57c6af9792231b6b3ea5e27989943e2b VM6324:2 bb2ac06fe05e9027b978c42aac16811c VM6324:2 fe81cfa8d7de2c2931632385b88c6923 VM6324:2 7a3faba112a33e496b3ec7565ca48e92 VM6324:2 c93fe667ca2225a3bffd10c03df1da1a VM6324:2 507745c5f6f27062bb4b6e04c6f02285 VM6324:2 a01fcadba4d8f9ec4ce4800f0005465d VM6324:2 333e1fd543b569c23d7aa3a9f2419c33 VM6324:2 b23d11bd3b014d0476148bd23fd32c6d VM6324:2 398d06a2aa0c00e8945294d407212d36 VM6324:2 8ed3189c5a1509445cabe11ac6284615 VM6324:2 ed115957d0fe2980d43dab36b3e96911 VM6324:2 06121a1eefc878cd2311fb39375ee042 VM6324:2 41d52ea6638f101f1e94e5274328ac67 VM6324:2 bfc148c78cd84c1f42a83343cd90ad6f VM6324:2 2dff881b-c25c-4881-9fb8-79d75339c5fe VM6324:2 30ee3679-36e6-4c6c-9313-eda891cc9006 VM6324:2 fde7a882-5bdb-43ea-9736-4e9b12c9dd67 VM6324:2 83c2bf53-8b10-4ef3-9747-d89b2b0b4e5b VM6324:2 4da92ef4-2ed7-4137-ad1a-50484c7865fa VM6324:2 1f3fdc25-c6b6-43f7-bf08-9ef7ca4b82b8 VM6324:2 7fc557b1-68ad-40b2-b8ca-2990f080bbaf VM6324:2 111361f8-e3be-4d0f-9381-99d0c517e80f VM6324:2 86f81c4a-7234-4e63-a202-fd64e9bf87b1 VM6324:2 51f70718-6546-46bc-babb-eff058b1425e VM6324:2 e90df5b7-b218-4f03-b253-f0d6465d3d60 VM6324:2 a3b03f8f-9416-4e29-8b5f-6f4f4cbd0b60 VM6324:2 6dba2f40-9a0b-4109-95f0-781bc253a7fb VM6324:2 65a72ad3-a52b-48ae-a1e7-3a01afe8b6b9 VM6324:2 f9be1762-bbae-4bda-8b81-0cedaa0d0a8a VM6324:2 304204b2-22ca-4e1b-b66d-0a4ac987840b VM6324:2 e52b0fa1-6cd9-49d8-aae4-436090861922 VM6324:2 beb00300-095b-4e20-a710-a44bf4cd8937 VM6324:2 95b23628-29c1-436c-a05d-7869d30fe636 VM6324:2 a451109b-9dbb-4359-85bd-99a5ad5a6f1e VM6324:2 6530fcd8-dec8-4492-9779-ce3770c61a58 VM6324:2 258438ea-b89b-48ad-ba0a-bbab78be82a3 VM6324:2 55391316-d5b8-4664-8829-6ba252deb5fe VM6324:2 beda3e32-c588-470c-866e-7ea3351eba9a VM6324:2 29d408b0-ddff-4701-904f-a352184bc675 VM6324:2 208750f7-ec0f-46c5-807f-1b900d1c289d VM6324:2 4b8b7010-2fbc-46fc-8509-ae536b5e5cf4 VM6324:2 39a4f100-b8d6-4cd9-8f12-b53f807fb522 VM6324:2 4249c743-5f34-424c-95f1-8ccf6429d84e VM6324:2 a9f6d771-befa-489d-a636-ff194d53dede VM6324:2 3a48024f-8356-4c15-beb1-33718893a0b7 VM6324:2 fb87f72b-7a41-4b3b-87ae-ba4824b20d00 VM6324:2 15cdc0e5-9a94-4468-b832-c998d671ff66 VM6324:2 94597793-703a-4460-99d0-d98e0cda791c VM6324:2 bbbb367d-0633-4927-9697-2d3dc413338c VM6324:2 6f8c5b88-463c-48af-a467-b53edb8af679 VM6324:2 456e68e7-feea-433d-a7c3-87a98cc8bf34 VM6324:2 8d6b0ff6-a658-4173-b2fe-19ffd4803d68 VM6324:2 f4ae8b8d-bf35-4bc0-bdc3-82fc29c45aea VM6324:2 a006d103-e098-4bcf-b51b-55f30d27e0c2 VM6324:2 864e1149-d40c-46b1-9154-78fd45e19b31 VM6324:2 9e58113a-2641-4a1b-8753-c1de2fe12e8b VM6324:2 aad823f9-888c-45c5-aed6-bea89a0258c7 VM6324:2 6415b10b-6594-43f5-848f-b49f9c6dec28 VM6324:2 3df20c9a-9278-42e3-9f5d-c5bec401452f VM6324:2 2e8c2104-0a8d-4cdb-81fd-7fc227c1a349 VM6324:2 ac7e35b6-f3d7-4be3-b461-aa4885972073 VM6324:2 9f5cf49b-d27b-411b-a4a6-9d67f8b2f4a2 VM6324:2 01bfd396-35bc-4a48-a70d-d5d51a2976de VM6324:2 fd7b92bf-0824-4b3a-a0a6-a1bfbed87dba VM6324:2 11aa06f8d89480cc2018adc0a38f03b7 VM6324:2 a2dd938f35f718f1d4e24a43cfd0fe3d VM6324:2 6e5353d5f46e4d0153176558f133cc9b

notes:

frostyfan109 commented 5 years ago

After extensive testing, I've only managed to get this error to occur when the knowledge_map includes a node id that doesn't exist in the knowledge_graph. Therefore, this error shouldn't happen, as this is not the case with these failing queries, so something else must be happening.

frostyfan109 commented 5 years ago

Also, when just a single verified-as-valid answer is provided, it will still error.

frostyfan109 commented 5 years ago

Could the answers format be wrong? Does every single answer need all the questions in it?

Theoretically invalid (just node_bindings):

chemical_substance: "SCTID:278694008"
population_of_individual_organisms: "COHORT:13"

Theoretically valid (just node_bindings):

biological_process_or_activity: "GO:0007585"
chemical_substance: "MESH:D010126"
gene: "HGNC:10799"
phenotypic_feature: "HP:0005952"

Edit: I just tested this with this knowledge_map and the Workflow 5 default as the rest and it ran successfully:

[
  {
    "node_bindings": {
      "biological_process_or_activity": "GO:0004497",
      "gene": "HGNC:2638",
      "phenotypic_feature": "HP:0005982",
      "chemical_substance": "umlscui:C2341620",
      "population_of_individual_organisms": "COHORT:13"
    },
    "edge_bindings": {
      "e1": [
        "d23b216557ff08aa64c91d5d81546d7d"
      ],
      "e2": [
        "b3747ff2485569b64e308401e646c850"
      ],
      "e3": [
        "80660add35c9440b95c7b1d3c77a3120"
      ],
      "s27": "8b21bb19-0574-4ab9-a8b5-539afd713cf0",
      "e4": [
        "COHORT:13_Mometasone_umlscui:C2341620"
      ]
    },
    "score": 0.10530346936255496
  }
]

It is the answer at index 8605. It has an artificially inserted "population_of_individual_organisms" node_binding and an artificially inserted "e4" edge_binding. It could be that all answers are missing the population_of_individual_organisms binding which causes it not to work normally?

frostyfan109 commented 5 years ago

Pretty confident that this is fixed.