Ontology-based GraphQL server generation for data access and data integration

Semantic Web Pub Date : 2024-01-09 DOI:10.3233/sw-233550
Huanyu Li, Olaf Hartig, R. Armiento, Patrick Lambrix
{"title":"Ontology-based GraphQL server generation for data access and data integration","authors":"Huanyu Li, Olaf Hartig, R. Armiento, Patrick Lambrix","doi":"10.3233/sw-233550","DOIUrl":null,"url":null,"abstract":"In a GraphQL Web API, a so-called GraphQL schema defines the types of data objects that can be queried, and so-called resolver functions are responsible for fetching the relevant data from underlying data sources. Thus, we can expect to use GraphQL not only for data access but also for data integration, if the GraphQL schema reflects the semantics of data from multiple data sources, and the resolver functions can obtain data from these data sources and structure the data according to the schema. However, there does not exist a semantics-aware approach to employ GraphQL for data integration. Furthermore, there are no formal methods for defining a GraphQL API based on an ontology. In this work, we introduce a framework for using GraphQL in which a global domain ontology informs the generation of a GraphQL server that answers requests by querying heterogeneous data sources. The core of this framework consists of an algorithm to generate a GraphQL schema based on an ontology and a generic resolver function based on semantic mappings. We provide a prototype, OBG-gen, of this framework, and we evaluate our approach over a real-world data integration scenario in the materials design domain and two synthetic benchmark scenarios (Linköping GraphQL Benchmark and GTFS-Madrid-Bench). The experimental results of our evaluation indicate that: (i) our approach is feasible to generate GraphQL servers for data access and integration over heterogeneous data sources, thus avoiding a manual construction of GraphQL servers, and (ii) our data access and integration approach is general and applicable to different domains where data is shared or queried via different ways.","PeriodicalId":506307,"journal":{"name":"Semantic Web","volume":"5 5","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-01-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Semantic Web","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.3233/sw-233550","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

In a GraphQL Web API, a so-called GraphQL schema defines the types of data objects that can be queried, and so-called resolver functions are responsible for fetching the relevant data from underlying data sources. Thus, we can expect to use GraphQL not only for data access but also for data integration, if the GraphQL schema reflects the semantics of data from multiple data sources, and the resolver functions can obtain data from these data sources and structure the data according to the schema. However, there does not exist a semantics-aware approach to employ GraphQL for data integration. Furthermore, there are no formal methods for defining a GraphQL API based on an ontology. In this work, we introduce a framework for using GraphQL in which a global domain ontology informs the generation of a GraphQL server that answers requests by querying heterogeneous data sources. The core of this framework consists of an algorithm to generate a GraphQL schema based on an ontology and a generic resolver function based on semantic mappings. We provide a prototype, OBG-gen, of this framework, and we evaluate our approach over a real-world data integration scenario in the materials design domain and two synthetic benchmark scenarios (Linköping GraphQL Benchmark and GTFS-Madrid-Bench). The experimental results of our evaluation indicate that: (i) our approach is feasible to generate GraphQL servers for data access and integration over heterogeneous data sources, thus avoiding a manual construction of GraphQL servers, and (ii) our data access and integration approach is general and applicable to different domains where data is shared or queried via different ways.
为数据访问和数据集成生成基于本体的 GraphQL 服务器
在 GraphQL Web API 中,所谓的 GraphQL 模式定义了可查询的数据对象类型,所谓的解析器函数负责从底层数据源获取相关数据。因此,如果 GraphQL 模式反映了来自多个数据源的数据的语义,而解析器函数可以从这些数据源获取数据并根据模式构建数据结构,那么我们就有望不仅将 GraphQL 用于数据访问,还将其用于数据集成。然而,目前还没有一种语义感知的方法来使用 GraphQL 进行数据集成。此外,也没有基于本体定义 GraphQL API 的正式方法。在这项工作中,我们介绍了一个使用 GraphQL 的框架,在该框架中,全局领域本体为 GraphQL 服务器的生成提供了信息,该服务器可通过查询异构数据源来回答请求。该框架的核心包括基于本体生成 GraphQL 模式的算法和基于语义映射的通用解析器功能。我们提供了该框架的原型 OBG-gen,并在材料设计领域的真实数据集成场景和两个合成基准场景(林雪平 GraphQL 基准和 GTFS-马德里基准)中对我们的方法进行了评估。评估的实验结果表明(i) 我们的方法可以生成用于异构数据源的数据访问和集成的 GraphQL 服务器,从而避免手动构建 GraphQL 服务器;(ii) 我们的数据访问和集成方法具有通用性,适用于通过不同方式共享或查询数据的不同领域。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信