示例#1
0
 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 yso_keyword():
    for kw, ids in YSO_KEYWORD_MAPS.items():
        if not isinstance(ids, tuple):
            ids = (ids, )
        for id_ in ids:
            kwargs = {
                'id': 'yso:%s' % id_,
                'origin_id': id_,
                'data_source_id': 'yso',
                'name': kw,
            }
            keyword = Keyword(**kwargs)
            keyword.save()
def yso_keyword():
    for kw, ids in YSO_KEYWORD_MAPS.items():
        if not isinstance(ids, tuple):
            ids = (ids,)
        for id_ in ids:
            kwargs = {
                'id': 'yso:%s' % id_,
                'origin_id': id_,
                'data_source_id': 'yso',
                'name': kw,
            }
            keyword = Keyword(**kwargs)
            keyword.save()
示例#4
0
 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
示例#5
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)
示例#6
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
示例#7
0
文件: yso.py 项目: 6aika/linkedevents
 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)
示例#8
0
文件: yso.py 项目: 6aika/linkedevents
    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