{"generator":"Jekyll","link":[{"@attributes":{"href":"https:\/\/cthoyt.com\/feed.xml","rel":"self","type":"application\/atom+xml"}},{"@attributes":{"href":"https:\/\/cthoyt.com\/","rel":"alternate","type":"text\/html"}}],"updated":"2026-08-11T07:27:35+00:00","id":"https:\/\/cthoyt.com\/feed.xml","title":"Biopragmatics","subtitle":"Unraveling complex biology with biological knowledge graphs. Content licensed under CC BY 4.0.\n","author":{"name":"Charles Tapley Hoyt"},"entry":[{"title":"Mapping from SSSOM to OWL","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2026\/08\/07\/sssom-to-owl.html","rel":"alternate","type":"text\/html","title":"Mapping from SSSOM to OWL"}},"published":"2026-08-07T11:59:00+00:00","updated":"2026-08-07T11:59:00+00:00","id":"https:\/\/cthoyt.com\/2026\/08\/07\/sssom-to-owl","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"SSSOM"}},{"@attributes":{"term":"ontologies"}},{"@attributes":{"term":"OWL"}},{"@attributes":{"term":"semantic mappings"}},{"@attributes":{"term":"OFN"}},{"@attributes":{"term":"functional OWL"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Standards Don\u2019t Succeed Without Community Work","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2026\/08\/07\/standards-need-community-work.html","rel":"alternate","type":"text\/html","title":"Standards Don\u2019t Succeed Without Community Work"}},"published":"2026-08-07T07:14:00+00:00","updated":"2026-08-07T07:14:00+00:00","id":"https:\/\/cthoyt.com\/2026\/08\/07\/standards-need-community-work","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"knowledge graphs"}},{"@attributes":{"term":"community building"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"LLM Notes and Policies","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2026\/07\/18\/llm-notes.html","rel":"alternate","type":"text\/html","title":"LLM Notes and Policies"}},"published":"2026-07-18T12:47:00+00:00","updated":"2026-07-18T12:47:00+00:00","id":"https:\/\/cthoyt.com\/2026\/07\/18\/llm-notes","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"large language models"}},{"@attributes":{"term":"generative artificial intelligence"}},{"@attributes":{"term":"generative AI"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Comparing manually curated semantic mappings in SSSOM","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2026\/06\/19\/comparing-sssom.html","rel":"alternate","type":"text\/html","title":"Comparing manually curated semantic mappings in SSSOM"}},"published":"2026-06-19T12:47:00+00:00","updated":"2026-06-19T12:47:00+00:00","id":"https:\/\/cthoyt.com\/2026\/06\/19\/comparing-sssom","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"SSSOM"}},{"@attributes":{"term":"semantic mappings"}},{"@attributes":{"term":"biocuration"}},{"@attributes":{"term":"curator agreement"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"A practical approach to translate OWL to SKOS","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2026\/06\/03\/owl-to-skos.html","rel":"alternate","type":"text\/html","title":"A practical approach to translate OWL to SKOS"}},"published":"2026-06-03T10:11:00+00:00","updated":"2026-06-03T10:11:00+00:00","id":"https:\/\/cthoyt.com\/2026\/06\/03\/owl-to-skos","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"OWL"}},{"@attributes":{"term":"SKOS"}},{"@attributes":{"term":"PyOBO"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Transparent provenance for derived semantic mappings in SSSOM","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2026\/05\/29\/sssom-derived-from.html","rel":"alternate","type":"text\/html","title":"Transparent provenance for derived semantic mappings in SSSOM"}},"published":"2026-05-29T10:11:00+00:00","updated":"2026-05-29T10:11:00+00:00","id":"https:\/\/cthoyt.com\/2026\/05\/29\/sssom-derived-from","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"SSSOM"}},{"@attributes":{"term":"semantic mappings"}},{"@attributes":{"term":"Biomappings"}},{"@attributes":{"term":"ChEBI"}},{"@attributes":{"term":"SEMAPV"}},{"@attributes":{"term":"cas"}},{"@attributes":{"term":"Medical Subject Headings"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Discussions at the 7th NFDI4Chem Consortium Meeting","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2026\/05\/18\/nfdi4chem-7th-consortium-meeting.html","rel":"alternate","type":"text\/html","title":"Discussions at the 7th NFDI4Chem Consortium Meeting"}},"published":"2026-05-18T14:51:00+00:00","updated":"2026-05-18T14:51:00+00:00","id":"https:\/\/cthoyt.com\/2026\/05\/18\/nfdi4chem-7th-consortium-meeting","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"NFDI"}},{"@attributes":{"term":"NFDI4Chem"}},{"@attributes":{"term":"chemistry"}},{"@attributes":{"term":"SSSOM"}},{"@attributes":{"term":"Chemotion"}},{"@attributes":{"term":"semantic mappings"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"International Society of Biocuration Presents: Curate This!","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2026\/03\/03\/curate-this.html","rel":"alternate","type":"text\/html","title":"International Society of Biocuration Presents: Curate This!"}},"published":"2026-03-03T10:13:00+00:00","updated":"2026-03-03T10:13:00+00:00","id":"https:\/\/cthoyt.com\/2026\/03\/03\/curate-this","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"International Society of Biocuration"}},{"@attributes":{"term":"curation"}},{"@attributes":{"term":"biocuration"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Efficient Bulk Access to Citations in OpenCitations","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2026\/02\/10\/opencitations-client.html","rel":"alternate","type":"text\/html","title":"Efficient Bulk Access to Citations in OpenCitations"}},"published":"2026-02-10T09:46:00+00:00","updated":"2026-02-10T09:46:00+00:00","id":"https:\/\/cthoyt.com\/2026\/02\/10\/opencitations-client","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"bibliometrics"}},{"@attributes":{"term":"citations"}},{"@attributes":{"term":"citation networks"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Challenges with Semantic Mappings","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2026\/01\/20\/semantic-mapping-challenges.html","rel":"alternate","type":"text\/html","title":"Challenges with Semantic Mappings"}},"published":"2026-01-20T10:42:00+00:00","updated":"2026-01-20T10:42:00+00:00","id":"https:\/\/cthoyt.com\/2026\/01\/20\/semantic-mapping-challenges","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"SSSOM"}},{"@attributes":{"term":"semantic mappings"}},{"@attributes":{"term":"knowledge graphs"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Semantic Mappings Enable Automated Assembly","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2026\/01\/16\/mappings-for-automated-assembly.html","rel":"alternate","type":"text\/html","title":"Semantic Mappings Enable Automated Assembly"}},"published":"2026-01-16T10:42:00+00:00","updated":"2026-01-16T10:42:00+00:00","id":"https:\/\/cthoyt.com\/2026\/01\/16\/mappings-for-automated-assembly","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"SSSOM"}},{"@attributes":{"term":"semantic mappings"}},{"@attributes":{"term":"knowledge graphs"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Mapping from SSSOM to JSKOS","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2026\/01\/15\/sssom-to-jskos.html","rel":"alternate","type":"text\/html","title":"Mapping from SSSOM to JSKOS"}},"published":"2026-01-15T10:42:00+00:00","updated":"2026-01-15T10:42:00+00:00","id":"https:\/\/cthoyt.com\/2026\/01\/15\/sssom-to-jskos","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"SSSOM"}},{"@attributes":{"term":"SKOS"}},{"@attributes":{"term":"semantic mappings"}},{"@attributes":{"term":"mappings"}},{"@attributes":{"term":"interoperability"}},{"@attributes":{"term":"JSKOS"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Mapping from SSSOM to Wikidata","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2026\/01\/08\/sssom-to-wikidata.html","rel":"alternate","type":"text\/html","title":"Mapping from SSSOM to Wikidata"}},"published":"2026-01-08T15:47:00+00:00","updated":"2026-01-08T15:47:00+00:00","id":"https:\/\/cthoyt.com\/2026\/01\/08\/sssom-to-wikidata","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"SSSOM"}},{"@attributes":{"term":"Wikidata"}},{"@attributes":{"term":"SKOS"}},{"@attributes":{"term":"semantic mappings"}},{"@attributes":{"term":"mappings"}},{"@attributes":{"term":"interoperability"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Validating Prefix Maps in LinkML Schemas","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2026\/01\/06\/bioregistry-linkml-validation.html","rel":"alternate","type":"text\/html","title":"Validating Prefix Maps in LinkML Schemas"}},"published":"2026-01-06T09:36:00+00:00","updated":"2026-01-06T09:36:00+00:00","id":"https:\/\/cthoyt.com\/2026\/01\/06\/bioregistry-linkml-validation","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"LinkML"}},{"@attributes":{"term":"Bioregistry"}},{"@attributes":{"term":"prefix maps"}},{"@attributes":{"term":"CURIEs"}},{"@attributes":{"term":"URIs"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Books I Read in 2025","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2026\/01\/01\/books-in-2025.html","rel":"alternate","type":"text\/html","title":"Books I Read in 2025"}},"published":"2026-01-01T21:22:00+00:00","updated":"2026-01-01T21:22:00+00:00","id":"https:\/\/cthoyt.com\/2026\/01\/01\/books-in-2025","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"books"}},"summary":{"@attributes":{"type":"html"}}},{"title":"Annotating the Literature with Named Entity Recognition","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/12\/19\/annotating-the-literature-demo.html","rel":"alternate","type":"text\/html","title":"Annotating the Literature with Named Entity Recognition"}},"published":"2025-12-19T09:01:00+00:00","updated":"2025-12-19T09:01:00+00:00","id":"https:\/\/cthoyt.com\/2025\/12\/19\/annotating-the-literature-demo","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"named entity recognition"}},{"@attributes":{"term":"text mining"}},{"@attributes":{"term":"natural language processing"}},{"@attributes":{"term":"named entity normalization"}},{"@attributes":{"term":"medical subject headings"}},{"@attributes":{"term":"MeSH"}},{"@attributes":{"term":"PubMed"}},{"@attributes":{"term":"PyOBO"}},{"@attributes":{"term":"SSSLM"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Machine-Actionable Training Materials at BioHackathon Germany 2025","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/12\/09\/biohackathon-de-2025.html","rel":"alternate","type":"text\/html","title":"Machine-Actionable Training Materials at BioHackathon Germany 2025"}},"published":"2025-12-09T11:08:00+00:00","updated":"2025-12-09T11:08:00+00:00","id":"https:\/\/cthoyt.com\/2025\/12\/09\/biohackathon-de-2025","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"LinkML"}},{"@attributes":{"term":"Bioregistry"}},{"@attributes":{"term":"prefix maps"}},{"@attributes":{"term":"CURIEs"}},{"@attributes":{"term":"URIs"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Extracting Semantic Mappings from BioPortal in SSSOM","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/11\/23\/sssom-from-bioportal.html","rel":"alternate","type":"text\/html","title":"Extracting Semantic Mappings from BioPortal in SSSOM"}},"published":"2025-11-23T11:08:00+00:00","updated":"2025-11-23T11:08:00+00:00","id":"https:\/\/cthoyt.com\/2025\/11\/23\/sssom-from-bioportal","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"BioPortal"}},{"@attributes":{"term":"OntoPortal"}},{"@attributes":{"term":"SSSOM"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Databases as Ontologies Part 1 - Background and Software","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/10\/14\/databases-as-ontologies-1-background.html","rel":"alternate","type":"text\/html","title":"Databases as Ontologies Part 1 - Background and Software"}},"published":"2025-10-14T08:14:00+00:00","updated":"2025-10-14T08:14:00+00:00","id":"https:\/\/cthoyt.com\/2025\/10\/14\/databases-as-ontologies-1-background","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"ontology"}},{"@attributes":{"term":"OWL"}},{"@attributes":{"term":"genes"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Databases as Ontologies Part 2 - A Case Study with HGNC","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/10\/14\/databases-as-ontologies-2-hgnc.html","rel":"alternate","type":"text\/html","title":"Databases as Ontologies Part 2 - A Case Study with HGNC"}},"published":"2025-10-14T08:14:00+00:00","updated":"2025-10-14T08:14:00+00:00","id":"https:\/\/cthoyt.com\/2025\/10\/14\/databases-as-ontologies-2-hgnc","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"ontology"}},{"@attributes":{"term":"OWL"}},{"@attributes":{"term":"genes"}},{"@attributes":{"term":"HGNC"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Bridging NFDI\u2019s culture and chemistry knowledge graphs","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/10\/07\/bridging-culture-and-chemistry.html","rel":"alternate","type":"text\/html","title":"Bridging NFDI\u2019s culture and chemistry knowledge graphs"}},"published":"2025-10-07T21:18:00+00:00","updated":"2025-10-07T21:18:00+00:00","id":"https:\/\/cthoyt.com\/2025\/10\/07\/bridging-culture-and-chemistry","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"knowledge graphs"}},{"@attributes":{"term":"SPARQL"}},{"@attributes":{"term":"chemistry"}},{"@attributes":{"term":"culture"}},{"@attributes":{"term":"cultural heritage"}},{"@attributes":{"term":"NFDI"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Representing Negative Knowledge","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/10\/07\/negative-rdf.html","rel":"alternate","type":"text\/html","title":"Representing Negative Knowledge"}},"published":"2025-10-07T21:18:00+00:00","updated":"2025-10-07T21:18:00+00:00","id":"https:\/\/cthoyt.com\/2025\/10\/07\/negative-rdf","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"knowledge graphs"}},"summary":{"@attributes":{"type":"html"}}},{"title":"Suggesting new relations in ROR from Wikidata","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/09\/25\/enriching-ror-with-wikidata.html","rel":"alternate","type":"text\/html","title":"Suggesting new relations in ROR from Wikidata"}},"published":"2025-09-25T15:35:00+00:00","updated":"2025-09-25T15:35:00+00:00","id":"https:\/\/cthoyt.com\/2025\/09\/25\/enriching-ror-with-wikidata","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"ROR"}},{"@attributes":{"term":"Wikidata"}},{"@attributes":{"term":"organizations"}},{"@attributes":{"term":"bibliometrics"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Switching from using Tox to Just","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/09\/21\/tox-to-just.html","rel":"alternate","type":"text\/html","title":"Switching from using Tox to Just"}},"published":"2025-09-21T09:21:00+00:00","updated":"2025-09-21T09:21:00+00:00","id":"https:\/\/cthoyt.com\/2025\/09\/21\/tox-to-just","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"packaging"}},{"@attributes":{"term":"Python"}},{"@attributes":{"term":"Tox"}},{"@attributes":{"term":"just"}},{"@attributes":{"term":"snekpack"}},{"@attributes":{"term":"automation"}},{"@attributes":{"term":"CI\/CD"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Exploring an unfamiliar SPARQL endpoint with the Bioregistry - a case study from NFDI4Culture","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/09\/11\/nfdi4culture-prefix-validation.html","rel":"alternate","type":"text\/html","title":"Exploring an unfamiliar SPARQL endpoint with the Bioregistry - a case study from NFDI4Culture"}},"published":"2025-09-11T10:26:00+00:00","updated":"2025-09-11T10:26:00+00:00","id":"https:\/\/cthoyt.com\/2025\/09\/11\/nfdi4culture-prefix-validation","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"NFDI"}},{"@attributes":{"term":"SPARQL"}},{"@attributes":{"term":"Bioregistry"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Validating the FAIRness of knowledge graphs and ontologies in RDF using the Bioregistry","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/09\/04\/bioregistry-turtle-validation.html","rel":"alternate","type":"text\/html","title":"Validating the FAIRness of knowledge graphs and ontologies in RDF using the Bioregistry"}},"published":"2025-09-04T12:30:00+00:00","updated":"2025-09-04T12:30:00+00:00","id":"https:\/\/cthoyt.com\/2025\/09\/04\/bioregistry-turtle-validation","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"CURIEs"}},{"@attributes":{"term":"URIs"}},{"@attributes":{"term":"URNs"}},{"@attributes":{"term":"IRIs"}},{"@attributes":{"term":"identifiers"}},{"@attributes":{"term":"identifier schema"}},{"@attributes":{"term":"Bioregistry"}},{"@attributes":{"term":"biopragmatics"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"A historical analysis of ChEMBL","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/08\/26\/chembl-history.html","rel":"alternate","type":"text\/html","title":"A historical analysis of ChEMBL"}},"published":"2025-08-26T15:44:00+00:00","updated":"2025-08-26T15:44:00+00:00","id":"https:\/\/cthoyt.com\/2025\/08\/26\/chembl-history","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"ChEMBL"}},{"@attributes":{"term":"cheminformatics"}},{"@attributes":{"term":"chemistry"}},{"@attributes":{"term":"bibliometrics"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Measuring the impact of the Bioregistry","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/08\/22\/bioregistry-impact.html","rel":"alternate","type":"text\/html","title":"Measuring the impact of the Bioregistry"}},"published":"2025-08-22T14:54:00+00:00","updated":"2025-08-22T14:54:00+00:00","id":"https:\/\/cthoyt.com\/2025\/08\/22\/bioregistry-impact","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"CURIEs"}},{"@attributes":{"term":"URIs"}},{"@attributes":{"term":"URNs"}},{"@attributes":{"term":"IRIs"}},{"@attributes":{"term":"identifiers"}},{"@attributes":{"term":"identifier schema"}},{"@attributes":{"term":"Bioregistry"}},{"@attributes":{"term":"biopragmatics"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"The Bioregistry and BiomarkerKB","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/08\/22\/bioregistry-and-biomarkerkb.html","rel":"alternate","type":"text\/html","title":"The Bioregistry and BiomarkerKB"}},"published":"2025-08-22T08:32:00+00:00","updated":"2025-08-22T08:32:00+00:00","id":"https:\/\/cthoyt.com\/2025\/08\/22\/bioregistry-and-biomarkerkb","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"biomarker"}},{"@attributes":{"term":"semantic spaces"}},{"@attributes":{"term":"Bioregistry"}},{"@attributes":{"term":"BiomarkerKB"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Text-based embeddings of ontology terms","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/08\/04\/ontology-text-embeddings.html","rel":"alternate","type":"text\/html","title":"Text-based embeddings of ontology terms"}},"published":"2025-08-04T08:32:00+00:00","updated":"2025-08-04T08:32:00+00:00","id":"https:\/\/cthoyt.com\/2025\/08\/04\/ontology-text-embeddings","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"ontology"}},{"@attributes":{"term":"embeddings"}},{"@attributes":{"term":"bert"}},{"@attributes":{"term":"sbert"}},{"@attributes":{"term":"similarity"}},{"@attributes":{"term":"cosine similarity"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Inference over Semantic Mappings with SeMRA","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/04\/28\/inference-with-semra.html","rel":"alternate","type":"text\/html","title":"Inference over Semantic Mappings with SeMRA"}},"published":"2025-04-28T13:17:00+00:00","updated":"2025-04-28T13:17:00+00:00","id":"https:\/\/cthoyt.com\/2025\/04\/28\/inference-with-semra","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"ontology merging"}},{"@attributes":{"term":"semantic web"}},{"@attributes":{"term":"semantic mappings"}},{"@attributes":{"term":"bioinformatics"}},{"@attributes":{"term":"ontologies"}},{"@attributes":{"term":"controlled vocabularies"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"I wish I could unpack Callables in Python type annotations","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/04\/23\/python-wish-unpacking-callable.html","rel":"alternate","type":"text\/html","title":"I wish I could unpack Callables in Python type annotations"}},"published":"2025-04-23T13:23:00+00:00","updated":"2025-04-23T13:23:00+00:00","id":"https:\/\/cthoyt.com\/2025\/04\/23\/python-wish-unpacking-callable","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"Python"}},{"@attributes":{"term":"mypy"}},{"@attributes":{"term":"static typing"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Using ParamSpec with Python Generics","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/04\/22\/python-generic-with-paramspec.html","rel":"alternate","type":"text\/html","title":"Using ParamSpec with Python Generics"}},"published":"2025-04-22T08:31:00+00:00","updated":"2025-04-22T08:31:00+00:00","id":"https:\/\/cthoyt.com\/2025\/04\/22\/python-generic-with-paramspec","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"Python"}},{"@attributes":{"term":"mypy"}},{"@attributes":{"term":"static typing"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"A dilemma with PEP-696 default generics when using optional static typing in Python","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/04\/19\/python-default-typing-dilemma.html","rel":"alternate","type":"text\/html","title":"A dilemma with PEP-696 default generics when using optional static typing in Python"}},"published":"2025-04-19T15:45:00+00:00","updated":"2025-04-19T15:45:00+00:00","id":"https:\/\/cthoyt.com\/2025\/04\/19\/python-default-typing-dilemma","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"Python"}},{"@attributes":{"term":"mypy"}},{"@attributes":{"term":"static typing"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"The EFO_ID column in ChEMBL\u2019s drug indications table isn\u2019t what you think it is","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/04\/17\/chembl-indications-efo-exploration.html","rel":"alternate","type":"text\/html","title":"The EFO_ID column in ChEMBL\u2019s drug indications table isn\u2019t what you think it is"}},"published":"2025-04-17T16:42:00+00:00","updated":"2025-04-17T16:42:00+00:00","id":"https:\/\/cthoyt.com\/2025\/04\/17\/chembl-indications-efo-exploration","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"ChEBI"}},{"@attributes":{"term":"ChEMBL"}},{"@attributes":{"term":"UBERON"}},{"@attributes":{"term":"Experimental Factor Ontology"}},{"@attributes":{"term":"EFO"}},{"@attributes":{"term":"GO"}},{"@attributes":{"term":"Gene Ontology"}},{"@attributes":{"term":"clinical trials"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Data Modeling and Integration with Clinical Trials","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/01\/23\/clinical-trials-data-modeling.html","rel":"alternate","type":"text\/html","title":"Data Modeling and Integration with Clinical Trials"}},"published":"2025-01-23T18:23:00+00:00","updated":"2025-01-23T18:23:00+00:00","id":"https:\/\/cthoyt.com\/2025\/01\/23\/clinical-trials-data-modeling","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"clinical trials"}},{"@attributes":{"term":"ClinicalTrials.gov"}},{"@attributes":{"term":"ontologies"}},{"@attributes":{"term":"OBI"}},{"@attributes":{"term":"ChEBI"}},{"@attributes":{"term":"Disease Ontology"}},{"@attributes":{"term":"reproducibility"}},{"@attributes":{"term":"data integration"}},{"@attributes":{"term":"knowledge graphs"}},{"@attributes":{"term":"graph database"}},{"@attributes":{"term":"graph query"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Books I Read in 2024","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/01\/18\/books-in-2024.html","rel":"alternate","type":"text\/html","title":"Books I Read in 2024"}},"published":"2025-01-18T08:33:00+00:00","updated":"2025-01-18T08:33:00+00:00","id":"https:\/\/cthoyt.com\/2025\/01\/18\/books-in-2024","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"books"}},"summary":{"@attributes":{"type":"html"}}},{"title":"Exploring Event Venues in Wikidata","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2025\/01\/17\/event-venues-in-wikidata.html","rel":"alternate","type":"text\/html","title":"Exploring Event Venues in Wikidata"}},"published":"2025-01-17T17:08:00+00:00","updated":"2025-01-17T17:08:00+00:00","id":"https:\/\/cthoyt.com\/2025\/01\/17\/event-venues-in-wikidata","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"Wikidata"}},{"@attributes":{"term":"bibliometrics"}},{"@attributes":{"term":"open data"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Notes on Open Source Funding","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2024\/12\/03\/open-source-funding.html","rel":"alternate","type":"text\/html","title":"Notes on Open Source Funding"}},"published":"2024-12-03T17:08:00+00:00","updated":"2024-12-03T17:08:00+00:00","id":"https:\/\/cthoyt.com\/2024\/12\/03\/open-source-funding","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"funding"}},{"@attributes":{"term":"open source"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Downloading Audio from Soundcloud","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2024\/12\/03\/opus-to-m4b.html","rel":"alternate","type":"text\/html","title":"Downloading Audio from Soundcloud"}},"published":"2024-12-03T09:11:00+00:00","updated":"2024-12-03T09:11:00+00:00","id":"https:\/\/cthoyt.com\/2024\/12\/03\/opus-to-m4b","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"reading"}},{"@attributes":{"term":"automation"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Dependency Groups and ReadTheDocs","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2024\/11\/19\/rtfd-dependency-groups.html","rel":"alternate","type":"text\/html","title":"Dependency Groups and ReadTheDocs"}},"published":"2024-11-19T11:39:00+00:00","updated":"2024-11-19T11:39:00+00:00","id":"https:\/\/cthoyt.com\/2024\/11\/19\/rtfd-dependency-groups","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"Python"}},{"@attributes":{"term":"packaging"}},{"@attributes":{"term":"Cookiecutter"}},{"@attributes":{"term":"documentation"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Building Graphviz when installing PyGraphviz","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2024\/11\/05\/installing-pygraphviz.html","rel":"alternate","type":"text\/html","title":"Building Graphviz when installing PyGraphviz"}},"published":"2024-11-05T06:48:00+00:00","updated":"2024-11-05T06:48:00+00:00","id":"https:\/\/cthoyt.com\/2024\/11\/05\/installing-pygraphviz","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"Python"}},{"@attributes":{"term":"GraphViz"}},{"@attributes":{"term":"environments"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Some Haskell I Tried to Write","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2024\/09\/26\/some-haskell.html","rel":"alternate","type":"text\/html","title":"Some Haskell I Tried to Write"}},"published":"2024-09-26T10:49:00+00:00","updated":"2024-09-26T10:49:00+00:00","id":"https:\/\/cthoyt.com\/2024\/09\/26\/some-haskell","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"Haskell"}},{"@attributes":{"term":"JATS"}},{"@attributes":{"term":"publishing"}},{"@attributes":{"term":"Pandoc"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Programmatic Access to a Wordpress User List","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2024\/09\/20\/wordpress-api.html","rel":"alternate","type":"text\/html","title":"Programmatic Access to a Wordpress User List"}},"published":"2024-09-20T10:31:00+00:00","updated":"2024-09-20T10:31:00+00:00","id":"https:\/\/cthoyt.com\/2024\/09\/20\/wordpress-api","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"Wordpress"}},{"@attributes":{"term":"Python"}},{"@attributes":{"term":"PHP"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Easier ORCID","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2024\/06\/08\/easy-orcid.html","rel":"alternate","type":"text\/html","title":"Easier ORCID"}},"published":"2024-06-08T11:33:00+00:00","updated":"2024-06-08T11:33:00+00:00","id":"https:\/\/cthoyt.com\/2024\/06\/08\/easy-orcid","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"ORCID"}},{"@attributes":{"term":"bibliometrics"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Discussions and Follow-ups from Biocuration 2024","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2024\/03\/11\/biocuration2024-discussions.html","rel":"alternate","type":"text\/html","title":"Discussions and Follow-ups from Biocuration 2024"}},"published":"2024-03-11T13:52:00+00:00","updated":"2024-03-11T13:52:00+00:00","id":"https:\/\/cthoyt.com\/2024\/03\/11\/biocuration2024-discussions","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"International Society of Biocuration"}},{"@attributes":{"term":"biocuration"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Semantic Pydantic","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2024\/01\/10\/semantic-pydantic.html","rel":"alternate","type":"text\/html","title":"Semantic Pydantic"}},"published":"2024-01-10T13:38:00+00:00","updated":"2024-01-10T13:38:00+00:00","id":"https:\/\/cthoyt.com\/2024\/01\/10\/semantic-pydantic","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"Bioregistry"}},{"@attributes":{"term":"semantic web"}},{"@attributes":{"term":"Pydantic"}},{"@attributes":{"term":"FastAPI"}},{"@attributes":{"term":"Python"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Books I Read in 2023","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2024\/01\/01\/books-in-2023.html","rel":"alternate","type":"text\/html","title":"Books I Read in 2023"}},"published":"2024-01-01T21:22:00+00:00","updated":"2024-01-01T21:22:00+00:00","id":"https:\/\/cthoyt.com\/2024\/01\/01\/books-in-2023","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"books"}},"summary":{"@attributes":{"type":"html"}}},{"title":"Unlocking UMLS","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2023\/09\/01\/umls.html","rel":"alternate","type":"text\/html","title":"Unlocking UMLS"}},"published":"2023-09-01T08:00:00+00:00","updated":"2023-09-01T08:00:00+00:00","id":"https:\/\/cthoyt.com\/2023\/09\/01\/umls","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"UMLS"}},{"@attributes":{"term":"reproducibility"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Reproducibility Pilot in the Journal of Cheminformatics","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2023\/08\/27\/jcheminf-reproducibility-pilot.html","rel":"alternate","type":"text\/html","title":"Reproducibility Pilot in the Journal of Cheminformatics"}},"published":"2023-08-27T08:00:00+00:00","updated":"2023-08-27T08:00:00+00:00","id":"https:\/\/cthoyt.com\/2023\/08\/27\/jcheminf-reproducibility-pilot","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"cheminformatics"}},{"@attributes":{"term":"reproducibility"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Querying Journals and Publishers in Wikidata","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2023\/06\/22\/wikidata-publishers.html","rel":"alternate","type":"text\/html","title":"Querying Journals and Publishers in Wikidata"}},"published":"2023-06-22T17:00:23+00:00","updated":"2023-06-22T17:00:23+00:00","id":"https:\/\/cthoyt.com\/2023\/06\/22\/wikidata-publishers","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"Wikidata"}},{"@attributes":{"term":"bibliometrics"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Modeling and Querying Awards in Wikidata","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2023\/06\/08\/wikidata-awards.html","rel":"alternate","type":"text\/html","title":"Modeling and Querying Awards in Wikidata"}},"published":"2023-06-08T10:09:23+00:00","updated":"2023-06-08T10:09:23+00:00","id":"https:\/\/cthoyt.com\/2023\/06\/08\/wikidata-awards","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"Wikidata"}},{"@attributes":{"term":"bibliometrics"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Re-implementing the N2T ARK Resolver","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2023\/04\/11\/n2t-ark-resolver.html","rel":"alternate","type":"text\/html","title":"Re-implementing the N2T ARK Resolver"}},"published":"2023-04-11T18:44:23+00:00","updated":"2023-04-11T18:44:23+00:00","id":"https:\/\/cthoyt.com\/2023\/04\/11\/n2t-ark-resolver","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"CURIEs"}},{"@attributes":{"term":"ARKs"}},{"@attributes":{"term":"N2T"}},{"@attributes":{"term":"PIDs"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"The Representatives of Monkey Jack - German Battle of the Bands Finale","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2023\/03\/29\/monkey-jack-lmh.html","rel":"alternate","type":"text\/html","title":"The Representatives of Monkey Jack - German Battle of the Bands Finale"}},"published":"2023-03-29T19:33:23+00:00","updated":"2023-03-29T19:33:23+00:00","id":"https:\/\/cthoyt.com\/2023\/03\/29\/monkey-jack-lmh","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"music"}},"summary":{"@attributes":{"type":"html"}}},{"title":"Resources masquerading as OBO Foundry ontologies","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2023\/03\/11\/obolibrary-masquerade.html","rel":"alternate","type":"text\/html","title":"Resources masquerading as OBO Foundry ontologies"}},"published":"2023-03-11T23:11:23+00:00","updated":"2023-03-11T23:11:23+00:00","id":"https:\/\/cthoyt.com\/2023\/03\/11\/obolibrary-masquerade","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"Bioregistry"}},{"@attributes":{"term":"OBO"}},{"@attributes":{"term":"ontologies"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Compliance of Bioregistry Prefixes to the W3C Standard","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2023\/01\/11\/bioregistry-w3c-compliance.html","rel":"alternate","type":"text\/html","title":"Compliance of Bioregistry Prefixes to the W3C Standard"}},"published":"2023-01-11T23:17:00+00:00","updated":"2023-01-11T23:17:00+00:00","id":"https:\/\/cthoyt.com\/2023\/01\/11\/bioregistry-w3c-compliance","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"Bioregistry"}},{"@attributes":{"term":"prefixes"}},{"@attributes":{"term":"W3C"}},{"@attributes":{"term":"Python"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Idiomatic conversion between URIs and compact URIs","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2023\/01\/10\/curies-package.html","rel":"alternate","type":"text\/html","title":"Idiomatic conversion between URIs and compact URIs"}},"published":"2023-01-10T12:28:00+00:00","updated":"2023-01-10T12:28:00+00:00","id":"https:\/\/cthoyt.com\/2023\/01\/10\/curies-package","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"semantic web"}},{"@attributes":{"term":"CURIEs"}},{"@attributes":{"term":"prefixes"}},{"@attributes":{"term":"IRIs"}},{"@attributes":{"term":"URIs"}},{"@attributes":{"term":"Python"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Long-term Funding for Small Biomedical Databases","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2023\/01\/04\/small-website-grant-idea.html","rel":"alternate","type":"text\/html","title":"Long-term Funding for Small Biomedical Databases"}},"published":"2023-01-04T15:32:00+00:00","updated":"2023-01-04T15:32:00+00:00","id":"https:\/\/cthoyt.com\/2023\/01\/04\/small-website-grant-idea","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"funding"}},{"@attributes":{"term":"longevity"}},{"@attributes":{"term":"sustainability"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Promoting the longevity of curated scientific resources through open code, open data, and public infrastructure","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2023\/01\/03\/biocuration2023-abstract.html","rel":"alternate","type":"text\/html","title":"Promoting the longevity of curated scientific resources through open code, open data, and public infrastructure"}},"published":"2023-01-03T16:28:00+00:00","updated":"2023-01-03T16:28:00+00:00","id":"https:\/\/cthoyt.com\/2023\/01\/03\/biocuration2023-abstract","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"biocuration"}},{"@attributes":{"term":"philosophy"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Connecting Preprints to Peer-reviewed Articles on Wikidata","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2023\/01\/02\/wikidata-preprints.html","rel":"alternate","type":"text\/html","title":"Connecting Preprints to Peer-reviewed Articles on Wikidata"}},"published":"2023-01-02T18:27:00+00:00","updated":"2023-01-02T18:27:00+00:00","id":"https:\/\/cthoyt.com\/2023\/01\/02\/wikidata-preprints","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"bibliometrics"}},"summary":{"@attributes":{"type":"html"}}},{"title":"Global Core Biodata Resources in the Bioregistry","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2022\/12\/19\/gcbr-in-bioregistry.html","rel":"alternate","type":"text\/html","title":"Global Core Biodata Resources in the Bioregistry"}},"published":"2022-12-19T12:14:00+00:00","updated":"2022-12-19T12:14:00+00:00","id":"https:\/\/cthoyt.com\/2022\/12\/19\/gcbr-in-bioregistry","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"Bioregistry"}},"summary":{"@attributes":{"type":"html"}}},{"title":"A First Look at OpenCheck","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2022\/11\/15\/opencheck.html","rel":"alternate","type":"text\/html","title":"A First Look at OpenCheck"}},"published":"2022-11-15T18:39:00+00:00","updated":"2022-11-15T18:39:00+00:00","id":"https:\/\/cthoyt.com\/2022\/11\/15\/opencheck","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"bibliometrics"}},{"@attributes":{"term":"social media"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Curating Publications on Wikidata","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2022\/02\/12\/wikidata-publications.html","rel":"alternate","type":"text\/html","title":"Curating Publications on Wikidata"}},"published":"2022-02-12T18:10:00+00:00","updated":"2022-02-12T18:10:00+00:00","id":"https:\/\/cthoyt.com\/2022\/02\/12\/wikidata-publications","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"bibliometrics"}},"summary":{"@attributes":{"type":"html"}}},{"title":"You Should Use a Private Email on Publications","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2022\/02\/06\/use-your-personal-email.html","rel":"alternate","type":"text\/html","title":"You Should Use a Private Email on Publications"}},"published":"2022-02-06T21:55:00+00:00","updated":"2022-02-06T21:55:00+00:00","id":"https:\/\/cthoyt.com\/2022\/02\/06\/use-your-personal-email","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"bibliometrics"}},"summary":{"@attributes":{"type":"html"}}},{"title":"Abstracting the parameters of a Machine Learning Model","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2022\/02\/06\/model-abstraction.html","rel":"alternate","type":"text\/html","title":"Abstracting the parameters of a Machine Learning Model"}},"published":"2022-02-06T18:00:00+00:00","updated":"2022-02-06T18:00:00+00:00","id":"https:\/\/cthoyt.com\/2022\/02\/06\/model-abstraction","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"programming"}},{"@attributes":{"term":"machine learning"}},{"@attributes":{"term":"deep learning"}},{"@attributes":{"term":"Python"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Refactoring a Machine Learning Model","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2022\/02\/06\/model-refactoring.html","rel":"alternate","type":"text\/html","title":"Refactoring a Machine Learning Model"}},"published":"2022-02-06T15:45:00+00:00","updated":"2022-02-06T15:45:00+00:00","id":"https:\/\/cthoyt.com\/2022\/02\/06\/model-refactoring","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"programming"}},{"@attributes":{"term":"machine learning"}},{"@attributes":{"term":"deep learning"}},{"@attributes":{"term":"Python"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"The Official Rules of Python Packaging Speedrunning","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2022\/01\/24\/packaging-speedrunning.html","rel":"alternate","type":"text\/html","title":"The Official Rules of Python Packaging Speedrunning"}},"published":"2022-01-24T00:30:00+00:00","updated":"2022-01-24T00:30:00+00:00","id":"https:\/\/cthoyt.com\/2022\/01\/24\/packaging-speedrunning","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"programming"}},"summary":{"@attributes":{"type":"html"}}},{"title":"How to Pick a Unique Prefix","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2021\/12\/17\/unique-prefix-picking.html","rel":"alternate","type":"text\/html","title":"How to Pick a Unique Prefix"}},"published":"2021-12-17T13:17:00+00:00","updated":"2021-12-17T13:17:00+00:00","id":"https:\/\/cthoyt.com\/2021\/12\/17\/unique-prefix-picking","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"semantics"}},"summary":{"@attributes":{"type":"html"}}},{"title":"A Glossary for the Bioregistry and Biopragmatics Stack","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2021\/10\/07\/biopragmatics-glossary.html","rel":"alternate","type":"text\/html","title":"A Glossary for the Bioregistry and Biopragmatics Stack"}},"published":"2021-10-07T13:26:00+00:00","updated":"2021-10-07T13:26:00+00:00","id":"https:\/\/cthoyt.com\/2021\/10\/07\/biopragmatics-glossary","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"semantics"}},"summary":{"@attributes":{"type":"html"}}},{"title":"How to Curate the INDRA Database","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2021\/09\/16\/curating-indra.html","rel":"alternate","type":"text\/html","title":"How to Curate the INDRA Database"}},"published":"2021-09-16T12:30:00+00:00","updated":"2021-09-16T12:30:00+00:00","id":"https:\/\/cthoyt.com\/2021\/09\/16\/curating-indra","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"nlp"}},{"@attributes":{"term":"indra"}},{"@attributes":{"term":"biocuration"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"What\u2019s a CURIE, and Why You Should be Using Them","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2021\/09\/14\/curies.html","rel":"alternate","type":"text\/html","title":"What\u2019s a CURIE, and Why You Should be Using Them"}},"published":"2021-09-14T08:47:00+00:00","updated":"2021-09-14T08:47:00+00:00","id":"https:\/\/cthoyt.com\/2021\/09\/14\/curies","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"semantics"}},{"@attributes":{"term":"CURIEs"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"How to Code with Me - Beyond Linters","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2021\/09\/13\/beyond-linters.html","rel":"alternate","type":"text\/html","title":"How to Code with Me - Beyond Linters"}},"published":"2021-09-13T23:18:00+00:00","updated":"2021-09-13T23:18:00+00:00","id":"https:\/\/cthoyt.com\/2021\/09\/13\/beyond-linters","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"code with me"}},"summary":{"@attributes":{"type":"html"}}},{"title":"Pre-loading a PostgreSQL Docker Container","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2021\/08\/28\/biolookup-docker.html","rel":"alternate","type":"text\/html","title":"Pre-loading a PostgreSQL Docker Container"}},"published":"2021-08-28T14:44:00+00:00","updated":"2021-08-28T14:44:00+00:00","id":"https:\/\/cthoyt.com\/2021\/08\/28\/biolookup-docker","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"docker"}},{"@attributes":{"term":"ontology"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Machine Learning Needs More Generators","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2021\/08\/18\/streaming.html","rel":"alternate","type":"text\/html","title":"Machine Learning Needs More Generators"}},"published":"2021-08-18T11:21:00+00:00","updated":"2021-08-18T11:21:00+00:00","id":"https:\/\/cthoyt.com\/2021\/08\/18\/streaming","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"machine learning"}},"summary":{"@attributes":{"type":"html"}}},{"title":"Organizing the Public Data about a Researcher","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2021\/08\/17\/self-organization.html","rel":"alternate","type":"text\/html","title":"Organizing the Public Data about a Researcher"}},"published":"2021-08-17T11:21:00+00:00","updated":"2021-08-17T11:21:00+00:00","id":"https:\/\/cthoyt.com\/2021\/08\/17\/self-organization","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"bibliometrics"}},"summary":{"@attributes":{"type":"html"}}},{"title":"Reproducibly Loading the ChEMBL Relational Database","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2021\/08\/05\/taming-chembl-sql.html","rel":"alternate","type":"text\/html","title":"Reproducibly Loading the ChEMBL Relational Database"}},"published":"2021-08-05T14:36:00+00:00","updated":"2021-08-05T14:36:00+00:00","id":"https:\/\/cthoyt.com\/2021\/08\/05\/taming-chembl-sql","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"cheminformatics"}},{"@attributes":{"term":"ChEMBL"}},{"@attributes":{"term":"SQL"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Reproducibly Loading the ChEMBL SDF","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2021\/08\/04\/taming-chembl-sdf.html","rel":"alternate","type":"text\/html","title":"Reproducibly Loading the ChEMBL SDF"}},"published":"2021-08-04T12:46:00+00:00","updated":"2021-08-04T12:46:00+00:00","id":"https:\/\/cthoyt.com\/2021\/08\/04\/taming-chembl-sdf","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"cheminformatics"}},{"@attributes":{"term":"ChEMBL"}},{"@attributes":{"term":"SDF"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Tales from the Bonner Ausl\u00e4nderamt","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2021\/07\/26\/tales-from-the-auslaenderamt.html","rel":"alternate","type":"text\/html","title":"Tales from the Bonner Ausl\u00e4nderamt"}},"published":"2021-07-26T12:46:00+00:00","updated":"2021-07-26T12:46:00+00:00","id":"https:\/\/cthoyt.com\/2021\/07\/26\/tales-from-the-auslaenderamt","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"expat"}},"summary":{"@attributes":{"type":"html"}}},{"title":"Pythagorean Mean Rank Metrics","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2021\/04\/19\/pythagorean-mean-ranks.html","rel":"alternate","type":"text\/html","title":"Pythagorean Mean Rank Metrics"}},"published":"2021-04-19T12:46:00+00:00","updated":"2021-04-19T12:46:00+00:00","id":"https:\/\/cthoyt.com\/2021\/04\/19\/pythagorean-mean-ranks","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"pykeen"}},"summary":{"@attributes":{"type":"html"}}},{"title":"Current Perspectives on KGEMs in and out of Biomedicine","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2021\/04\/05\/kgem-perspectives.html","rel":"alternate","type":"text\/html","title":"Current Perspectives on KGEMs in and out of Biomedicine"}},"published":"2021-04-05T12:13:00+00:00","updated":"2021-04-05T12:13:00+00:00","id":"https:\/\/cthoyt.com\/2021\/04\/05\/kgem-perspectives","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"bioinformatics"}},{"@attributes":{"term":"pykeen"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Explaining MCI Conversion with Path Queries to NeuroMMSig","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2021\/02\/23\/cpath-visit.html","rel":"alternate","type":"text\/html","title":"Explaining MCI Conversion with Path Queries to NeuroMMSig"}},"published":"2021-02-23T22:53:00+00:00","updated":"2021-02-23T22:53:00+00:00","id":"https:\/\/cthoyt.com\/2021\/02\/23\/cpath-visit","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"curation"}},{"@attributes":{"term":"bioinformatics"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Adding Structured Data to Docstrings","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2021\/02\/20\/docdata.html","rel":"alternate","type":"text\/html","title":"Adding Structured Data to Docstrings"}},"published":"2021-02-20T20:12:00+00:00","updated":"2021-02-20T20:12:00+00:00","id":"https:\/\/cthoyt.com\/2021\/02\/20\/docdata","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"Python"}},"summary":{"@attributes":{"type":"html"}}},{"title":"Adding New Literature Sources to the Wikidata Integrator","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2021\/01\/23\/updating-the-wikidata-integrator.html","rel":"alternate","type":"text\/html","title":"Adding New Literature Sources to the Wikidata Integrator"}},"published":"2021-01-23T20:12:00+00:00","updated":"2021-01-23T20:12:00+00:00","id":"https:\/\/cthoyt.com\/2021\/01\/23\/updating-the-wikidata-integrator","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"bibliometrics"}},{"@attributes":{"term":"Wikidata"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Organizing the Public Data about your Research Organization","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2021\/01\/17\/organization-organization.html","rel":"alternate","type":"text\/html","title":"Organizing the Public Data about your Research Organization"}},"published":"2021-01-17T18:23:00+00:00","updated":"2021-01-17T18:23:00+00:00","id":"https:\/\/cthoyt.com\/2021\/01\/17\/organization-organization","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"bibliometrics"}},"summary":{"@attributes":{"type":"html"}}},{"title":"How to Code with Me - Wrapping a Flask App in a CLI","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2021\/01\/11\/click-and-flask.html","rel":"alternate","type":"text\/html","title":"How to Code with Me - Wrapping a Flask App in a CLI"}},"published":"2021-01-11T00:14:00+00:00","updated":"2021-01-11T00:14:00+00:00","id":"https:\/\/cthoyt.com\/2021\/01\/11\/click-and-flask","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"code with me"}},"summary":{"@attributes":{"type":"html"}}},{"title":"Pathway Relationships","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2020\/12\/30\/pathway-relationships.html","rel":"alternate","type":"text\/html","title":"Pathway Relationships"}},"published":"2020-12-30T08:00:00+00:00","updated":"2020-12-30T08:00:00+00:00","id":"https:\/\/cthoyt.com\/2020\/12\/30\/pathway-relationships","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"ontology"}},{"@attributes":{"term":"curation"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Making DrugBank Reproducible","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2020\/12\/14\/taming-drugbank.html","rel":"alternate","type":"text\/html","title":"Making DrugBank Reproducible"}},"published":"2020-12-14T08:00:00+00:00","updated":"2020-12-14T08:00:00+00:00","id":"https:\/\/cthoyt.com\/2020\/12\/14\/taming-drugbank","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"reproducibility"}},"summary":{"@attributes":{"type":"html"}}},{"title":"Scoring Inverse Triples","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2020\/12\/11\/inverse-triple-scoring.html","rel":"alternate","type":"text\/html","title":"Scoring Inverse Triples"}},"published":"2020-12-11T08:00:00+00:00","updated":"2020-12-11T08:00:00+00:00","id":"https:\/\/cthoyt.com\/2020\/12\/11\/inverse-triple-scoring","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"knowledge graphs"}},{"@attributes":{"term":"pykeen"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Generating Testing Knowledge Graphs with Literals","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2020\/12\/07\/generating-literal-datasets.html","rel":"alternate","type":"text\/html","title":"Generating Testing Knowledge Graphs with Literals"}},"published":"2020-12-07T08:00:00+00:00","updated":"2020-12-07T08:00:00+00:00","id":"https:\/\/cthoyt.com\/2020\/12\/07\/generating-literal-datasets","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"knowledge graphs"}},{"@attributes":{"term":"pykeen"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Referring to SARS-CoV-2 Proteins in BEL","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2020\/09\/17\/sars-cov-2-proteins-in-bel.html","rel":"alternate","type":"text\/html","title":"Referring to SARS-CoV-2 Proteins in BEL"}},"published":"2020-09-17T00:05:00+00:00","updated":"2020-09-17T00:05:00+00:00","id":"https:\/\/cthoyt.com\/2020\/09\/17\/sars-cov-2-proteins-in-bel","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"curation"}},{"@attributes":{"term":"BEL"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"How to Code with Me - Making a CLI","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2020\/06\/11\/click.html","rel":"alternate","type":"text\/html","title":"How to Code with Me - Making a CLI"}},"published":"2020-06-11T15:48:00+00:00","updated":"2020-06-11T15:48:00+00:00","id":"https:\/\/cthoyt.com\/2020\/06\/11\/click","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"code with me"}},"summary":{"@attributes":{"type":"html"}}},{"title":"The Curation of Neurodegeneration Supporting Ontology","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2020\/06\/09\/conso.html","rel":"alternate","type":"text\/html","title":"The Curation of Neurodegeneration Supporting Ontology"}},"published":"2020-06-09T19:31:00+00:00","updated":"2020-06-09T19:31:00+00:00","id":"https:\/\/cthoyt.com\/2020\/06\/09\/conso","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"curation"}},{"@attributes":{"term":"ontology"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"How to Code with Me - Organizing a Package","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2020\/06\/03\/how-to-code-with-me-organization.html","rel":"alternate","type":"text\/html","title":"How to Code with Me - Organizing a Package"}},"published":"2020-06-03T08:00:00+00:00","updated":"2020-06-03T08:00:00+00:00","id":"https:\/\/cthoyt.com\/2020\/06\/03\/how-to-code-with-me-organization","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"code with me"}},"summary":{"@attributes":{"type":"html"}}},{"title":"A Reading List of Academic Articles using the Biological Expression Language (BEL)","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2020\/05\/22\/bel-papers.html","rel":"alternate","type":"text\/html","title":"A Reading List of Academic Articles using the Biological Expression Language (BEL)"}},"published":"2020-05-22T13:50:00+00:00","updated":"2020-05-22T13:50:00+00:00","id":"https:\/\/cthoyt.com\/2020\/05\/22\/bel-papers","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"BEL"}},"summary":{"@attributes":{"type":"html"}}},{"title":"The Trouble with Ontologies, or, How to Build an Ontology","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2020\/05\/12\/building-an-ontology.html","rel":"alternate","type":"text\/html","title":"The Trouble with Ontologies, or, How to Build an Ontology"}},"published":"2020-05-12T08:00:00+00:00","updated":"2020-05-12T08:00:00+00:00","id":"https:\/\/cthoyt.com\/2020\/05\/12\/building-an-ontology","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"ontology"}},{"@attributes":{"term":"curation"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"A Listing of Publicly Available Content in the Biological Expression Language (BEL)","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2020\/04\/30\/public-bel-content.html","rel":"alternate","type":"text\/html","title":"A Listing of Publicly Available Content in the Biological Expression Language (BEL)"}},"published":"2020-04-30T16:50:00+00:00","updated":"2020-04-30T16:50:00+00:00","id":"https:\/\/cthoyt.com\/2020\/04\/30\/public-bel-content","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"BEL"}},{"@attributes":{"term":"PyBEL"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"An Incomplete History of Selventa and the Biological Expression Language (BEL)","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2020\/04\/28\/history-of-bel.html","rel":"alternate","type":"text\/html","title":"An Incomplete History of Selventa and the Biological Expression Language (BEL)"}},"published":"2020-04-28T08:00:00+00:00","updated":"2020-04-28T08:00:00+00:00","id":"https:\/\/cthoyt.com\/2020\/04\/28\/history-of-bel","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"BEL"}},"summary":{"@attributes":{"type":"html"}}},{"title":"How to Code with Me - Flake8 Hell","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2020\/04\/25\/how-to-code-with-me-flake8.html","rel":"alternate","type":"text\/html","title":"How to Code with Me - Flake8 Hell"}},"published":"2020-04-25T08:00:00+00:00","updated":"2020-04-25T08:00:00+00:00","id":"https:\/\/cthoyt.com\/2020\/04\/25\/how-to-code-with-me-flake8","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"code with me"}},"summary":{"@attributes":{"type":"html"}}},{"title":"Inspector Javert\u2019s Xref Database","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2020\/04\/19\/inspector-javerts-xref-database.html","rel":"alternate","type":"text\/html","title":"Inspector Javert\u2019s Xref Database"}},"published":"2020-04-19T08:00:00+00:00","updated":"2020-04-19T08:00:00+00:00","id":"https:\/\/cthoyt.com\/2020\/04\/19\/inspector-javerts-xref-database","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"mappings"}},"summary":{"@attributes":{"type":"html"}}},{"title":"Ooh Na Na, What\u2019s My Name?","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2020\/04\/18\/ooh-na-na.html","rel":"alternate","type":"text\/html","title":"Ooh Na Na, What\u2019s My Name?"}},"published":"2020-04-18T08:00:00+00:00","updated":"2020-04-18T08:00:00+00:00","id":"https:\/\/cthoyt.com\/2020\/04\/18\/ooh-na-na","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"OBO"}},{"@attributes":{"term":"lexica"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Summarizing ChemRxiv","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2020\/04\/15\/summarizing-chemrxiv.html","rel":"alternate","type":"text\/html","title":"Summarizing ChemRxiv"}},"published":"2020-04-15T08:00:00+00:00","updated":"2020-04-15T08:00:00+00:00","id":"https:\/\/cthoyt.com\/2020\/04\/15\/summarizing-chemrxiv","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"bibliometrics"}},"summary":{"@attributes":{"type":"html"}}},{"title":"How to Fix Your Monolithic Pull Request","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2020\/03\/20\/how-to-fix-your-monolithic-pull-request.html","rel":"alternate","type":"text\/html","title":"How to Fix Your Monolithic Pull Request"}},"published":"2020-03-20T08:00:00+00:00","updated":"2020-03-20T08:00:00+00:00","id":"https:\/\/cthoyt.com\/2020\/03\/20\/how-to-fix-your-monolithic-pull-request","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"code with me"}},"summary":{"@attributes":{"type":"html"}}},{"title":"Host a Graduate Seminar Before Writing Your Thesis","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2020\/02\/09\/seminar-for-thesis-writing.html","rel":"alternate","type":"text\/html","title":"Host a Graduate Seminar Before Writing Your Thesis"}},"published":"2020-02-09T08:00:00+00:00","updated":"2020-02-09T08:00:00+00:00","id":"https:\/\/cthoyt.com\/2020\/02\/09\/seminar-for-thesis-writing","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"doctoral thesis"}},{"@attributes":{"term":"teaching"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Encoding Biology in Knowledge Graphs","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2020\/01\/23\/encoding-biology-in-kgs.html","rel":"alternate","type":"text\/html","title":"Encoding Biology in Knowledge Graphs"}},"published":"2020-01-23T08:00:00+00:00","updated":"2020-01-23T08:00:00+00:00","id":"https:\/\/cthoyt.com\/2020\/01\/23\/encoding-biology-in-kgs","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":{"@attributes":{"term":"knowledge graphs"}},"summary":{"@attributes":{"type":"html"}}},{"title":"Biosemantics vs. Biopragmatics","link":{"@attributes":{"href":"https:\/\/cthoyt.com\/2020\/01\/22\/biosemantics-versus-biopragmatics.html","rel":"alternate","type":"text\/html","title":"Biosemantics vs. Biopragmatics"}},"published":"2020-01-22T08:00:00+00:00","updated":"2020-01-22T08:00:00+00:00","id":"https:\/\/cthoyt.com\/2020\/01\/22\/biosemantics-versus-biopragmatics","content":{"@attributes":{"type":"html"}},"author":{"name":"Charles Tapley Hoyt","email":"cthoyt@gmail.com","uri":"https:\/\/orcid.org\/0000-0003-4423-4370"},"category":[{"@attributes":{"term":"semantics"}},{"@attributes":{"term":"meta"}}],"summary":{"@attributes":{"type":"html"}}}]}