Validation of Modern JSON Schema: Formalization and Complexity
JSON Schema is the de-facto standard schema language for JSON data. The language went through many minor revisions, but the most recent versions of the language, starting from Draft 2019-09, added two novel features, dynamic references and annotation-dependent validation, that change the evaluation...
Uložené v:
| Vydané v: | Proceedings of ACM on programming languages Ročník 8; číslo POPL; s. 1451 - 1481 |
|---|---|
| Hlavní autori: | , , , , , |
| Médium: | Journal Article |
| Jazyk: | English |
| Vydavateľské údaje: |
New York, NY, USA
ACM
02.01.2024
|
| Predmet: | |
| ISSN: | 2475-1421, 2475-1421 |
| On-line prístup: | Získať plný text |
| Tagy: |
Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
|
| Abstract | JSON Schema is the de-facto standard schema language for JSON data. The language went through many minor revisions, but the most recent versions of the language, starting from Draft 2019-09, added two novel features, dynamic references and annotation-dependent validation, that change the evaluation model. Modern JSON Schema is the name used to indicate all versions from Draft 2019-09, which are characterized by these new features, while Classical JSON Schema is used to indicate the previous versions. These new “modern” features make the schema language quite difficult to understand and have generated many discussions about the correct interpretation of their official specifications; for this reason, we undertook the task of their formalization. During this process, we also analyzed the complexity of data validation in Modern JSON Schema, with the idea of confirming the polynomial complexity of Classical JSON Schema validation, and we were surprised to discover a completely different truth: data validation, which is expected to be an extremely efficient process, acquires, with Modern JSON Schema features, a PSPACE complexity. In this paper, we give the first formal description of Modern JSON Schema, which we have discussed with the community of JSON Schema tool developers, and which we consider a central contribution of this work. We then prove that its data validation problem is PSPACE-complete. We prove that the origin of the problem lies in the Draft 2020-12 version of dynamic references, and not in annotation-dependent validation. We study the schema and data complexities, showing that the problem is PSPACE-complete with respect to the schema size even with a fixed instance but is in P when the schema is fixed and only the instance size is allowed to vary. Finally, we run experiments that show that there are families of schemas where the difference in asymptotic complexity between dynamic and static references is extremely visible, even with small schemas. |
|---|---|
| AbstractList | JSON Schema is the de-facto standard schema language for JSON data. The language went through many minor revisions, but the most recent versions of the language, starting from Draft 2019-09, added two novel features, dynamic references and annotation-dependent validation , that change the evaluation model. Modern JSON Schema is the name used to indicate all versions from Draft 2019-09, which are characterized by these new features, while Classical JSON Schema is used to indicate the previous versions.
These new “modern” features make the schema language quite difficult to understand and have generated many discussions about the correct interpretation of their official specifications; for this reason, we undertook the task of their formalization. During this process, we also analyzed the complexity of data validation in Modern JSON Schema, with the idea of confirming the polynomial complexity of Classical JSON Schema validation, and we were surprised to discover a completely different truth: data validation, which is expected to be an extremely efficient process, acquires, with Modern JSON Schema features, a PSPACE complexity.
In this paper, we give the first formal description of Modern JSON Schema, which we have discussed with the community of JSON Schema tool developers, and which we consider a central contribution of this work. We then prove that its data validation problem is PSPACE-complete. We prove that the origin of the problem lies in the Draft 2020-12 version of dynamic references, and not in annotation-dependent validation. We study the schema and data complexities, showing that the problem is PSPACE-complete with respect to the schema size even with a fixed instance but is in P when the schema is fixed and only the instance size is allowed to vary. Finally, we run experiments that show that there are families of schemas where the difference in asymptotic complexity between dynamic and static references is extremely visible, even with small schemas. JSON Schema is the de-facto standard schema language for JSON data. The language went through many minor revisions, but the most recent versions of the language, starting from Draft 2019-09, added two novel features, dynamic references and annotation-dependent validation, that change the evaluation model. Modern JSON Schema is the name used to indicate all versions from Draft 2019-09, which are characterized by these new features, while Classical JSON Schema is used to indicate the previous versions. These new “modern” features make the schema language quite difficult to understand and have generated many discussions about the correct interpretation of their official specifications; for this reason, we undertook the task of their formalization. During this process, we also analyzed the complexity of data validation in Modern JSON Schema, with the idea of confirming the polynomial complexity of Classical JSON Schema validation, and we were surprised to discover a completely different truth: data validation, which is expected to be an extremely efficient process, acquires, with Modern JSON Schema features, a PSPACE complexity. In this paper, we give the first formal description of Modern JSON Schema, which we have discussed with the community of JSON Schema tool developers, and which we consider a central contribution of this work. We then prove that its data validation problem is PSPACE-complete. We prove that the origin of the problem lies in the Draft 2020-12 version of dynamic references, and not in annotation-dependent validation. We study the schema and data complexities, showing that the problem is PSPACE-complete with respect to the schema size even with a fixed instance but is in P when the schema is fixed and only the instance size is allowed to vary. Finally, we run experiments that show that there are families of schemas where the difference in asymptotic complexity between dynamic and static references is extremely visible, even with small schemas. |
| ArticleNumber | 49 |
| Author | Attouche, Lyes Baazizi, Mohamed-Amine Ghelli, Giorgio Scherzinger, Stefanie Colazzo, Dario Sartiani, Carlo |
| Author_xml | – sequence: 1 givenname: Lyes orcidid: 0009-0008-8454-6364 surname: Attouche fullname: Attouche, Lyes email: lyes.attouche@dauphine.fr organization: Université Paris-Dauphine - PSL, Paris, France – sequence: 2 givenname: Mohamed-Amine orcidid: 0000-0003-2728-5838 surname: Baazizi fullname: Baazizi, Mohamed-Amine email: baazizi@ia.lip6.fr organization: Sorbonne University, Paris, France – sequence: 3 givenname: Dario orcidid: 0000-0002-6031-0049 surname: Colazzo fullname: Colazzo, Dario email: dario.colazzo@dauphine.fr organization: Université Paris-Dauphine - PSL, Paris, France – sequence: 4 givenname: Giorgio orcidid: 0000-0002-0596-6395 surname: Ghelli fullname: Ghelli, Giorgio email: ghelli@di.unipi.it organization: University of Pisa, Pisa, Italy – sequence: 5 givenname: Carlo orcidid: 0000-0002-6514-3569 surname: Sartiani fullname: Sartiani, Carlo email: carlo.sartiani@unibas.it organization: University of Basilicata, Potenza, Italy – sequence: 6 givenname: Stefanie orcidid: 0000-0002-1960-6171 surname: Scherzinger fullname: Scherzinger, Stefanie email: stefanie.scherzinger@uni-passau.de organization: University of Passau, Passau, Germany |
| BookMark | eNptz8tLw0AQBvBFFKy1ePeUm6fozj6yux4EKdYH1R6qXsN0HxhJsmWTg_Wvt9oqIp5mYH4M33dAdtvYekKOgJ4CCHnGC860gR0yYELJHASD3V_7Phl13SulFAwXmpsBuXjGunLYV7HNYsjuo_Opze7ms4dsbl98g-fZJKZmjd43CFuXjWOzrP1b1a8OyV7AuvOj7RySp8nV4_gmn86ub8eX0xyZUn3OLTolwS8AJQ1cM5CFUcU6iFNUgAvUagFBS6GDcVosFENhQeqCo9GG8SHJN39til2XfCht1X8F6hNWdQm0_Oxfbvuv_ckfv0xVg2n1jzzeSLTND_o-fgAE9WEo |
| CitedBy_id | crossref_primary_10_1109_ACCESS_2025_3587786 crossref_primary_10_1007_s10270_025_01273_6 |
| Cites_doi | 10.1145/800125.804029 10.1145/1166074.1166076 https://doi.org/10.5281/zenodo.10019663 https://doi.org/10.1016/j.is.2019.101478 10.1145/800070.802186 10.1137/080743457 10.1017/S0956796800001143 10.5281/zenodo.10019663 10.1016/j.is.2019.101478 10.17487/rfc3986 10.14778/3565838.3565852 |
| ContentType | Journal Article |
| Copyright | Owner/Author |
| Copyright_xml | – notice: Owner/Author |
| DBID | AAYXX CITATION |
| DOI | 10.1145/3632891 |
| DatabaseName | CrossRef |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | CrossRef |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 2475-1421 |
| EndPage | 1481 |
| ExternalDocumentID | 10_1145_3632891 3632891 |
| GrantInformation_xml | – fundername: Ministero dell'Università e della Ricerca grantid: 2022AEEKXS – fundername: Deutsche Forschungsgemeinschaft grantid: 385808805 funderid: https://doi.org/10.13039/501100001659 – fundername: European Union grantid: 101079043 |
| GroupedDBID | AAKMM AAYFX ACM AEFXT AEJOY AIKLT AKRVB ALMA_UNASSIGNED_HOLDINGS GUFHI LHSKQ M~E OK1 ROL AAYXX CITATION |
| ID | FETCH-LOGICAL-a277t-3cad751eb1a50f382156976000d7041df0c841f8548f9d84b72a4c15863a98923 |
| ISICitedReferencesCount | 5 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001170729400050&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 2475-1421 |
| IngestDate | Tue Nov 18 21:47:21 EST 2025 Sat Nov 29 07:45:08 EST 2025 Mon Jul 07 16:40:28 EDT 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | POPL |
| Keywords | complexity of validation JSON Schema |
| Language | English |
| License | This work is licensed under a Creative Commons Attribution International 4.0 License. |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-a277t-3cad751eb1a50f382156976000d7041df0c841f8548f9d84b72a4c15863a98923 |
| ORCID | 0009-0008-8454-6364 0000-0003-2728-5838 0000-0002-6514-3569 0000-0002-1960-6171 0000-0002-0596-6395 0000-0002-6031-0049 |
| OpenAccessLink | https://dl.acm.org/doi/10.1145/3632891 |
| PageCount | 31 |
| ParticipantIDs | crossref_citationtrail_10_1145_3632891 crossref_primary_10_1145_3632891 acm_primary_3632891 |
| PublicationCentury | 2000 |
| PublicationDate | 2024-01-02 |
| PublicationDateYYYYMMDD | 2024-01-02 |
| PublicationDate_xml | – month: 01 year: 2024 text: 2024-01-02 day: 02 |
| PublicationDecade | 2020 |
| PublicationPlace | New York, NY, USA |
| PublicationPlace_xml | – name: New York, NY, USA |
| PublicationTitle | Proceedings of ACM on programming languages |
| PublicationTitleAbbrev | ACM PACMPL |
| PublicationYear | 2024 |
| Publisher | ACM |
| Publisher_xml | – name: ACM |
| References | (bib23) 2016 (bib22) 2022 (bib11) 2023a (bib12) 2023b (bib1) 2023 (bib6) 2023a (bib3) 2023 (bib7) 2023b (bib21) 2022 (bib8) 2023c (bib10) 2019b (bib15) 2020; 89 (bib19) 2009; 4 (bib4) 2023 (bib25) 1973 (bib28) 2022 (bib13) 2005 (bib18) 2021 (bib9) 2019a (bib5) 2022; 15 (bib26) 1982 (bib2) 2023 (bib16) 2013 (bib17) 1994; 4 (bib27) 2019 (bib20) 2006; 3 (bib29) 2017 (bib24) 2012 (bib14) 2017 e_1_3_1_22_1 e_1_3_1_23_1 e_1_3_1_8_1 e_1_3_1_20_1 e_1_3_1_21_1 e_1_3_1_5_1 e_1_3_1_4_1 e_1_3_1_6_1 e_1_3_1_26_1 e_1_3_1_27_1 e_1_3_1_3_1 Pezoa Felipe (e_1_3_1_24_1) 2016 e_1_3_1_2_1 Wright A. (e_1_3_1_29_1) 2022 Sipser Michael (e_1_3_1_25_1) 2012 Baazizi Mohamed Amine (e_1_3_1_11_1) 2019 Baazizi Mohamed Amine (e_1_3_1_10_1) 2019 Attouche Lyes (e_1_3_1_7_1) 2023 e_1_3_1_14_1 e_1_3_1_13_1 e_1_3_1_12_1 Bourhis Pierre (e_1_3_1_15_1) 2017 e_1_3_1_18_1 e_1_3_1_17_1 e_1_3_1_16_1 Wright A. (e_1_3_1_28_1) 2019 Attouche Lyes (e_1_3_1_9_1) 2023 e_1_3_1_19_1 Wright A. (e_1_3_1_30_1) 2017 |
| References_xml | – year: 2021 ident: bib18 article-title: The meaning of "additionalProperties" has changed – year: 2013 ident: bib16 publication-title: JSON Schema: interactive and non interactive validation - draft-fge-json-schema-validation-00. Technical Report. Internet Engineering Task Force – start-page: 2060 year: 2019b end-page: 2063 ident: bib10 article-title: Schemas and Types for JSON Data: From Theory to Practice publication-title: Proc. SIGMOD Conference – year: 2023 ident: bib1 – year: 2022 ident: bib22 article-title: JSON Schema – year: 2023c ident: bib8 article-title: Validation of Modern JSON Schema: Formalization and Complexity publication-title: arXiv:2307.10034 [cs.DB] – start-page: 123 year: 2017 end-page: 135 ident: bib14 article-title: JSON: Data model, Query languages and Schema specification publication-title: Proc. PODS – volume: 15 start-page: 4002 issue: 13 year: 2022 end-page: 4014 ident: bib5 article-title: Witness Generation for JSON Schema publication-title: Proc. VLDB Endow. – year: 2022 ident: bib21 article-title: Ambiguous behaviour of “additionalProperties” when invalid – year: 2023 ident: bib2 – year: 2012 ident: bib24 publication-title: Introduction to the Theory of Computation - Third Edition – year: 2023a ident: bib6 publication-title: ModernJSONSchemaValidator – start-page: 437 year: 2019a end-page: 439 ident: bib9 article-title: Schemas And Types For JSON Data publication-title: Proc. EDBT – start-page: 1 year: 1973 end-page: 9 ident: bib25 publication-title: Proceedings of the 5th Annual ACM Symposium on Theory of Computing, April 30 - May 2, 1973, Austin, Texas, USA doi: 10.1145/800125.804029 – start-page: 263 year: 2016 end-page: 273 ident: bib23 article-title: Foundations of JSON Schema publication-title: Proc. WWW – year: 2023 ident: bib3 – year: 2022 ident: bib28 publication-title: JSON Schema: A Media Type for Describing JSON Documents - draft-bhutton-json-schema-01. Technical Report. Internet Engineering Task Force – year: 2023b ident: bib12 article-title: JSON-Schema-Test-Suite (draft2020-12) – year: 2005 ident: bib13 publication-title: Uniform Resource Identifier (URI): Generic Syntax. Technical Report. Internet Engineering Task Force – year: 2023 ident: bib4 article-title: Modern JSON Schema – volume: 3 start-page: 770 issue: 2006 year: 2006 end-page: 813 ident: bib20 article-title: Expressiveness and complexity of XML Schema publication-title: ACM Trans. Database Syst doi: 10.1145/1166074.1166076 – year: 2023a ident: bib11 article-title: Bowtie JSON Schema Meta Validator – year: 2023b ident: bib7 publication-title: Reproduction Package for: Validation of Modern JSON Schema: Formalization and Complexity doi: https://doi.org/10.5281/zenodo.10019663 – volume: 89 issue: 2020 year: 2020 ident: bib15 article-title: JSON: Data model and query languages publication-title: Inf. Syst doi: https://doi.org/10.1016/j.is.2019.101478 – start-page: 137 year: 1982 end-page: 146 ident: bib26 publication-title: Proceedings of the 14th Annual ACM Symposium on Theory of Computing, May 5-7, 1982, San Francisco, California, USA doi: 10.1145/800070.802186 – year: 2019 ident: bib27 publication-title: JSON Schema Validation: A Vocabulary for Structural Validation of JSON - draft-handrews-json-schema-validation-02. Technical Report. Internet Engineering Task Force – volume: 4 start-page: 1486 year: 2009 end-page: 1530 ident: bib19 article-title: Complexity of Decision Problems for XML Schemas and Chain Regular Expressions publication-title: SIAM J. Comput. 39 doi: 10.1137/080743457 – volume: 4 start-page: 435 year: 1994 end-page: 477 ident: bib17 article-title: The Complexity of Type Inference for Higher-Order Typed lambda Calculi publication-title: J. Funct. Program. 4 doi: 10.1017/S0956796800001143 – year: 2017 ident: bib29 publication-title: JSON Schema Validation: A Vocabulary for Structural Validation of JSON - draft-wright-json-schema-validation-01. Technical Report. Internet Engineering Task Force – ident: e_1_3_1_20_1 doi: 10.1137/080743457 – ident: e_1_3_1_26_1 doi: 10.1145/800125.804029 – ident: e_1_3_1_17_1 – ident: e_1_3_1_21_1 doi: 10.1145/1166074.1166076 – ident: e_1_3_1_22_1 – start-page: 123 year: 2017 ident: e_1_3_1_15_1 article-title: JSON: Data model, Query languages and Schema specification publication-title: Proc. PODS – ident: e_1_3_1_8_1 doi: 10.5281/zenodo.10019663 – ident: e_1_3_1_13_1 – year: 2019 ident: e_1_3_1_28_1 publication-title: JSON Schema Validation: A Vocabulary for Structural Validation of JSON - draft-handrews-json-schema-validation-02. Technical Report. Internet Engineering Task Force – ident: e_1_3_1_19_1 – start-page: 263 year: 2016 ident: e_1_3_1_24_1 article-title: Foundations of JSON Schema publication-title: Proc. WWW – ident: e_1_3_1_16_1 doi: 10.1016/j.is.2019.101478 – year: 2023 ident: e_1_3_1_7_1 publication-title: ModernJSONSchemaValidator – ident: e_1_3_1_5_1 – ident: e_1_3_1_2_1 – year: 2017 ident: e_1_3_1_30_1 publication-title: JSON Schema Validation: A Vocabulary for Structural Validation of JSON - draft-wright-json-schema-validation-01. Technical Report. Internet Engineering Task Force – ident: e_1_3_1_14_1 doi: 10.17487/rfc3986 – ident: e_1_3_1_4_1 – year: 2023 ident: e_1_3_1_9_1 article-title: Validation of Modern JSON Schema: Formalization and Complexity publication-title: arXiv:2307.10034 [cs.DB] – ident: e_1_3_1_12_1 – ident: e_1_3_1_27_1 doi: 10.1145/800070.802186 – ident: e_1_3_1_3_1 – ident: e_1_3_1_6_1 doi: 10.14778/3565838.3565852 – ident: e_1_3_1_23_1 – volume-title: Introduction to the Theory of Computation - Third Edition year: 2012 ident: e_1_3_1_25_1 – start-page: 2060 year: 2019 ident: e_1_3_1_11_1 article-title: Schemas and Types for JSON Data: From Theory to Practice publication-title: Proc. SIGMOD Conference – ident: e_1_3_1_18_1 doi: 10.1017/S0956796800001143 – start-page: 437 year: 2019 ident: e_1_3_1_10_1 article-title: Schemas And Types For JSON Data publication-title: Proc. EDBT – year: 2022 ident: e_1_3_1_29_1 publication-title: JSON Schema: A Media Type for Describing JSON Documents - draft-bhutton-json-schema-01. Technical Report. Internet Engineering Task Force |
| SSID | ssj0001934839 |
| Score | 2.3072233 |
| Snippet | JSON Schema is the de-facto standard schema language for JSON data. The language went through many minor revisions, but the most recent versions of the... |
| SourceID | crossref acm |
| SourceType | Enrichment Source Index Database Publisher |
| StartPage | 1451 |
| SubjectTerms | Theory of computation Type theory |
| SubjectTermsDisplay | Theory of computation -- Type theory |
| Title | Validation of Modern JSON Schema: Formalization and Complexity |
| URI | https://dl.acm.org/doi/10.1145/3632891 |
| Volume | 8 |
| WOSCitedRecordID | wos001170729400050&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVHPJ databaseName: ROAD: Directory of Open Access Scholarly Resources customDbUrl: eissn: 2475-1421 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0001934839 issn: 2475-1421 databaseCode: M~E dateStart: 20170101 isFulltext: true titleUrlDefault: https://road.issn.org providerName: ISSN International Centre |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV3Nb9MwFLfK4MAFxgBRYMgHxC0QJ05sc0DqKgZCa1eJgXarEjuGSm0ylWwaPfBX8Afv-SMfqyYBBy5R5dhu5fer3_d7CL1MRa5ynRYBkxoUFKFkkKcULsM4YoTkWnNXXf-ITaf89FTMBoPfTS7MxZKVJb-8FGf_ldQwBsQ2qbP_QO52UxiAz0B0eALZ4flXhP8KkrVqBUHf6-zT5-OpqbhZrGwvnkMjqS59Cqb1H5h7wdTGrK-5eWcte7MRH6PxxDgXfEzXylgZGntnK5qP6ro6hy-yCv_PbvwgyzaLjY0dmFTfM2DCwWjVc-qPQcfebCoXZ7920WE2MMhEqtplHxbV-pt_4e0UEbV2ip7pMqIsCQh1-dCvixvG_H3Me7CbHc-OeteraSvcY9WgypGb2QA1FTPiNAZ1knScrvHubzHANizRJWknc7_wFrodgTplAgUnv3qWOxFTblvUtT_fZWObtW_8WiPsyFVP2OlJLSe76J5XN_DIweQBGhTlHrrftPLA_mZ_iN51qMGVxg412KAGO9S8xdcwgwEzuMPMI_Tl8P3J-GPgW2sEWcRYHcQyUywhwKizJNQxB8EvFcZHGyoWUqJ0KDkl8EelXAvFac6ijEqS8DTOBAel4DHaKauyeIIwyTS8kiQqQJWHLUUSR5pTERaJgo3UEO3BSczPXPGU5myH6FVzMnPpq9GbpijL-RYRhgi3E5s9tqY8_fOUZ-huh8nnaKdenxf76I68qBc_1i8sfa8ANhh0wA |
| linkProvider | ISSN International Centre |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Validation+of+Modern+JSON+Schema%3A+Formalization+and+Complexity&rft.jtitle=Proceedings+of+ACM+on+programming+languages&rft.au=Attouche%2C+Lyes&rft.au=Baazizi%2C+Mohamed-Amine&rft.au=Colazzo%2C+Dario&rft.au=Ghelli%2C+Giorgio&rft.date=2024-01-02&rft.issn=2475-1421&rft.eissn=2475-1421&rft.volume=8&rft.issue=POPL&rft.spage=1451&rft.epage=1481&rft_id=info:doi/10.1145%2F3632891&rft.externalDBID=n%2Fa&rft.externalDocID=10_1145_3632891 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2475-1421&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2475-1421&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2475-1421&client=summon |