From f7130898fcfe6a0708c3f505300a0f8157ff0ce3 Mon Sep 17 00:00:00 2001 From: Alexander Minges Date: Tue, 20 May 2025 10:04:11 +0200 Subject: [PATCH] Add additional topic metadata fields for OpenAlex integration --- doi2dataset.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/doi2dataset.py b/doi2dataset.py index 02fa6bd..683f4dc 100755 --- a/doi2dataset.py +++ b/doi2dataset.py @@ -1045,8 +1045,15 @@ class CitationBuilder: for topic in self.data.get("topics", []): if topic.get("score") >= 0.8: - if name := topic.get("display_name"): - topics.append([PrimitiveMetadataField("topicClassValue", False, name)]) + + topic_class_value_field = PrimitiveMetadataField("topicClassValue", + False, topic.get("display_name")) + topic_class_vocab_field = PrimitiveMetadataField("topicClassVocab", + False, "OpenAlex") + topic_class_vocab_uri_field = PrimitiveMetadataField( + "topicClassVocabURI", False, topic.get("id")) + + topics.append([topic_class_value_field, topic_class_vocab_field, topic_class_vocab_uri_field]) return topics