def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) discipline = list( map( lambda x: x["value"], self.get("acf.fachgebiet", json=response.meta["item"]), ) ) valuespaces.add_value("discipline", discipline) lernresourcentyp = self.get("acf.lernresourcentyp", json=response.meta["item"]) if lernresourcentyp: lernresourcentyp = list(map(lambda x: x["value"], lernresourcentyp)) valuespaces.add_value("sourceContentType", lernresourcentyp) category = self.get("acf.category", json=response.meta["item"]) if category: category = list(map(lambda x: x["value"], category)) valuespaces.add_value("toolCategory", category) context = list( map( lambda x: x["value"], self.get("acf.schulform", json=response.meta["item"]), ) ) valuespaces.add_value("educationalContext", context) role = list( map(lambda x: x["value"], self.get("acf.role", json=response.meta["item"])) ) valuespaces.add_value("intendedEndUserRole", role) return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) valuespaces.add_value( "intendedEndUserRole", self.getLRMI("audience.educationalRole", response=response), ) return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) valuespaces.add_value( "learningResourceType", self.getLRMI("learningResourceType", response=response), ) return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) text = response.meta['item'].xpath('systematikpfad//text()').get() for entry in ProcessValuespacePipeline.valuespaces['discipline']: if len(list(filter(lambda x:x['@value'].casefold() in text.casefold(), entry['label']))): valuespaces.add_value('discipline',entry['id']) return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response=response) text = self.get("categories", response=response)[0].split("/")[0] # manual mapping to Mathematik if text == "Mathe": text = "Mathematik" valuespaces.add_value("discipline", text) # for entry in ProcessValuespacePipeline.valuespaces['discipline']: # if len(list(filter(lambda x:x['@value'].casefold() == text.casefold(), entry['label']))): # valuespaces.add_value('discipline',entry['id']) primarySchool = re.compile("Klasse\s[1-4]$", re.IGNORECASE) if len( list( filter(lambda x: primarySchool.match(x), self.getKeywords(response)))): valuespaces.add_value("educationalContext", "Grundschule") sek1 = re.compile("Klasse\s([5-9]|10)$", re.IGNORECASE) if len( list( filter(lambda x: sek1.match(x), self.getKeywords(response)))): valuespaces.add_value("educationalContext", "Sekundarstufe 1") sek2 = re.compile("Klasse\s1[1-2]", re.IGNORECASE) if len( list( filter(lambda x: sek2.match(x), self.getKeywords(response)))): valuespaces.add_value("educationalContext", "Sekundarstufe 2") return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) text = response.meta["item"].xpath("systematikpfad//text()").get() for entry in self.valuespacesMapping.data["discipline"]: if entry["prefLabel"]["de"].casefold() in text.casefold(): valuespaces.add_value("discipline", entry["id"]) return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) valuespaces.add_value("educationalContext", "sekundarstufe_2") valuespaces.add_value("educationalContext", "berufliche_bildung") valuespaces.add_value("educationalContext", "erwachsenenbildung") valuespaces.add_value("discipline", "700") # Wirtschaftskunde valuespaces.add_value("discipline", "48005") # Gesellschaftskunde return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) categories = list( map( lambda x: x["*"], self.get("parse.categories", json=response.meta["item"]), )) if categories: valuespaces.add_value("discipline", categories) valuespaces.add_value("educationalContext", categories) valuespaces.add_value("intendedEndUserRole", categories) return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) discipline = list( map( lambda x: x["code"], filter( lambda x: x["type"] == "subject", response.meta["item"]["metaValues"], ), ) ) valuespaces.add_value("discipline", discipline) return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) # Provide valuespace data. This data will later get automatically mapped # Please take a look at the valuespaces here: # https://vocabs.openeduhub.de/ # You can either use full identifiers or also labels. The system will auto-map them accordingly # Please also checkout the ValuespaceHelper class which provides usefull mappers for common data # valuespaces.add_value('educationalContext', context) # valuespaces.add_value('discipline',discipline) # valuespaces.add_value('learningResourceType', lrt) return valuespaces
def getValuespaces(self, response: Response) -> items.ValuespaceItemLoader: valuespaces = LomBase.getValuespaces(self, response) skos = self.static_values["skos"] valuespaces.add_value( "learningResourceType", skos["learningResourceType"], ) valuespaces.add_value("discipline", skos["discipline"]) valuespaces.add_value("intendedEndUserRole", skos["intendedEndUserRole"]) valuespaces.add_value("educationalContext", skos["educationalContext"]) valuespaces.add_value("toolCategory", skos["toolCategory"]) return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) valuespaces.add_value('discipline', self.get('topics', response = response)) t = self.get('type', response = response) if t == 'ws': valuespaces.add_value('learningResourceType', 'worksheet') if t == 'book': valuespaces.add_value('learningResourceType', 'text') c = self.get('categories', response = response) if 'game' in c: valuespaces.add_value('learningResourceType', 'educational_game') if 'practice' in c: valuespaces.add_value('learningResourceType', 'drill_and_practice') return valuespaces
def getValuespaces(self, response: Response) -> items.ValuespaceItemLoader: valuespaces = LomBase.getValuespaces(self, response) row = response.meta["row"] valuespaces.add_value( "learningResourceType", self.parse_csv_field(row["learningResourceType"]), ) valuespaces.add_value("discipline", self.parse_csv_field(row["discipline"])) valuespaces.add_value( "intendedEndUserRole", self.parse_csv_field(row["intendedEndUserRole"]), ) return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) valuespaces.add_value("discipline", self.get("topics", response=response)) t = self.get("type", response=response) if t == "ws": valuespaces.add_value("learningResourceType", "worksheet") if t == "book": valuespaces.add_value("learningResourceType", "text") c = self.get("categories", response=response) if "game" in c: valuespaces.add_value("learningResourceType", "educational_game") if "practice" in c: valuespaces.add_value("learningResourceType", "drill_and_practice") return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) valuespaces.add_value( "educationalContext", response.meta["row"][CSVBase.COLUMN_EDUCATIONAL_CONTEXT]["list"], ) valuespaces.add_value( "discipline", response.meta["row"][CSVBase.COLUMN_DISCIPLINE]["list"]) valuespaces.add_value( "learningResourceType", response.meta["row"][CSVBase.COLUMN_LEARNING_RESOURCE_TYPE] ["list"], ) return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) discipline = list( map( lambda x: x["value"], self.get("acf.fachgebiet", json=response.meta["item"]), )) valuespaces.add_value("discipline", discipline) lernresourcentyp = self.get("acf.lernresourcentyp", json=response.meta["item"]) if lernresourcentyp: lernresourcentyp = list(map(lambda x: x["value"], lernresourcentyp)) valuespaces.add_value("sourceContentType", lernresourcentyp) category = self.get("acf.category", json=response.meta["item"]) if category: category = list(map(lambda x: x["value"], category)) valuespaces.add_value("toolCategory", category) context = list( map( lambda x: x["value"], self.get("acf.schulform", json=response.meta["item"]), )) valuespaces.add_value("educationalContext", context) role = list( map(lambda x: x["value"], self.get("acf.role", json=response.meta["item"]))) valuespaces.add_value("intendedEndUserRole", role) self.addValuespace(valuespaces, 'conditionsOfAccess', 'acf.nutzung', response) valuespaces.add_value( "containsAdvertisement", 'yes' if self.get( 'acf.advertisment', json=response.meta['item']) else 'no') self.addValuespace(valuespaces, 'price', 'acf.costs', response) self.addValuespace(valuespaces, 'accessibilitySummary', 'acf.accessibility', response) self.addValuespace(valuespaces, 'dataProtectionConformity', 'acf.dsgvo', response) self.addValuespace(valuespaces, 'oer', 'acf.licence', response) return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) record = response.xpath('//OAI-PMH/GetRecord/record') lrts = record.xpath( 'metadata/lom/educational/learningResourceType/value//text()' ).getall() valuespaces.add_value('learningResourceType', lrts) ier = record.xpath( 'metadata/lom/educational/intendedEndUserRole/value//text()' ).getall() valuespaces.add_value('intendedEndUserRole', ier) context = record.xpath( 'metadata/lom/educational/context/value//text()').getall() valuespaces.add_value('educationalContext', context) taxonIds = record.xpath( 'metadata/lom/classification/taxonPath/taxon/id//text()').getall() valuespaces.add_value('discipline', taxonIds) return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) discipline = list( map(lambda x: x['value'], self.get('acf.fachgebiet', json=response.meta['item']))) valuespaces.add_value('discipline', discipline) sourceContentType = list( map(lambda x: x['value'], self.get('acf.lernresourcentyp', json=response.meta['item']))) valuespaces.add_value('sourceContentType', sourceContentType) context = list( map(lambda x: x['value'], self.get('acf.schulform', json=response.meta['item']))) valuespaces.add_value('educationalContext', context) role = list( map(lambda x: x['value'], self.get('acf.role', json=response.meta['item']))) valuespaces.add_value('intendedEndUserRole', role) return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) bildungsebene = response.xpath("/data/bildungsebene/text()").get() if bildungsebene is not None: valuespaces.add_value("intendedEndUserRole", bildungsebene.split(";")) # Use the dictionary when it is easier. element_dict = response.meta["item"] if len(response.xpath("/data/fach/*")) > 0: element_dict = response.meta["item"] discipline = list(element_dict["fach"].values())[0] valuespaces.add_value("discipline", discipline) # Consider https://vocabs.openeduhub.de/w3id.org/openeduhub/vocabs/learningResourceType/index.html ressource = element_dict[ "ressource"] if "ressource" in element_dict else None if ressource is not None and len(ressource) > 0: if "data" in element_dict["ressource"]: resource_types = element_dict["ressource"]["data"] if isinstance(resource_types, str): resource_types = [resource_types] else: resource_types = element_dict["ressource"].values() # Convert non-LOM (not known to OEH) resource types, to LOM resource types. merlin_to_oeh_types = { "Film": "video", "Menü": "Menu", "Weiteres_Material": "Anderes Material", "Diagramm": "Veranschaulichung", } resource_types = [ merlin_to_oeh_types[rt] if rt in merlin_to_oeh_types else rt.lower() for rt in resource_types ] valuespaces.add_value("learningResourceType", resource_types) return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) valuespaces.add_value("discipline", self.getProperty("ccm:taxonid", response)) valuespaces.add_value( "intendedEndUserRole", self.getProperty("ccm:educationalintendedenduserrole", response), ) valuespaces.add_value( "educationalContext", self.getProperty("ccm:educationalcontext", response)) valuespaces.add_value( "learningResourceType", self.getProperty("ccm:educationallearningresourcetype", response), ) valuespaces.add_value( "sourceContentType", self.getProperty("ccm:sourceContentType", response)) valuespaces.add_value("toolCategory", self.getProperty("ccm:toolCategory", response)) return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) try: valuespaces.add_value( 'discipline', list( map(lambda x: self.categories[x], response.meta["item"].xpath("@category").getall()))) except: pass valuespaces.add_value('learningResourceType', 'Lernspiel') valuespaces.add_value('learningResourceType', 'Website') levels = int(response.meta["item"].xpath("@levels").get()) if levels & 1: valuespaces.add_value('educationalContext', 'Primarstufe') if levels & 4: valuespaces.add_value('educationalContext', 'Sekundarstufe I') if levels & 8: valuespaces.add_value('educationalContext', 'Sekundarstufe II') return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) discipline = list(map(lambda x: x['code'],filter(lambda x: x['type'] == 'subject', response.meta['item']['metaValues']))) valuespaces.add_value('discipline', discipline) return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) return valuespaces
def getValuespaces(self, response): valuespaces = LomBase.getValuespaces(self, response) valuespaces.add_value("discipline", "Geschichte") return valuespaces