Beispiel #1
0
 def get_predicate_link_annotations(self):
     """ Gets the link data annotations for predicates used on a table """
     auth = Authorship()
     for pred_uuid, pred in self.predicate_uuids.items():
         la_s = LinkAnnotation.objects\
                              .filter(subject=pred_uuid)
         if len(la_s) > 0:
             self.predicate_uuids[pred_uuid]['annotations'] = []
             self.predicate_uuids[pred_uuid]['ld-equiv'] = []
         for la in la_s:
             link_anno = {'pred': la.predicate_uri,
                          'obj': la.object_uri}
             self.predicate_uuids[pred_uuid]['annotations'].append(link_anno)
             if la.predicate_uri in self.EQUIV_PREDICATES:
                 authorship = auth.check_authorship_object(la.object_uri)
                 if authorship is False:  # only keep predicates not related to authorship
                     pred_ld_equiv_uri = la.object_uri  # the object_uri is equivalent to
                                                        # the predicate_uuid
                     self.predicate_uuids[pred_uuid]['ld-equiv'].append(pred_ld_equiv_uri)
                     if la.object_uri not in self.ld_predicates:
                         pred_equiv_label = self.deref_entity_label(pred_ld_equiv_uri)
                         self.ld_predicates[pred_ld_equiv_uri] = {'uuids': [pred_uuid],
                                                                  'obj_uuids': {},
                                                                  'obj_uris': [],
                                                                  'label': pred_equiv_label}
                     else:
                         self.ld_predicates[pred_ld_equiv_uri]['uuids'].append(pred_uuid)
     return self.ld_predicates
Beispiel #2
0
 def get_predicate_link_annotations(self):
     """ Gets the link data annotations for predicates used on a table """
     auth = Authorship()
     for pred_uuid, pred in self.predicate_uuids.items():
         la_s = LinkAnnotation.objects\
                              .filter(subject=pred_uuid)
         if len(la_s) > 0:
             self.predicate_uuids[pred_uuid]['annotations'] = []
             self.predicate_uuids[pred_uuid]['ld-equiv'] = []
         for la in la_s:
             link_anno = {'pred': la.predicate_uri, 'obj': la.object_uri}
             self.predicate_uuids[pred_uuid]['annotations'].append(
                 link_anno)
             if la.predicate_uri in self.EQUIV_PREDICATES:
                 authorship = auth.check_authorship_object(la.object_uri)
                 if authorship is False:  # only keep predicates not related to authorship
                     pred_ld_equiv_uri = la.object_uri  # the object_uri is equivalent to
                     # the predicate_uuid
                     self.predicate_uuids[pred_uuid]['ld-equiv'].append(
                         pred_ld_equiv_uri)
                     if la.object_uri not in self.ld_predicates:
                         pred_equiv_label = self.deref_entity_label(
                             pred_ld_equiv_uri)
                         self.ld_predicates[pred_ld_equiv_uri] = {
                             'uuids': [pred_uuid],
                             'obj_uuids': {},
                             'obj_uris': [],
                             'label': pred_equiv_label
                         }
                     else:
                         self.ld_predicates[pred_ld_equiv_uri][
                             'uuids'].append(pred_uuid)
     return self.ld_predicates