Skip to content

Commit

Permalink
Fixed the issues revealed by the failing unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
mdorf committed Oct 21, 2024
1 parent dec2e78 commit 0dd23bf
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 22 deletions.
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,5 @@ group :development do
gem 'rubocop', require: false
end
# NCBO gems (can be from a local dev path or from rubygems/git)
gem 'goo', github: 'ncbo/goo', branch: 'develop'
gem 'goo', github: 'ncbo/goo', branch: 'multilingual_preflabels'
gem 'sparql-client', github: 'ncbo/sparql-client', branch: 'develop'
20 changes: 11 additions & 9 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
GIT
remote: https://github.com/ncbo/goo.git
revision: 74a012eebb9433d031eb00df5abbe488cb8b4512
branch: develop
revision: d6b84e12d61317dbddc1b86cb1451acb37915369
branch: multilingual_preflabels
specs:
goo (0.0.2)
addressable (~> 2.8)
Expand Down Expand Up @@ -37,6 +37,7 @@ GEM
public_suffix (>= 2.0.2, < 7.0)
ansi (1.5.0)
ast (2.4.2)
base64 (0.2.0)
bcrypt (3.1.20)
bigdecimal (3.1.8)
builder (3.3.0)
Expand All @@ -55,9 +56,11 @@ GEM
launchy (>= 2.1, < 4.0)
mail (~> 2.7)
eventmachine (1.2.7)
faraday (1.2.0)
multipart-post (>= 1.2, < 3)
ruby2_keywords
faraday (2.8.1)
base64
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-net_http (3.0.2)
ffi (1.17.0)
hashie (5.0.0)
htmlentities (4.3.4)
Expand Down Expand Up @@ -94,9 +97,8 @@ GEM
minitest (>= 2.12, < 5.0)
powerbar
multi_json (1.15.0)
multipart-post (2.4.1)
net-http-persistent (2.9.4)
net-imap (0.4.16)
net-imap (0.4.17)
date
net-protocol
net-pop (0.1.2)
Expand Down Expand Up @@ -125,7 +127,7 @@ GEM
method_source (~> 1.0)
public_suffix (5.1.1)
racc (1.8.1)
rack (2.2.9)
rack (2.2.10)
rack-test (0.8.3)
rack (>= 1.0, < 3)
rainbow (3.1.1)
Expand All @@ -148,7 +150,7 @@ GEM
rsolr (2.6.0)
builder (>= 2.1.2)
faraday (>= 0.9, < 3, != 2.0.0)
rubocop (1.66.1)
rubocop (1.67.0)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,16 @@ def process(logger, options = {})

