{"title":"τJUpdate:时变 JSON 数据的更新语言","authors":"Zouhaier Brahmia , Fabio Grandi , Safa Brahmia , Rafik Bouaziz","doi":"10.1016/j.cola.2024.101258","DOIUrl":null,"url":null,"abstract":"<div><p><span>Time-varying JSON data are being used and exchanged in various today’s application frameworks like IoT<span><span> platforms, Web services, cloud computing, </span>online social networks<span><span><span>, and mobile systems. However, in the state-of-the-art of JSON data management, there is neither a consensual nor a standard language for updating (i.e., inserting, modifying, and deleting) temporal JSON data, like the TSQL2 or SQL:2016 languages for temporal </span>relational data. Moreover, existing JSON-based NoSQL </span>DBMSs<span><span> (e.g., MongoDB, Couchbase, CouchDB, OrientDB, and Riak) and both commercial relational DBMSs (e.g., IBM DB2 12, Oracle 19c, and MS SQL Server 2019) and open-source ones (e.g., </span>PostgreSQL 15, and MySQL 8.0) supporting JSON documents do not provide any facility for maintaining temporal JSON data. Also in our previously proposed temporal JSON framework, called </span></span></span></span><span><math><mi>τ</mi></math></span>JSchema, there was no feature for temporal JSON instance updates. For these reasons, we propose in this article a temporal update language, named <span><math><mi>τ</mi></math></span>JUpdate (Temporal JUpdate), for JSON data in the <span><math><mi>τ</mi></math></span><span>JSchema environment. We define it as a temporal extension<span> of our previously introduced non-temporal JSON update language, named JUpdate (JSON Update). Both the syntax and the operational semantics of the data modification operations of JUpdate have been extended to support temporal aspects. </span></span><span><math><mi>τ</mi></math></span>JUpdate allows to specify temporal JSON updates in an expressive and user-friendly manner, and to efficiently execute them in the <span><math><mi>τ</mi></math></span>JSchema environment.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"79 ","pages":"Article 101258"},"PeriodicalIF":1.7000,"publicationDate":"2024-01-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"τJUpdate: An update language for time-varying JSON data\",\"authors\":\"Zouhaier Brahmia , Fabio Grandi , Safa Brahmia , Rafik Bouaziz\",\"doi\":\"10.1016/j.cola.2024.101258\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p><span>Time-varying JSON data are being used and exchanged in various today’s application frameworks like IoT<span><span> platforms, Web services, cloud computing, </span>online social networks<span><span><span>, and mobile systems. However, in the state-of-the-art of JSON data management, there is neither a consensual nor a standard language for updating (i.e., inserting, modifying, and deleting) temporal JSON data, like the TSQL2 or SQL:2016 languages for temporal </span>relational data. Moreover, existing JSON-based NoSQL </span>DBMSs<span><span> (e.g., MongoDB, Couchbase, CouchDB, OrientDB, and Riak) and both commercial relational DBMSs (e.g., IBM DB2 12, Oracle 19c, and MS SQL Server 2019) and open-source ones (e.g., </span>PostgreSQL 15, and MySQL 8.0) supporting JSON documents do not provide any facility for maintaining temporal JSON data. Also in our previously proposed temporal JSON framework, called </span></span></span></span><span><math><mi>τ</mi></math></span>JSchema, there was no feature for temporal JSON instance updates. For these reasons, we propose in this article a temporal update language, named <span><math><mi>τ</mi></math></span>JUpdate (Temporal JUpdate), for JSON data in the <span><math><mi>τ</mi></math></span><span>JSchema environment. We define it as a temporal extension<span> of our previously introduced non-temporal JSON update language, named JUpdate (JSON Update). Both the syntax and the operational semantics of the data modification operations of JUpdate have been extended to support temporal aspects. </span></span><span><math><mi>τ</mi></math></span>JUpdate allows to specify temporal JSON updates in an expressive and user-friendly manner, and to efficiently execute them in the <span><math><mi>τ</mi></math></span>JSchema environment.</p></div>\",\"PeriodicalId\":48552,\"journal\":{\"name\":\"Journal of Computer Languages\",\"volume\":\"79 \",\"pages\":\"Article 101258\"},\"PeriodicalIF\":1.7000,\"publicationDate\":\"2024-01-11\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Journal of Computer Languages\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S2590118424000017\",\"RegionNum\":3,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Computer Languages","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S2590118424000017","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
τJUpdate: An update language for time-varying JSON data
Time-varying JSON data are being used and exchanged in various today’s application frameworks like IoT platforms, Web services, cloud computing, online social networks, and mobile systems. However, in the state-of-the-art of JSON data management, there is neither a consensual nor a standard language for updating (i.e., inserting, modifying, and deleting) temporal JSON data, like the TSQL2 or SQL:2016 languages for temporal relational data. Moreover, existing JSON-based NoSQL DBMSs (e.g., MongoDB, Couchbase, CouchDB, OrientDB, and Riak) and both commercial relational DBMSs (e.g., IBM DB2 12, Oracle 19c, and MS SQL Server 2019) and open-source ones (e.g., PostgreSQL 15, and MySQL 8.0) supporting JSON documents do not provide any facility for maintaining temporal JSON data. Also in our previously proposed temporal JSON framework, called JSchema, there was no feature for temporal JSON instance updates. For these reasons, we propose in this article a temporal update language, named JUpdate (Temporal JUpdate), for JSON data in the JSchema environment. We define it as a temporal extension of our previously introduced non-temporal JSON update language, named JUpdate (JSON Update). Both the syntax and the operational semantics of the data modification operations of JUpdate have been extended to support temporal aspects. JUpdate allows to specify temporal JSON updates in an expressive and user-friendly manner, and to efficiently execute them in the JSchema environment.