src/p4l/management/commands/import_record.py
changeset 25 9d1f73118faa
parent 14 52fa6990e0bb
child 97 12bbec897e48
child 101 71532a54d1c4
equal deleted inserted replaced
20:fa466993084a 25:9d1f73118faa
   159         self.add_to_related_collection(
   159         self.add_to_related_collection(
   160             record.periodicals,
   160             record.periodicals,
   161             graph, 
   161             graph, 
   162             ['label','lang'],
   162             ['label','lang'],
   163             "SELECT DISTINCT ?o  ( lang(?o) as ?l) WHERE { ?s iiep:periodical ?o .}",
   163             "SELECT DISTINCT ?o  ( lang(?o) as ?l) WHERE { ?s iiep:periodical ?o .}",
   164             bindings={'s':URIRef(record.uri)},
   164             bindings={'s':URIRef(record.uri)}
   165             through_fields = ['lang']
       
   166         )
   165         )
   167 
   166 
   168         self.add_to_related_collection(
   167         self.add_to_related_collection(
   169             record.meetings,
   168             record.meetings,
   170             graph, 
   169             graph, 
   171             ['label', 'meetingNumber', 'meetingPlace', 'meetingDate', 'meetingYear', 'lang'],
   170             ['label', 'meetingNumber', 'meetingPlace', 'meetingDate', 'meetingYear', 'lang'],
   172             "SELECT ?l ?mn ?mp ?md ?my (lang(COALESCE(?l,?nm, ?mp,?md,?my)) as ?lang) WHERE { [iiep:meeting ?bnode]. OPTIONAL { ?bnode rdfs:label ?l }. OPTIONAL { ?bnode iiep:meetingNumber ?mn }. OPTIONAL { ?bnode iiep:meetingPlace ?mp }.  OPTIONAL { ?bnode iiep:meetingDate ?md }. OPTIONAL { ?bnode iiep:meetingYear ?my }}",
   171             "SELECT ?l ?mn ?mp ?md ?my (lang(COALESCE(?l,?nm, ?mp,?md,?my)) as ?lang) WHERE { [iiep:meeting ?bnode]. OPTIONAL { ?bnode rdfs:label ?l }. OPTIONAL { ?bnode iiep:meetingNumber ?mn }. OPTIONAL { ?bnode iiep:meetingPlace ?mp }.  OPTIONAL { ?bnode iiep:meetingDate ?md }. OPTIONAL { ?bnode iiep:meetingYear ?my }}",
   173             convert={'meetingYear' : lambda y: int(y) if y is not None else None},
   172             convert={'meetingYear' : lambda y: int(y) if y is not None else None}
   174             through_fields = ['lang']
       
   175         )
   173         )
   176 
   174 
   177         self.add_to_related_collection(
   175         self.add_to_related_collection(
   178             record.series,
   176             record.series,
   179             graph, 
   177             graph, 
   180             ['title', 'volume', 'lang'],
   178             ['title', 'volume', 'lang'],
   181             "SELECT ?t ?vol (lang(COALESCE(?t,?vol)) as ?lang) WHERE { [iiep:serie ?bnode]. OPTIONAL { ?bnode dct:title ?t }. OPTIONAL { ?bnode iiep:volume ?vol } }",
   179             "SELECT ?t ?vol (lang(COALESCE(?t,?vol)) as ?lang) WHERE { [iiep:serie ?bnode]. OPTIONAL { ?bnode dct:title ?t }. OPTIONAL { ?bnode iiep:volume ?vol } }",
   182             through_fields = ['lang']
       
   183         )
   180         )
   184 
   181 
   185         self.add_to_related_collection(
   182         self.add_to_related_collection(
   186             record.subjectCorporateBodies,
   183             record.subjectCorporateBodies,
   187             graph,
   184             graph,