{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,17]],"date-time":"2026-06-17T16:41:56Z","timestamp":1781714516098,"version":"3.54.5"},"reference-count":60,"publisher":"MIT Press","issue":"4","license":[{"start":{"date-parts":[[2021,11,8]],"date-time":"2021-11-08T00:00:00Z","timestamp":1636329600000},"content-version":"vor","delay-in-days":311,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["direct.mit.edu"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2021,12,1]]},"abstract":"<jats:title>Abstract<\/jats:title>\n               <jats:p>An increasing number of researchers rely on computational methods to generate or manipulate the results described in their scientific publications. Software created to this end\u2014scientific software\u2014is key to understanding, reproducing, and reusing existing work in many disciplines, ranging from Geosciences to Astronomy or Artificial Intelligence. However, scientific software is usually challenging to find, set up, and compare to similar software due to its disconnected documentation (dispersed in manuals, readme files, websites, and code comments) and the lack of structured metadata to describe it. As a result, researchers have to manually inspect existing tools to understand their differences and incorporate them into their work. This approach scales poorly with the number of publications and tools made available every year. In this paper we address these issues by introducing a framework for automatically extracting scientific software metadata from its documentation (in particular, their readme files); a methodology for structuring the extracted metadata in a Knowledge Graph (KG) of scientific software; and an exploitation framework for browsing and comparing the contents of the generated KG. We demonstrate our approach by creating a KG with metadata from over 10,000 scientific software entries from public code repositories.<\/jats:p>","DOI":"10.1162\/qss_a_00167","type":"journal-article","created":{"date-parts":[[2021,11,8]],"date-time":"2021-11-08T20:12:05Z","timestamp":1636402325000},"page":"1423-1446","update-policy":"https:\/\/doi.org\/10.1162\/mitpressjournals.corrections.policy","source":"Crossref","is-referenced-by-count":23,"title":["A framework for creating knowledge graphs of scientific software metadata"],"prefix":"10.1162","volume":"2","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-7588-6094","authenticated-orcid":true,"given":"Aidan","family":"Kelley","sequence":"first","affiliation":[{"name":"Washington University in St. Louis, St. Louis, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0454-7145","authenticated-orcid":true,"given":"Daniel","family":"Garijo","sequence":"additional","affiliation":[{"name":"Information Sciences Institute, University of Southern California, Los Angeles, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"281","published-online":{"date-parts":[[2021,12,1]]},"reference":[{"key":"2022040819221429000_bib1","article-title":"Graph4code: A machine interpretable knowledge graph for code","author":"Abdelaziz","year":"2020","journal-title":"arXiv preprint"},{"issue":"1","key":"2022040819221429000_bib2","doi-asserted-by":"publisher","first-page":"7","DOI":"10.1007\/s41781-018-0018-8","article-title":"A roadmap for HEP software and computing R&D for the 2020s","volume":"3","author":"Albrecht","year":"2019","journal-title":"Computing and Software for Big Science"},{"key":"2022040819221429000_bib3","author":"Awesome","year":".."},{"key":"2022040819221429000_bib4","author":"Binder","year":".."},{"key":"2022040819221429000_bib5","author":"BitBucket","year":".."},{"key":"2022040819221429000_bib6","article-title":"Knowledge graphs: New directions for knowledge representation on the semantic web (Dagstuhl Seminar 18371)","volume-title":"Dagstuhl reports","author":"Bonatti","year":"2019"},{"key":"2022040819221429000_bib7","volume-title":"RDF 1.1 turtle","author":"Carothers","year":"2014"},{"key":"2022040819221429000_bib8","doi-asserted-by":"publisher","DOI":"10.25495\/7gxk-rd71","volume-title":"Zenodo","author":"CERN & OpenAIRE","year":"2013"},{"key":"2022040819221429000_bib9","volume-title":"JSON-ld 1.1","author":"Champin","year":"2020"},{"key":"2022040819221429000_bib10","doi-asserted-by":"publisher","first-page":"127","DOI":"10.1007\/978-3-030-62466-8_9","article-title":"AI-KG: An automatically generated knowledge graph of artificial intelligence","volume-title":"International Semantic Web Conference","author":"Dess\u00ec","year":"2020"},{"key":"2022040819221429000_bib11","author":"DockerHub","year":".."},{"key":"2022040819221429000_bib12","author":"FAIR4RS","year":"..","journal-title":"FAIR for research software"},{"key":"2022040819221429000_bib13","author":"FigShare","year":".."},{"key":"2022040819221429000_bib14","doi-asserted-by":"publisher","first-page":"349","DOI":"10.1109\/eScience.2019.00046","article-title":"OKG-Soft: An open knowledge graph with machine readable scientific software metadata","volume-title":"15th International Conference on eScience (eScience)","author":"Garijo","year":"2019"},{"key":"2022040819221429000_bib15","doi-asserted-by":"publisher","first-page":"32","DOI":"10.1145\/2815833.2816955","article-title":"Ontosoft: Capturing scientific software metadata","volume-title":"Proceedings of the 8th International Conference on Knowledge Capture","author":"Gil","year":"2015"},{"key":"2022040819221429000_bib16","author":"GitHub","year":".."},{"key":"2022040819221429000_bib17","author":"GitLab","year":".."},{"key":"2022040819221429000_bib18","doi-asserted-by":"publisher","first-page":"384","DOI":"10.1145\/2597073.2597126","article-title":"Lean GHTorrent: GitHub data on demand","volume-title":"Proceedings of the 11th Working Conference on Mining Software Repositories","author":"Gousios","year":"2014"},{"issue":"2","key":"2022040819221429000_bib19","doi-asserted-by":"publisher","first-page":"44","DOI":"10.1145\/2844544","article-title":"Schema.org: Evolution of structured data on the web","volume":"59","author":"Guha","year":"2016","journal-title":"Communications of the ACM"},{"key":"2022040819221429000_bib20","volume-title":"Documenting your project in GitHub","author":"Guides","year":".."},{"key":"2022040819221429000_bib21","doi-asserted-by":"publisher","first-page":"171","DOI":"10.1016\/j.jss.2018.03.047","article-title":"Software search is not a science, even among scientists: A survey of how scientists and engineers find software","volume":"141","author":"Hucka","year":"2018","journal-title":"Journal of Systems and Software"},{"key":"2022040819221429000_bib22","article-title":"Codesearchnet challenge: Evaluating the state of semantic code search","author":"Husain","year":"2019","journal-title":"arXiv preprint"},{"key":"2022040819221429000_bib23","unstructured":"Ilyas, B., & Elkhalifa, I. (2016). Static code analysis: A systematic literature review and an industrial survey(Master\u2019s thesis). https:\/\/urn.kb.se\/resolve?urn=urn%3Anbn%3Ase%3Abth-12871"},{"key":"2022040819221429000_bib24","doi-asserted-by":"publisher","first-page":"243","DOI":"10.1145\/3360901.3364435","article-title":"Open research knowledge graph: Next generation infrastructure for semantic scholarly knowledge","volume-title":"Proceedings of the 10th International Conference on Knowledge Capture","author":"Jaradeh","year":"2019"},{"key":"2022040819221429000_bib25","doi-asserted-by":"publisher","DOI":"10.5063\/SCHEMA\/CODEMETA-2.0","volume-title":"CodeMeta: an exchange schema for software metadata","author":"Jones","year":"2017"},{"key":"2022040819221429000_bib26","doi-asserted-by":"publisher","DOI":"10.5281\/ZENODO.3956451","article-title":"SoSEN-KG: Knowledge graph dump for SoSEN: Software Search Engine","author":"Kelley","year":"2020","journal-title":"Zenodo"},{"key":"2022040819221429000_bib27","doi-asserted-by":"publisher","DOI":"10.5281\/ZENODO.4574224","article-title":"SOSEN-CLI first release","author":"Kelley","year":"2021","journal-title":"Zenodo"},{"issue":"1","key":"2022040819221429000_bib28","doi-asserted-by":"publisher","first-page":"37","DOI":"10.3233\/DS-190026","article-title":"Towards FAIR principles for research software","volume":"3","author":"Lamprecht","year":"2020","journal-title":"Data Science"},{"key":"2022040819221429000_bib29","volume-title":"Software for gravitational wave data","author":"LIGO-VIRGO","year":".."},{"issue":"OOPSLA","key":"2022040819221429000_bib30","doi-asserted-by":"publisher","DOI":"10.1145\/3360578","article-title":"Aroma: Code recommendation via structural code search","volume":"3","author":"Luan","year":"2019","journal-title":"Proceedings of ACM Programming Languages"},{"key":"2022040819221429000_bib31","doi-asserted-by":"publisher","DOI":"10.5281\/zenodo.3903646","article-title":"OpenAIRE research graph for research","author":"Manghi","year":"2020","journal-title":"Zenodo"},{"key":"2022040819221429000_bib32","doi-asserted-by":"publisher","first-page":"3032","DOI":"10.1109\/BigData47090.2019.9006447","article-title":"SoMEF: A framework for capturing scientific software metadata from its documentation","volume-title":"IEEE International Conference on Big Data","author":"Mao","year":"2019"},{"key":"2022040819221429000_bib33","doi-asserted-by":"publisher","DOI":"10.5281\/zenodo.4574207","article-title":"KnowledgeCaptureAndDiscovery\/somef: SOMEF 0.4.0","author":"Mao","year":"2020","journal-title":"Zenodo"},{"key":"2022040819221429000_bib34","doi-asserted-by":"publisher","DOI":"10.3115\/1075812.1075835","article-title":"The Penn treebank: Annotating predicate argument structure","volume-title":"HUMAN LANGUAGE TECHNOLOGY: Proceedings of a Workshop held at Plainsboro, New Jersey, March 8\u201311, 1994","author":"Marcus","year":"1994"},{"key":"2022040819221429000_bib35","author":"Maven Central Repository Search","year":".."},{"key":"2022040819221429000_bib36","volume-title":"RDF primer","author":"Miller","year":"2004"},{"issue":"11","key":"2022040819221429000_bib37","doi-asserted-by":"publisher","first-page":"39","DOI":"10.1145\/219717.219748","article-title":"Wordnet: A lexical database for English","volume":"38","author":"Miller","year":"1995","journal-title":"Communications of the ACM"},{"key":"2022040819221429000_bib38","doi-asserted-by":"publisher","first-page":"277","DOI":"10.1109\/SANER.2018.8330216","article-title":"Mining framework usage graphs from app corpora","volume-title":"2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering","author":"Mover","year":"2018"},{"key":"2022040819221429000_bib39","doi-asserted-by":"publisher","DOI":"10.5281\/zenodo.3250687","article-title":"A lightweight approach to research object data packaging","author":"\u00d3 Carrag\u00e1in","year":"2019","journal-title":"Zenodo"},{"key":"2022040819221429000_bib40","author":"OpenAIRE","year":".."},{"key":"2022040819221429000_bib41","author":"Papers with code","year":".."},{"key":"2022040819221429000_bib42","doi-asserted-by":"publisher","first-page":"3","DOI":"10.1016\/j.cageo.2012.04.002","article-title":"A component-based approach to integrated modeling in the geosciences: The design of CSDMS","volume":"53","author":"Peckham","year":"2013","journal-title":"Computers & Geosciences"},{"key":"2022040819221429000_bib43","first-page":"2825","article-title":"Scikit-learn: Machine learning in Python","volume":"12","author":"Pedregosa","year":"2011","journal-title":"Journal of Machine Learning Research"},{"issue":"11","key":"2022040819221429000_bib44","doi-asserted-by":"publisher","first-page":"e1002799","DOI":"10.1371\/journal.pcbi.1002799","article-title":"The PLOS computational biology software section","volume":"8","author":"Prli\u0107","year":"2012","journal-title":"PLOS Computational Biology"},{"key":"2022040819221429000_bib45","author":"pydeps: Python module dependency visualization","year":".."},{"key":"2022040819221429000_bib46","author":"Pypi: The python package index","year":".."},{"key":"2022040819221429000_bib47","volume-title":"Defining N-ary relations on the semantic web","author":"Rector","year":"2006"},{"key":"2022040819221429000_bib48","doi-asserted-by":"publisher","first-page":"1646","DOI":"10.1109\/ICSE43902.2021.00146","article-title":"PyCG: Practical call graph generation in Python","volume-title":"2021 IEEE\/ACM 43rd International Conference on Software Engineering (ICSE)","author":"Salis","year":"2021"},{"key":"2022040819221429000_bib49","author":"Scientific Paper of the Future Initiative","year":".."},{"key":"2022040819221429000_bib50","doi-asserted-by":"publisher","DOI":"10.5281\/ZENODO.3406497","volume-title":"RO-Crate Metadata Specification 1.1","author":"Sefton","year":"2021"},{"key":"2022040819221429000_bib51","doi-asserted-by":"publisher","first-page":"54","DOI":"10.1016\/j.ascom.2013.04.001","article-title":"Practices in source code sharing in astrophysics","volume":"1","author":"Shamir","year":"2013","journal-title":"Astronomy and Computing"},{"key":"2022040819221429000_bib52","doi-asserted-by":"publisher","first-page":"e86","DOI":"10.7717\/peerj-cs.86","article-title":"Software citation principles","volume":"2","author":"Smith","year":"2016","journal-title":"PeerJ Computer Science"},{"key":"2022040819221429000_bib53","author":"Software Carpentry","year":".."},{"key":"2022040819221429000_bib54","author":"Software Heritage","year":".."},{"key":"2022040819221429000_bib55","author":"Software Sustainability Institute","year":".."},{"key":"2022040819221429000_bib56","doi-asserted-by":"publisher","first-page":"81","DOI":"10.1145\/3379597.3387448","article-title":"AIMMX: Artificial Intelligence Model Metadata Extractor","volume-title":"Proceedings of the 17th International Conference on Mining Software Repositories","author":"Tsay","year":"2020"},{"key":"2022040819221429000_bib57","volume-title":"US Geological Survey: Software for Water Resources Applications","author":"USGS","year":".."},{"issue":"2","key":"2022040819221429000_bib58","doi-asserted-by":"publisher","first-page":"49","DOI":"10.1145\/2641190.2641198","article-title":"OpenML: Networked science in machine learning","volume":"15","author":"Vanschoren","year":"2013","journal-title":"SIGKDD Explorations"},{"issue":"10","key":"2022040819221429000_bib59","doi-asserted-by":"publisher","first-page":"78","DOI":"10.1145\/2629489","article-title":"Wikidata: A free collaborative knowledge base","volume":"57","author":"Vrande\u010di\u0107","year":"2014","journal-title":"Communications of the ACM"},{"key":"2022040819221429000_bib60","doi-asserted-by":"publisher","first-page":"160018","DOI":"10.1038\/sdata.2016.18","article-title":"The FAIR Guiding Principles for scientific data management and stewardship","volume":"3","author":"Wilkinson","year":"2016","journal-title":"Scientific Data"}],"container-title":["Quantitative Science Studies"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/direct.mit.edu\/qss\/article-pdf\/2\/4\/1423\/2007844\/qss_a_00167.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/direct.mit.edu\/qss\/article-pdf\/2\/4\/1423\/2007844\/qss_a_00167.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,4,8]],"date-time":"2022-04-08T19:22:38Z","timestamp":1649445758000},"score":1,"resource":{"primary":{"URL":"https:\/\/direct.mit.edu\/qss\/article\/2\/4\/1423\/108045\/A-framework-for-creating-knowledge-graphs-of"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021]]},"references-count":60,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2021,12,1]]}},"URL":"https:\/\/doi.org\/10.1162\/qss_a_00167","relation":{},"ISSN":["2641-3337"],"issn-type":[{"value":"2641-3337","type":"electronic"}],"subject":[],"published-other":{"date-parts":[[2021]]},"published":{"date-parts":[[2021]]}}}