def create_keyword(self, graph, subject): if is_deprecated(graph, subject): return keyword = Keyword(data_source=self.data_source) keyword._created = True keyword.id = get_yso_id(subject) keyword.created_time = BaseModel.now() keyword.aggregate = is_aggregate_concept(graph, subject) self.update_keyword(keyword, graph, subject) return keyword
def save_keywords_in_bulk(self, graph, data_source): keywords = [] for subject in graph.subjects(RDF.type, SKOS.Concept): if is_deprecated(graph, subject): continue keyword = Keyword(data_source=data_source) keyword.aggregate = is_aggregate_concept(graph, subject) keyword.id = self.yso_id(subject) keyword.created_time = BaseModel.now() keyword.last_modified_time = BaseModel.now() for _, literal in graph.preferredLabel(subject): with active_language(literal.language): keyword.name = str(literal) keywords.append(keyword) Keyword.objects.bulk_create(keywords, batch_size=1000)