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
Exemple #2
0
 def getValuespaces(self, response):
     valuespaces = LomBase.getValuespaces(self, response)
     valuespaces.add_value(
         "intendedEndUserRole",
         self.getLRMI("audience.educationalRole", response=response),
     )
     return valuespaces
Exemple #3
0
 def getValuespaces(self, response):
     valuespaces = LomBase.getValuespaces(self, response)
     valuespaces.add_value(
         "learningResourceType",
         self.getLRMI("learningResourceType", response=response),
     )
     return valuespaces
Exemple #4
0
 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
Exemple #5
0
    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
Exemple #11
0
 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
Exemple #13
0
 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
Exemple #17
0
    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
Exemple #18
0
 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
Exemple #21
0
    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
Exemple #23
0
 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