From 9511af648ea29ad2ee00d4cc079868af414dd103 Mon Sep 17 00:00:00 2001 From: eroux Date: Fri, 2 Sep 2022 17:42:27 +0200 Subject: [PATCH] fix for #187 --- openpecha/buda/api.py | 5 +++++ tests/buda/data/OP_info-W12827.ttl | 7 +++++++ tests/buda/data/expected-W12827.json | 1 + 3 files changed, 13 insertions(+) diff --git a/openpecha/buda/api.py b/openpecha/buda/api.py index dd73b30e..6ab32b64 100644 --- a/openpecha/buda/api.py +++ b/openpecha/buda/api.py @@ -134,7 +134,11 @@ def _res_from_model(g, wlname): break else: res["source_metadata"]["title"] = l.value + res["source_metadata"]["languages"] = set() for _, _, wa in g.triples((mwres, BDO.instanceOf, None)): + for _, _, l in g.triples((wa, BDO.language, None)): + for _, _, lt in g.triples((l, BDO.langBCP47Lang, None)): + res["source_metadata"]["languages"].add(lt.value) for _, _, aac in g.triples((wa, BDO.creator, None)): if (aac, BDO.role, BDR.R0ER0009) or (aac, BDO.role, BDR.R0ER0009) in g: for _, _, p in g.triples((aac, BDO.agent, None)): @@ -144,6 +148,7 @@ def _res_from_model(g, wlname): break else: res["source_metadata"]["author"] = l.value + res["source_metadata"]["languages"] = list(res["source_metadata"]["languages"]) for _, _, ig in g.triples((wres, BDO.instanceHasVolume, None)): iglname = str(ig)[str(ig).rfind('/')+1:] res["image_groups"][iglname] = {} diff --git a/tests/buda/data/OP_info-W12827.ttl b/tests/buda/data/OP_info-W12827.ttl index c8d5bbd9..7440d773 100644 --- a/tests/buda/data/OP_info-W12827.ttl +++ b/tests/buda/data/OP_info-W12827.ttl @@ -62,6 +62,13 @@ bdr:I2071 a bdo:ImageGroup ; bdo:volumePagesTbrcIntro 0 ; bdo:volumePagesTotal 525 . +bdr:LangBo a bdo:Language , owl:Class ; + rdfs:seeAlso , ; + rdfs:subClassOf bdo:Language ; + bdo:langBCP47Lang "bo" ; + bdo:langMARCCode "tib" ; + skos:prefLabel "藏文"@zh-hans , "bod yig"@bo-x-ewts , "Tibetan"@en . + bdr:I2061 a bdo:ImageGroup ; bdo:volumeNumber 1 ; bdo:volumeOf bdr:W12827 ; diff --git a/tests/buda/data/expected-W12827.json b/tests/buda/data/expected-W12827.json index 04463a47..83d1ec25 100644 --- a/tests/buda/data/expected-W12827.json +++ b/tests/buda/data/expected-W12827.json @@ -5,6 +5,7 @@ "access":"http://purl.bdrc.io/admindata/AccessOpen", "reproduction_of":"http://purl.bdrc.io/resource/MW12827", "copyright_status":"http://purl.bdrc.io/resource/CopyrightPublicDomain", + "languages": ["bo"], "title":"སྙིང་ཐིག་ཡ་བཞི།", "author":"ཀློང་ཆེན་རབ་འབྱམས་པ་དྲི་མེད་འོད་ཟེར།", "geo_restriction": ["CN"]