{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,8]],"date-time":"2026-01-08T10:01:24Z","timestamp":1767866484144,"version":"3.49.0"},"reference-count":25,"publisher":"World Scientific Pub Co Pte Lt","issue":"06","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Int. J. Soft. Eng. Knowl. Eng."],"published-print":{"date-parts":[[2020,6]]},"abstract":"<jats:p> In the last decade, REST has become the most common approach to provide web services, yet it was not originally designed to handle typical modern applications (e.g. mobile apps). GraphQL was proposed to reduce the number of queries and data exchanged in comparison with REST. Since its release in 2015, it has gained momentum as an alternative approach to REST. However, generating and maintaining GraphQL resolvers is not a simple task. First, a domain expert has to analyze a dataset, design the corresponding GraphQL schema and map the dataset to the schema. Then, a software engineer (e.g. GraphQL developer) implements the corresponding GraphQL resolvers in a specific programming language. In this paper, we present an approach to exploit the information from mappings rules (relation between target and source schema) and generate a GraphQL server. These mapping rules construct a virtual knowledge graph which is accessed by the generated GraphQL resolvers. These resolvers translate the input GraphQL queries into the queries supported by the underlying dataset. Domain experts or software developers may benefit from our approach: a domain expert does not need to involve software developers to implement the resolvers, and software developers can generate the initial version of the resolvers to be implemented. We implemented our approach in the Morph-GraphQL framework and evaluated it using the LinGBM benchmark. <\/jats:p>","DOI":"10.1142\/s0218194020400070","type":"journal-article","created":{"date-parts":[[2020,7,17]],"date-time":"2020-07-17T15:18:52Z","timestamp":1594999132000},"page":"785-803","source":"Crossref","is-referenced-by-count":5,"title":["Exploiting Declarative Mapping Rules for Generating GraphQL Servers with Morph-GraphQL"],"prefix":"10.1142","volume":"30","author":[{"given":"David","family":"Chaves-Fraga","sequence":"first","affiliation":[{"name":"Ontology Engineering Group, Universidad Polit\u00e9cnica de Madrid, Madrid, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Freddy","family":"Priyatna","sequence":"additional","affiliation":[{"name":"Ontology Engineering Group, Universidad Polit\u00e9cnica de Madrid, Madrid, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ahmad","family":"Alobaid","sequence":"additional","affiliation":[{"name":"Ontology Engineering Group, Universidad Polit\u00e9cnica de Madrid, Madrid, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Oscar","family":"Corcho","sequence":"additional","affiliation":[{"name":"Ontology Engineering Group, Universidad Polit\u00e9cnica de Madrid, Madrid, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"219","published-online":{"date-parts":[[2020,7,29]]},"reference":[{"key":"S0218194020400070BIB001","doi-asserted-by":"publisher","DOI":"10.1109\/BigData.2017.8258173"},{"key":"S0218194020400070BIB002","first-page":"283","volume-title":"Int. Conf. Service-Oriented Computing","author":"Vogel M.","year":"2017"},{"key":"S0218194020400070BIB003","doi-asserted-by":"publisher","DOI":"10.1016\/j.procs.2019.11.082"},{"key":"S0218194020400070BIB006","volume-title":"Proc. 7th Workshop on Linked Data on the Web","author":"Dimou A.","year":"2014"},{"key":"S0218194020400070BIB008","doi-asserted-by":"publisher","DOI":"10.5220\/0005448304430454"},{"key":"S0218194020400070BIB009","volume-title":"Proc. Consuming Linked Data","author":"Slepicka J.","year":"2015"},{"key":"S0218194020400070BIB010","series-title":"Studies on the Semantic Web","first-page":"235","volume-title":"Emerging Topics in Semantic Technologies: ISWC 2018 Satellite Events","volume":"36","author":"Chaves-Fraga D.","year":"2018"},{"key":"S0218194020400070BIB011","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-47602-5_25"},{"key":"S0218194020400070BIB013","doi-asserted-by":"publisher","DOI":"10.1016\/j.datak.2009.04.001"},{"key":"S0218194020400070BIB014","doi-asserted-by":"publisher","DOI":"10.18293\/SEKE2019-055"},{"key":"S0218194020400070BIB016","doi-asserted-by":"publisher","DOI":"10.4018\/jswis.2009040101"},{"key":"S0218194020400070BIB017","doi-asserted-by":"publisher","DOI":"10.1145\/2566486.2567981"},{"key":"S0218194020400070BIB018","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-27615-7_29"},{"key":"S0218194020400070BIB019","volume-title":"17th Int. Semantic Web Conference","author":"Taelman R.","year":"2018"},{"key":"S0218194020400070BIB021","volume-title":"Proc. 26th Int. Workshop on Intelligent Computing in Engineering","author":"Werbrouck J.","year":"2019"},{"key":"S0218194020400070BIB022","doi-asserted-by":"publisher","DOI":"10.3233\/SW-160217"},{"key":"S0218194020400070BIB023","doi-asserted-by":"publisher","DOI":"10.1145\/3178876.3186014"},{"key":"S0218194020400070BIB024","doi-asserted-by":"publisher","DOI":"10.3233\/SW-190384"},{"key":"S0218194020400070BIB025","volume-title":"Proc. Third Int. Workshop on Capturing Scientific Knowledge","author":"Iglesias-Molina A.","year":"2019"},{"key":"S0218194020400070BIB026","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-98192-5_40"},{"key":"S0218194020400070BIB028","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-19890-3_21"},{"key":"S0218194020400070BIB029","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-49004-5_37"},{"key":"S0218194020400070BIB030","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-25010-6_7"},{"key":"S0218194020400070BIB031","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-70407-4_22"},{"key":"S0218194020400070BIB032","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-03667-6_2"}],"container-title":["International Journal of Software Engineering and Knowledge Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.worldscientific.com\/doi\/pdf\/10.1142\/S0218194020400070","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,7,30]],"date-time":"2020-07-30T08:16:26Z","timestamp":1596096986000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.worldscientific.com\/doi\/abs\/10.1142\/S0218194020400070"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,6]]},"references-count":25,"journal-issue":{"issue":"06","published-print":{"date-parts":[[2020,6]]}},"alternative-id":["10.1142\/S0218194020400070"],"URL":"https:\/\/doi.org\/10.1142\/s0218194020400070","relation":{},"ISSN":["0218-1940","1793-6403"],"issn-type":[{"value":"0218-1940","type":"print"},{"value":"1793-6403","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,6]]}}}