这是一篇开放获取的文章,根据创作共用署名许可协议(https://creativecommons.org/licenses/by/4.0/)的条款发布,允许在任何媒介上不受限制地使用、分发和复制,前提是正确引用了首次发表在JMIR医学信息学上的原创作品。必须包括完整的书目信息,http://medinform.www.mybigtv.com/上的原始出版物的链接,以及此版权和许可信息。
人们正在努力使用通用的上层本体对大型生物医学知识图进行语义集成,以将面向图的应用程序编程接口(api)与数据联合起来。然而,联邦带来了一些挑战,包括将查询路由到适当的知识源、答案子集的生成和评估、这些答案子集的语义合并以及结果的可视化和探索。
我们的目标是为联邦知识图的查询、可视化和深入探索开发一个交互式环境。
我们开发了一种生物医学查询语言和web应用程序间阶段,称为翻译查询语言(TranQL),用于查询语义联邦知识图并探索查询结果。TranQL使用Biolink数据模型作为高级生物医学本体和API标准,该API标准已被生物医学数据翻译联盟采用,用于指定将查询表示为由TranQL查询语言中的语句编译的Biolink数据元素图的协议。查询被映射到联邦知识源,答案被合并到知识图中,知识图与查询的特定元素之间有映射。TranQL交互式web应用程序包括一个支持用户探索联邦知识图的用户界面。
我们开发了2个真实的用例来验证TranQL,并解决与转化科学相关的生物医学问题。用例提出了跨越2个联邦Translator API端点的问题:综合临床和环境暴露服务(ICEES)和在面向知识的路径(ROBOKOP)中链接的生物医学对象推理。ICEES提供对观察性临床和环境数据的开放访问,ROBOKOP提供对相关生物医学实体的访问,如“基因”、“化学物质”和“疾病”,这些实体主要来自精心管理的公共数据源。我们成功地向TranQL提出了遍历这些端点的查询,并检索了我们可视化和评估的答案。
TranQL可用于提出与转化科学相关的问题,快速获得需要从知识来源联盟中断言的答案,并为转化研究和临床实践提供有价值的见解。
语义网由一组大型图形数据库组成,这些知识库被列举为主语-谓语-宾语“三元组”[
最近的工作旨在以一种支持统一查询接口的方式从语义上联合这些“知识图”(kg),以解决知识源语料库的异质性[
然而,联合提出了挑战,因为任何查询系统都必须提供语义查询规划,将查询路由到适当的知识源,生成和评估答案子集,然后将答案子集合并为语义有效、连贯的整体。
生物医学数据翻译程序(以下简称“翻译程序”)[
在这里,我们将翻译查询语言(TranQL)作为一种面向图形的生物医学查询语言和web应用程序来支持语义联邦生物医学知识源的查询和可视化,以便对查询答案进行深入的迭代探索。TranQL利用作为Translator程序一部分开发的语义框架来支持跨Translator生态系统的查询。
设计TranQL是为了克服跨异构分布式知识源的联邦查询和将答案子集合并为语义内聚整体的挑战。一个关键的设计特性是采用共享模式或名称空间来导航全局一致的概念结构,该结构表示实体类型及其之间的关系。这样的模式容纳了针对较大联邦空间子集的查询,并提供了扩展域或在特定域中专门化的灵活性。TranQL利用Biolink数据模型和KGS API来实现这个设计特性。TranQL查询语言和TranQL web应用程序用于查询执行和查询结果的探索。这些组件将在以下部分中详细描述。
Biolink数据模型[
翻译KGS API [
TranQL查询语言由词法分析器、解析器和抽象语法树组成。词法分析器识别具有中所示结构的查询语言
查询语言的结构。
“set”命令为变量赋值。“select”命令指定链接生物链概念的查询图。查询图为生成的联邦知识网络提供了框架。“from”子句指定Translator KGS API。调用的Translator KGS API端点返回符合查询图定义的语义结构的节点和边。可选的“where”子句开始一个约束列表。约束可以为查询图的元素指定值,为服务调用提供选项,或者过滤结果。“select”命令可以包括“set”命令。例如,一个表单使用JSON路径查询提取结果KG的一个元素并将其分配给一个变量;另一种形式将整个KG分配给一个变量。 Finally, the “create graph” statement sends the resultant named KG to a service for storage.
TranQL web应用程序包括几个共同支持交互式探索的组件:TranQL查询模式、TranQL背板和TranQL用户界面(UI)。TranQL UI是一个单页web应用程序,包括查询编辑器、缓存功能、图形可视化环境、答案查看器和可视化控件。
TranQL模式声明Translator KGS API端点,并将每个端点与它支持的实体转换类型的图相关联。这些语义转换“映射”是从每个端点获得的。它们根据Biolink数据模型描述了端点的功能。每个端点都表示为一个层次结构,其中第一级是一个实体,第二级是一个实体,第三级是两个实体之间的关系。TranQL的模式将这些转换映射合并为一个统一的KG。在“from”子句中包含模式端点的“Select”语句启用了查询规划。规划将查询图中的每个步骤与模式的可能转换进行比较,以构造服务调用的计划。引擎通过将查询图的片段发送给那些能够完成请求的服务来执行计划。然后,它将结果从一个查询段传递到下一个查询段,并合并组合结果。重要的是,表示图中每个节点和边的来源的元数据被保留。
TranQL背板是在联邦Translator KGS API端点上作为协议规范化层实现的OpenAPI。背板标准化了不兼容性,并将服务调用的细节从查询语言中分离出来。当调用背板服务时,“from”子句指定了一个缩写语法,从而避免了为特定的服务指定HTTP协议、域名和端口语法。TranQL OpenAPI处理TranQL查询的方式是:解析查询、规划查询中隐含的特定于服务的问题、通过调用背板执行这些查询、从服务收集答案,并将这些答案合并到一个符合Translator KGS api的响应中。
查询编辑器为TranQL查询语言和Biolink数据模型提供语法高亮显示、行号和关键字自动补全。编辑器使用CodeMirror [
图形可视化环境使用基于WebGL的图形处理单元(GPU)加速3d渲染组件[
TranQL应用程序集成了ROBOKOP(在面向知识的路径中链接的生物医学对象的推理)答案查看器[
“设置”对话框提供了3个可视化控制面板。第一个面板允许用户选择任何二维(2D)、3D或虚拟现实作为KG的显示风格,并切换到选择节点和边缘是否按类型着色。此面板还具有暂时禁用缓存或完全清除缓存的控件。第二个面板提供了与KG结构相关的2个控件。第一个控件配置边缘权重范围,以便只有权重落在该范围内的边缘才会在可视化中呈现。第二个控件配置一个节点连接范围,以便只有连接在该范围内的节点才会在可视化中呈现。第三个面板显示了一个复选框列表,这些复选框对应于在答案KG中提供边的知识源。复选框允许用户选择在可视化中呈现的首选知识源。
我们开发了一些用例,在这些用例中,对TranQL UI提出了一个查询,并跨越了由2个独立的Translator KGS API端点管理的联邦知识。第一个终点是ICEES(综合临床和环境暴露服务)[
第一个问题用自然语言提问,“男性和女性有哪些不同的疾病,哪些基因和化学物质与这些疾病有关?”查询的总体目的是:(1)通过复制性别差异的既定发现来验证TranQL,(2)发现可能用于治疗男性和女性差异疾病的化学物质或药物。自然语言问题被手动翻译成TranQL查询语言,生成的查询显示在
TranQL查询用例1。
查询的第一部分来自ICEES对男性和女性差异诊断疾病的验证(即大于偶然性);问题的第二部分来自ROBOKOP关于与这些疾病相关的基因和化学物质的探索性信息。“from”子句指示TranQL执行模式规划。“where”子句中带前缀的“icees”参数是icees中的特性变量,并成为Translator KGS API协议中的选项,这些选项被传输到由每个参数指定的模式元素。
向UI提出的TranQL查询和结果答案KG显示在
答案KG中的一个途径表明,男性和女性被诊断为卵巢癌(一种已知的女性疾病)的差异,从而验证了使用TranQL从ICEES提取事实信息的能力。该途径从ICEES穿越到ROBOKOP,以证明卵巢癌和基因之间的关联
快速谷歌搜索确定了几个描述卵巢癌女性甲状旁腺激素相关高钙血症的病例报告,包括Nussbaum及其同事的一项备受瞩目的研究[
用例1:示例TranQL查询并回答KG。TranQL查询由自然语言查询手动翻译为TranQL查询语言,该查询询问“男性和女性有哪些不同的疾病,以及哪些基因和化学物质与这些疾病相关?”
与基因相关的元数据
第二个例子是用自然语言提出的问题,“生活在农村和城市地区的患者中有哪些疾病的不同表达,哪些基因和化学物质与这些疾病有关?”与第一个用例一样,此用例中的自然语言查询被手动转换为TranQL查询语言,如
与第一个示例查询一样,该查询还从ICEES中提取疾病的临床信息,从ROBOKOP中提取基因和化学物质的生物医学信息。在UI中提出的查询和得到的答案KG显示在
TranQL查询用例2。
用例2:示例TranQL查询和结果KG。TranQL查询是从自然语言查询中手动翻译成TranQL查询语言的,该查询询问“生活在农村和城市地区的患者中有哪些疾病的不同表达,以及哪些基因和化学物质与这些疾病有关?”
通过结果答案KG的一个途径表明,在生活在农村和城市地区的患者中,乳腺癌的诊断是不同的。该途径从ICEES穿越到ROBOKOP,并识别出基因
几次快速谷歌搜索发现,大多数被识别的化学物质都是有害物质(如多溴联苯)或食品添加剂(如黄素单核苷酸),它们对婴幼儿的影响不同,要么是因为毒性增强,要么是因为接触的可能性增加。例如,多溴联苯被美国环境保护署列为危险物质,曾被用作阻燃剂和塑料添加剂[
与基因相关的元数据
我们创建了一种生物医学查询语言——TranQL——来支持联邦生物医学kg的查询、可视化和探索,TranQL利用作为Translator程序一部分开发的语义框架和方法来从语义上集成大型生物医学kg,从而允许用户提出跨越多个知识来源的具有挑战性的翻译查询,快速探索结果,并获得对翻译研究有价值的见解。重要的是,我们使用2个驱动用例和查询验证了TranQL,这些用例和查询跨越了临床知识源和观察性生物医学知识源。
Translator语义平台允许用户查询所有数据类型之间的关系,而不需要手动搜索各个数据库和数据集,这些数据库和数据集展示了不同级别的语义推理规则和实体之间的联系。此外,由于采用了Biolink数据模型和Translator KGS API规范,以及到相关生物医学本体(如君主疾病本体和人类表型本体)的映射,Translator框架支持跨数据源的一致数据链接和语义解析。
除了利用Translator框架和方法,TranQL还提供了其他一些功能。首先,TranQL提供了一种特定于领域的查询语言,它使得迭代查询和结果探索变得实用,对于没有任何软件开发经验的用户来说也是可行的。TranQL还提供了访问服务联合的抽象层,交互式web界面提供了查询答案的图形化和表格化可视化。此外,尽管本文没有演示,但TranQL被设计为可扩展到涉及2个以上知识源的联邦。
TranQL有几个应该考虑的限制。首先,TranQL在表达性方面受到限制,因为该工具只能表示通过kg的线性路径,而不是更复杂的结构。其次,TranQL在可用特性的数量和执行操作的能力方面受到限制。第三,用户需要手动将自然语言查询映射到TranQL查询语言。将自然语言查询自动翻译为机器查询仍然是Translator程序和其他领域的主要挑战,主要是由于与意图和上下文相关的模糊性[
尽管有这些限制,我们相信TranQL会被广泛采用,因为它能够支持快速发现复杂翻译问题的见解,并为后续的调查和测试生成机械假设。
TranQL正在积极开发中,定期部署性能和特性增强。计划中的功能增强包括更友好的用户界面和额外的可视化功能,以支持答案探索。我们正在与主题专家合作,迭代地改进TranQL UI和交互式web应用程序的其他特性。我们也在努力提高查询答案的健壮性。例如,我们正在开发跨实体标识符的协调方法,以适应由不同的Translator KGS API端点采用的不同标识符系统,并使这些知识源能够更完整地联合。
TranQL可在其网站上公开获取[
二维
应用程序编程接口
图形处理装置
综合临床和环境暴露服务
碘化酪氨酸deiodinase
知识图谱
知识图标准
甲状旁腺激素
基于知识导向路径的生物医学对象推理
查询语言
用户界面
这项工作得到了美国国立卫生研究院国家先进转化科学中心的支持(资助号OT3TR002020, OT2TR002514)。作者感谢Matt Brush和Chris Mungall创建并发布了Biolink数据模型,感谢Eric Deutch和David Koslicki对Translator KGS API规范的贡献。作者还感谢Marian Mersmann对提交审查的手稿的最终版本进行校对。
没有宣布。