Пример #1
0
 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)
Пример #2
0
 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)
Пример #3
0
    def save_keyword(self, syncher, graph, subject, data_source,
                     keyword_labels, save_set):
        keyword = syncher.get(subject)
        if not keyword:
            keyword = Keyword(data_source=self.data_source, url=subject)
            keyword._changed = True
            keyword._created = True
        else:
            keyword._created = False

        for _, literal in graph.preferredLabel(subject):
            with active_language(literal.language):
                if keyword.name != str(literal):
                    keyword.name = str(literal)
                    keyword._changed = True

        if keyword._changed:
            keyword.save()

        keyword.alt_labels.add(keyword_labels.get(str(subject), []))

        if not getattr(keyword, '_found', False):
            syncher.mark(keyword)
        return keyword
Пример #4
0
    def save_keyword(self, syncher, graph, subject, data_source, keyword_labels, save_set):
        keyword = syncher.get(subject)
        if not keyword:
            keyword = Keyword(
                data_source=self.data_source, url=subject)
            keyword._changed = True
            keyword._created = True
        else:
            keyword._created = False

        for _, literal in graph.preferredLabel(subject):
            with active_language(literal.language):
                if keyword.name != str(literal):
                    keyword.name = str(literal)
                    keyword._changed = True

        if keyword._changed:
            keyword.save()

        keyword.alt_labels.add(keyword_labels.get(str(subject), []))

        if not getattr(keyword, '_found', False):
            syncher.mark(keyword)
        return keyword