def handle_missing_labels(file_path, logger)
callbacks = {




include_languages: true,





missing_labels: {
op_name: 'Missing Labels Generation',
required: true,
Expand Down Expand Up @@ -189,21 +198,24 @@ def generate_missing_labels_pre_page(artifacts = {}, logger, paging, page_classe

def generate_missing_labels_each(artifacts = {}, logger, paging, page_classes, page, c)
prefLabel = nil
portal_lang = Goo.portal_language
prefLabel_lang = c.prefLabel(include_languages: true)
no_default_prefLabel = prefLabel_lang.nil? || (prefLabel_lang.keys & [portal_lang, :none]).empty?

if c.prefLabel.nil?
if prefLabel_lang.nil? || no_default_prefLabel
lang_rdfs_labels = c.label(include_languages: true)
lang_rdfs_labels = {none: []} if lang_rdfs_labels.empty?
lang_rdfs_labels = {none: []} if lang_rdfs_labels.to_a.empty? ||
(no_default_prefLabel && (lang_rdfs_labels.keys & [portal_lang, :none]).empty?)

lang_rdfs_labels&.each do |lang, rdfs_labels|
lang_rdfs_labels.each do |lang, rdfs_labels|
if rdfs_labels && rdfs_labels.length > 1 && c.synonym.length > 0
rdfs_labels = (Set.new(c.label) - Set.new(c.synonym)).to_a.first

rdfs_labels = c.label if rdfs_labels.nil? || rdfs_labels.length == 0
end

rdfs_labels = [rdfs_labels] if rdfs_labels and not (rdfs_labels.instance_of? Array)
label = nil

label = nil
if rdfs_labels && rdfs_labels.length > 0
# this sort is needed for a predictable label selection
label = rdfs_labels.sort[0]
Expand All @@ -215,13 +227,15 @@ def generate_missing_labels_each(artifacts = {}, logger, paging, page_classes, p
lang = nil
prefLabel = label
end
prefLabel = label if !prefLabel && lang === Goo.portal_language
prefLabel = label if !prefLabel && lang === portal_lang
prefLabel = label unless prefLabel
artifacts[:label_triples] << LinkedData::Utils::Triples.label_for_class_triple(
c.id, Goo.vocabulary(:metadata_def)[:prefLabel], label, lang)
c.id, Goo.vocabulary(:metadata_def)[:prefLabel], prefLabel, lang)
end
else
elsif prefLabel_lang
prefLabel = c.prefLabel
else
prefLabel = LinkedData::Utils::Triples.last_iri_fragment c.id.to_s
end

if @submission.ontology.viewOf.nil?
Expand Down
5 changes: 3 additions & 2 deletions test/data/ontology_files/BRO_v3.2.owl
Original file line number Diff line number Diff line change
Expand Up @@ -642,6 +642,7 @@
<owl:Class rdf:about="&activity;Biospecimen_Management">
<rdfs:subClassOf rdf:resource="&activity;Activity"/>
<desc:definition rdf:datatype="&xsd;string">Activity related to the creation, use, or maintenance of a biorepository (http://en.wikipedia.org/wiki/Biorepository)</desc:definition>
<rdfs:label xml:lang="fr">Gestion des échantillons biologiques</rdfs:label>
<core:prefLabel xml:lang="fr">Biospecimen Management</core:prefLabel>
</owl:Class>

Expand All @@ -652,7 +653,7 @@
<owl:Class rdf:about="&activity;Community_Engagement">
<rdfs:subClassOf rdf:resource="&activity;Activity"/>
<desc:definition rdf:datatype="&xsd;string">As defined in http://en.wikipedia.org/wiki/Community_engagement</desc:definition>
<core:prefLabel rdf:datatype="&xsd;string">Community Engagement</core:prefLabel>
<core:prefLabel xml:lang="fr">Engagement communautaire</core:prefLabel>
</owl:Class>


Expand All @@ -672,7 +673,7 @@
<owl:Class rdf:about="&activity;Gene_Therapy">
<rdfs:subClassOf rdf:resource="&activity;Therapeutics"/>
<desc:definition rdf:datatype="&xsd;string">As defined in http://en.wikipedia.org/wiki/Gene_therapy</desc:definition>
<core:prefLabel rdf:datatype="&xsd;string">Gene Therapy</core:prefLabel>
<rdfs:label xml:lang="fr">Thérapie génique</rdfs:label>
</owl:Class>


Expand Down
2 changes: 0 additions & 2 deletions test/models/test_ontology_submission.rb
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,6 @@ def test_generate_language_preflabels
submission_parse("D3OTEST", "DSMZ Digital Diversity Ontology Test",
"./test/data/ontology_files/d3o.owl", 1,
process_rdf: true, index_search: true, extract_metadata: false)

res = LinkedData::Models::Class.search("prefLabel_en:Anatomic Structure", {:fq => "submissionAcronym:D3OTEST", :start => 0, :rows => 100})
refute_equal 0, res["response"]["numFound"]
refute_nil res["response"]["docs"].select{|doc| doc["resource_id"].eql?('https://purl.dsmz.de/schema/AnatomicStructure')}.first
Expand Down Expand Up @@ -1190,7 +1189,6 @@ def test_submission_extract_metadata
end
end


def test_submission_delete_remove_files
#This one has resources wih accents.
submission_parse("ONTOMATEST",
Expand Down

0 comments on commit 0dd23bf

Please sign in to comment.